C大作业坦克大战.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C大作业坦克大战

#includeiostream#includestdlib.h#includewindows.h#includetime.h#includeconio.husing namespace std;HANDLE Mutex=CreateMutex(NULL,FALSE,NULL);//互斥对象int GameOver=0;int level=0;int map[23][23];//坦克种类,Normal为玩家坦克#define Normal 0#define Red 1#define Blue 2#define Green 3//方向的宏定义#define Up 0#define Down 1#define Left 2#define Right 3//地图标记的宏定义#define Empty 0#define Player 1#define PlayerBullet 2#define EnemyBullet 3#define Enemy 4int Kill;int KillRed;int KillGreen;int EnemyExist;void SetPos(int i,int j)//设定光标位置{COORD pos={i,j};HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(Out, pos);}void HideCurSor(void)//隐藏光标{CONSOLE_CURSOR_INFO info={1,0};HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorInfo(Out,info);}int sharp[4][12]={{0,1,1,0,1,1,1,2,2,0,2,2},{0,0,0,2,1,0,1,1,1,2,2,1},{0,1,0,2,1,0,1,1,2,1,2,2},{0,0,0,1,1,1,1,2,2,0,2,1},};//此数组用来保存坦克各个方向的形状信息DWORD WINAPI Bulletfly(LPVOID lpParameter);//子弹函数申明void Updata();//更新界面信息函数申明class Tank//坦克类{private:int Direction;//方向int hotpoint[2];//活动点int Speed;//速度int FirePower;//火力public:Tank(int dir,int hot1,int hot2,int typ,int spe,int firepow)//构造函数{Direction=dir;hotpoint[0]=hot1;hotpoint[1]=hot2;Type=typ;Speed=spe;FirePower=firepow;}int Type;//坦克的种类(详见宏定义)int ID;//坦克在MAP中的标记(详见宏定义)int FireEnable;//是否可以开火int Life;//生命值void Running();//运行函数int Judge(int x,int y,int ID);//判断是否可以绘制坦克void DrawTank();//重绘坦克void Redraw();//擦除坦克int GetSpeed()//获取速度{return Speed;}int GetFire()//获取火力{return FirePower;}int GetDirection()//获取方向{return Direction;}int GetHotX()//获取活动点坐标{return hotpoint[0];}int GetHotY(){return hotpoint[1];}void IncreaseFire()//火力+{FirePower++;}void IncreaseSpeed()//速度+{Speed++;}void ChangeDirection(int newD)//改变方向{Direction=newD;}void ChangePos(int x,int y)//改变活动点{hotpoint[0]=x;hotpoint[1]=y;}};Tank player(Right,0,0,Normal,1,1);//玩家Tank enemy(Left,20,0,Red,1,1);//敌人void Tank::DrawTank()//绘制坦克{ int i; int nx,ny; if(Type==Red)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSI

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档