C/C++游戏开发:教你用C++打造坦克大战游戏,300行代码就能重现经典?!

相信大家都玩过坦克大战这款游戏,小时候没玩过的不多吧,小编曾经还为此痴迷过,学编程后就想着把这样一款游戏开发出来,一刚开始,我们思考这游戏的雏型该怎么定义,我们认为,需要有:战车、子弹、地图(map)、实体(body)。有实体(body)的原因是因为,画在winBGI的图形就像影子一样,那只是显示给我们看的,计算机根本不知道子弹有没有打到砖块,有没有打到战车,所以就将 winBGI窗口416x416个像素,都用数组body[416][416],每个像素目前是谁占据着,都会纪录在这数组里,之后计算机要判断这块区域中有没有障碍,子弹有没有打到砖块,哪台战车被打到,都可以直接从数组判断。

超经典坦克大战双人版,C++完整版,含声音、地图、资源文件,编译后请将Map、Sound、graphics拷贝至可执行文件同级目录内,否则出错。大家看看界面就知这游戏有多经典了吧?游戏界面展示:

项目结构展示:

部分源码展示:

本游戏源码经过导出后可直接在电脑上玩,完整无错,也是学习C++游戏编程的好范例,同行小伙伴可以来练练手哦~

最后,如果你在学习C/C++的过程中遇到了问题,可以来问小编哦~小编很热情的(●'◡'●)

声明:本文内容来源于网络,如有侵权请联系删除

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
游戏分里外两个部分组成,里部分(用户不可见) 通过里部分执判断,地图数组更改,和各种值的改变。更改完里部分再根据相应变化更改表部分。(用户可视部分)表部分的打印通过gotoxy去到相应坐标再printf打印出字符,通过文本函数改变文字字体颜色与文字背景颜色与字符组合实现图形界面。 程序通过 计数器+循环判断 的思想,类似单核cpu的多线程实现(单线程在不同程序/函数间来回执)省去了多线程。(具体过程在功能设计与描述有详细描述) 另AI实现与加强依赖于rand随机函数的运用,进一步强化AI,增加游戏乐趣 功能方面,游戏参考于80年代任天堂红白机(FC/FamilyComputer)上的游戏坦克大战(Battle City),包括地图,游戏模式等等(当时的游戏直接烧在电路板上)。所以游戏平衡方面已经有了很好的参考,无需再花大量时间测试平衡性。 但诸如地图中的树林元素,随机道具等没有实现。但较之原版,该游戏由C/C++编写PC运,由字符界面实现游戏画面。原版一辆坦克的子弹未消失之前不能发射第二颗。导致子弹打击远处CD长,近处CD短。该游戏每个子弹都有相同CD,子弹未消失只要CD达到即可发射第二颗,第三颗…增加了真实性,相较于原版是个改进。且考虑到PC性能不一内置了游戏速度调整。玩家可根据PC性能调整至合适的速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值