c语言坦克大战源代码vc 6.0,c语言编写坦克大战源代码.doc
c语言编写坦克大战源代码
#include "tank.h"
#include "ConOperator.h"
#include
#include
#include
#include
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 comman
c语言坦克大战源代码vc 6.0,c语言编写坦克大战源代码.doc相关推荐
- c语言大作业俄罗斯方块,VC++ 6.0 C语言实现俄罗斯方块详细教程
今天把我之前写的大作业分享一下吧,并教你们如何实现,希望你们看了前面的教程也能自己写一个. 1.要先下载一个 graphics.h 的头文件来绘图. 2.初始化窗口:initgraph(x, y);这 ...
- 有关VC++6.0 C语言编译得到的.exe文件图标修改
在写了很多的C语言代码后,每次的得到的图标都是这个:.当然也就厌倦了,如何去修改呢? 第一步:自己做或者网上下载自己需要的ico图标. 第二步:VC++6.0的工程--->增加到工程---> ...
- c语言 连通域算法 递归,VC++ 6.0编写计算机图形学中的种子填充算法,想用递归的八向连通域,求助!...
VC++ 6.0编写计算机图形学中的种子填充算法,想用递归的八向连通域,求助!0 填充函数代码如下: void CComputerGraphicsView::PolygonFill2()//区域填充函 ...
- c语言double变量后面几个0,C语言double型变量的初始化到底是是0还是0.0?
0和0.0没有区别. C语言编程时常量写为0时,系统默认其是一个整型常量int,写0.0时系统默认其是双精度浮点型常量double. 在定义局部变量时不赋值的话,则对静态变量来说,编译时自动赋初值0或 ...
- c语言double保留2位小数0,c语言 double类型保留小数问题
c语言 double类型保留小数问题0 落寞的夕阳A2015.12.29浏览164次分享举报 用户输入希望保留小数的位数,1到16,怎么实现 int main(){ double a = 1.1234 ...
- vc 编译c语言时出错,在vc++里输入c语言空函数,为什么编译没错,连接出错?
在vc++里输入c语言空函数,为什么编译没错,连接出错? 來源:互聯網 2010-02-14 09:24:33 評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 ...
- c语言坦克大战源代码vc 6.0,坦克大战(VC6.0) - 源码下载|源代码 - 源码中国
压缩包 : 坦克大战.rar 列表 坦克大战\BattleCity.aps 坦克大战\BattleCity.dsp 坦克大战\BattleCity.dsw 坦克大战\BattleCity.ncb 坦克 ...
- VC++ 6.0 C语言实现俄罗斯方块教程
今天把我之前写的大作业分享一下吧,并教你们如何实现,希望你们看了前面的教程也能自己写一个. 1.要先下载一个 graphics.h 的头文件来绘图. 2.初始化窗口:initgraph(x, y);这 ...
- c语言定义数组变量初始化为0,c语言数组初始化——int a[N] = {0};
初学数组,以华科的<c 语言与程序设计>为教材,参考了<一站式学习c编程>,后者数组一章有串代码如下 int main(void) { int i, histogram[10] ...
- c语言 char c1,c2; for (c1='0',C语言-5循环结构(PPT)复习课程.ppt
C语言-5循环结构(PPT)复习课程.ppt 第五章 循环结构程序设计;课程引入;第五章 循环结构程序设计;5.1 while 语句;例1:求;1. do-while循环语句的形式 do 循环体 wh ...
最新文章
- QT_QSlider的总结
- Windows Phone应用程序政策性约束
- tensorflow 迁移学习_基于 TensorFlow.js 1.5 的迁移学习图像分类器
- vue项目中app.vue 、main.js和 index.html的关联
- linux命令全集,Linux命令全集
- protocol buffers使用说明
- php实现数字滚动效果,vue如何实现数字滚动增加效果?代码示例
- [iOS] 使用 blockable NSTimer 避免内存泄漏
- 神器--通过Workspaces来编辑本地文件
- Hadoop 开源调度系统zeus
- 清除Windows远程桌面连接记录
- 四位共阳极数码管显示函数_实验四 共阴数码管静态显示
- java 方法重载 应用举例,Java中的方法重载应用
- ap漫游测试软件,AC+AP方案选择,TP无缝漫游强过UBNT?胖AP如何实现802.11r?
- 【国家集训队】跳跳棋(LCA+二分答案)
- 更强大、更灵活、更全面丨一文搞懂DolphinDB窗口计算
- 苹果ios7越狱后Safari浏览器与天气闪退情况解决方法详解
- 软件使用说明书V1.0发布
- background-image图片不存在时显示默认照片
- 贝塞尔曲线 弯曲动画ios_用贝塞尔曲线弯曲