网站大量收购闲置独家精品文档,联系QQ:2885784924

c语言编写坦克大战源代码.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言编写坦克大战源代码

#include tank.h #include ConOperator.h #include time.h #include windows.h #include conio.h #include iostream using namespace std; TankGame::TankGame(int w, int h) { // 设定当前关数 no = 1; // 设定游戏整体高宽 wide = w; high = h; HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); COORD sizePos = {2 * wide, high}; SetConsoleScreenBufferSize(hStdOut, sizePos); // 分配游戏空间状态表 gameSpace = new GameSpace*[high]; for (int i = 0; i != high; i++) gameSpace[i] = new GameSpace[wide]; // 添加围墙 wall = new Wall(gameSpace, wide, high); wall-draw(); } void TankGame::load_init() { // 初始化游戏空间 for (int y = 1; y != high-1; y++) { for (int x = 1; x != wide-1; x++) { gameSpace[y][x].have = false; gameSpace[y][x].kind = 0; gameSpace[y][x].no = 0; } } // 添加地图 map.load(gameSpace, no); // 初始化自己坦克 me.init_xy(); me.trans_direction(1); me.set_no(0); me.init_move(gameSpace, wide / 2 - 2, high - 5); // 按顺序诞生敌人坦克 creatPlace = 0; for (int i = 0; i != 3; i++) { freezeTime[i] = REBIRTHTIME; enemy[i].init_xy(); enemy[i].set_kind(2); enemy[i].set_no(i+1); reset(enemy[i]); } // 数目初始化 leftCount = 17; existCount = 3; // 显示图片 me.draw_tank(); for (int i = 0; i != 3; i++) enemy[i].draw_tank(); map.draw(); } TankGame::~TankGame() { if (wall) delete wall; if (gameSpace) { for (int i = 0; i != high; i++) delete[] gameSpace[i]; delete[] gameSpace; } } void TankGame::reset(Tank tank) { bool success = false; int t = 3; while (t !success) { creatPlace++; if (creatPlace == 4) creatPlace = 1; // 诞生地点选择 switch (creatPlace) { case 1: tank.trans_direction(3); //朝下 if (tank.reset(gameSpace,1,1)) success = true; break; case 2: tank.trans_direction(3); if (tank.reset(gameSpace,wide / 2 - 2, 1)) success = true; break; case 3: tank.trans_direction(3); if (tank.reset(gameSpace,wide - 4, 1)) success = true; break; } if (!success) t--; } } void TankGame::start() { char command; enter_pictur

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档