• 大小: 487KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: C/C++
  • 标签: 三国杀  C++  

资源简介

采用C++开发的基于控制台的应用程序. 完成三国杀部分基本功能:杀,闪,桃,无中生有,过河拆桥,无懈可击,顺手牵羊,诸葛连弩,青釭剑,+1马,-1马. 三国杀最复杂之处在于逻辑性直观但是很不好把握.

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “card.h“
#include “heap.h“
#include “util.h“

//Card

ostream& operator<<(ostream &outCard &cd)
{
char *cl[]={“““黑桃““红心““梅花““方片“};
out<<“[“< if(cd.value==1)  out<<“A“;
else  out< cout<<“]“;
return out;
}

//Equipment

Equipment::Equipment()
{
for(int i=0;i<4;i++)
equip[i]=NULL;
}
Equipment::~Equipment()
{
for(int i=0;i<4;i++)
delete equip[i];
}
ostream& operator<<(ostream &outEquipment &eq)
{
out<<“[装备]:  “;
for(int i=0;i<4;i++)
{
out< if(eq[i]!=NULL)
out<<*(eq[i]);
out<<“  “;
}
return out;
}
void Equipment::add(Card* cd)
{
int k;
switch(cd->type)
{
case 7:
case 8: k=0; break;
case 9:
case 10: k=1; break;
case 11: k=2; break;
case 12: k=3; break;
default: return;
}
//如果装备区原本有牌则需收集
if(equip[k]!=NULL)
hp.collect(equip[k]);
equip[k]=cd;
}
void Equipment::remove(int kbool bring)
{
//如果不是顺手则收集
if(!bring)
hp.collect(equip[k]);
equip[k]=NULL;
}
int Equipment::count()
{
int cn=0;
for(int i=0;i<4;i++)
if(equip[i]!=NULL)
cn++;
return cn;
}
bool Equipment::has(int type)
{
for(int i=0;i<4;i++)
if(equip[i]!=NULL&&equip[i]->type==type)
return true;
return false;
}
Card* Equipment::operator[](int k)
{
return equip[k];
}

//Hand

Hand::Hand()
{
top=0;
for(int i=0;i<10;i++)
hand[i]=NULL;
}
Hand::~Hand()
{
for(int i=0;i<10;i++)
delete hand[i];
}
ostream& operator<<(ostream &outHand &hd)
{
out<<“[手牌]:“< for(int i=0;i {
out< if((i+1)%4==0)
cout< }
return out;
}
void Hand::add(Card* cd)
{
hand[top]=cd;
top++;
}
void Hand::remove(int kbool bring)
{
int last=top-1;
if(!bring)
hp.collect(hand[k]);
hand[k]=hand[last];
hand[last]=NULL;
top--;
}
int Hand::count()
{
return top;
}
int Hand::has(int type)
{
for(int i=0;i if(hand[i]->type==type)
{
return i;
}
return -1;
}
Card* Hand::operator[](int k)
{
return hand[k];
}

//People

People::People(char *chbool _me)
{
life=max_life=4;
strcpy_s(namech);
me=_me;
}
void People::disp()
{
int y=0yy=getY();
if(!me)  y=7;
clear(y5);  gotoxy(y);
cout< cout< gotoxy(yy);
}
void People::entry(People &other)
{
first=true;
cal_dis(other);
}
void People::cal_dis(People &other)
{
int ki=1br=1;
//我有青釭剑
if(eq.has(8))  ki++;
//他有+1马
if(other.eq.has(11))
{
ki--;
br--;
}
//我有-1马
if(eq.has(12))
{ ki++;
br++;
}
bkill=(ki>=1)?true:false;
bring=(br>=1)?true:false;
}
//0=无  1=仅装备  2=仅手牌  3=都有
int People::cards()
{
int cn=0;
if(eq.count()>0)  cn += 1;
if(hd.co

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-01-06 13:29  三国杀\
     目录           0  2012-01-06 13:29  三国杀\Debug\
     文件      104448  2012-01-06 13:26  三国杀\Debug\三国杀.exe
     目录           0  2012-01-06 12:18  三国杀\ipch\
     目录           0  2012-01-06 12:18  三国杀\ipch\三国杀-b3493956\
     文件     2359296  2012-01-06 13:18  三国杀\ipch\三国杀-b3493956\三国杀-26ca9512.ipch
     目录           0  2012-01-04 12:51  三国杀\三国杀\
     文件         894  2012-01-03 13:00  三国杀\三国杀.sln
     文件       17920  2012-01-06 13:29  三国杀\三国杀.suo
     文件       11314  2012-01-06 13:26  三国杀\三国杀\card.cpp
     文件        2034  2012-01-06 13:10  三国杀\三国杀\card.h
     目录           0  2012-01-06 13:28  三国杀\三国杀\Debug\
     文件        2168  2012-01-06 13:28  三国杀\三国杀\Debug\三国杀.Build.CppClean.log
     文件        1856  2012-01-05 18:33  三国杀\三国杀\heap.cpp
     文件         584  2012-01-06 13:07  三国杀\三国杀\heap.h
     文件        1567  2012-01-03 13:00  三国杀\三国杀\ReadMe.txt
     文件         490  2012-01-06 12:54  三国杀\三国杀\sgs.txt
     文件         211  2012-01-03 13:00  三国杀\三国杀\stdafx.cpp
     文件         233  2012-01-03 13:00  三国杀\三国杀\stdafx.h
     文件         236  2012-01-03 13:00  三国杀\三国杀\targetver.h
     文件        1254  2012-01-06 13:10  三国杀\三国杀\util.h
     文件         161  2012-01-05 18:00  三国杀\三国杀\三国杀.cpp
     文件        4554  2012-01-04 12:52  三国杀\三国杀\三国杀.vcxproj
     文件        1747  2012-01-04 12:52  三国杀\三国杀\三国杀.vcxproj.filters
     文件         143  2012-01-03 13:00  三国杀\三国杀\三国杀.vcxproj.user
     文件         402  2012-01-06 13:36  三国杀\说明.txt

评论

共有 条评论