美文网首页C语言
手把手教学!利用C++编写坦克大战,内含完整源码!

手把手教学!利用C++编写坦克大战,内含完整源码!

作者: a847c1ac3b3f | 来源:发表于2019-06-16 14:52 被阅读0次

在大程序开始前,先做一些小程序验证一下可能遇到的技术问题是不是都能解决,免得做了多一半才发现有些问题是根本不可能解决的;先把最基础个功能实现,不急于实现那些不重要的细枝末节,验证整体结构的可行性,细小的功能再以后的迭代中逐步添加上去,将每一步的风险都降低;架构先行,将不同功能的代码分割开来,不同的模块分别进化,减少风险。

设计:实现一款C++版的经典坦克大战游戏。

功能设计:

1)实现双人对战功能。获胜:但消灭对方所有坦克或者先炸毁对方总部。

2)战场由一个一个的格子构成,纵横为26*26格、坦克为2*2格、总部军旗2*2、子弹为2*1、石块与铁块:1*1

  坦克与子弹每次移动一格、以战场左下角为坐标点原始点[x:0,y:0],横向x,纵向y。确定每个物体的坐标为[x1,x2]、[y1,y2]。

3)坦克事件:“()”表示技术实现

联机模式架构:

源码展示:

看似很复杂其实只要抓住主线就很简单了,最基础的类是Circle,代表一个圆,是碰撞基础元素,MoveCircle继承自Circle增加了速度和方向属性,MoveCircle分开两支为坦克和炮弹,坦克又分成用户可操作的坦克与电脑控制的敌军,两者的区别是在Aitank有一个Ai属性,这里用了一个策略模式,Aitank可以有不同类型的Ai(这次就只写了一种,但是支持更多)。其他的类都是辅助这根主线。

如果有想学习C/C++的同学,可来我们的C/C++技术学习QQ群:290256293,免费送整套系统的C/C++视频教程!我每晚上8点还会在群内直播讲解C/C++知识,这是一个仅供粉丝朋友们学习交流的群,欢迎大家前来学习哦~不是学习C/C++的小伙伴非诚勿扰哦下面是部分资料截图:

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

相关文章

网友评论

    本文标题:手把手教学!利用C++编写坦克大战,内含完整源码!

    本文链接:https://www.haomeiwen.com/subject/sxlgfctx.html