马士兵教程—《坦克大战》游戏设计思路

这篇博客详细介绍了从零开始设计《坦克大战》游戏的过程,从最初的窗口创建到坦克移动、双缓冲消除闪烁、坦克类的设计、子弹的添加、敌人的智能行为、碰撞检测、墙壁与坦克互动,再到生命值、超级炮弹、血块和游戏循环,逐步揭示了游戏开发的核心思路和技术挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

马士兵教程—《坦克大战》游戏设计思路

版本0.1

    功能:产生一个窗口

 

版本0.2

    功能添加关闭窗口的事件处理

               不允许窗口的大小改动

 

版本0.3

       功能:画出代表坦克的实心圆

 

版本0.4

       功能:让坦克运动起来

       步骤:

将位置改变为变量

启动线程不断重画

思考:为什么使用线程重画,而不是每按下一个键进行一次重画?

线程重画更均匀,更能控制重画的速度。

按键重画不能解决子弹自动飞行的问题。

每次重画改变Tank位置

 

版本0.41

功能:使用双缓冲消除闪烁现象

原因

刷新重画频率太快,paint方法还没有完成

逐条显示

解决办法

将所有东西画在虚拟图片上,一次性显示出来

 

版本0.5

功能:代码重构

将以后可能需要多处改变的量定义为常量

Frame的宽度和高度

常量名一般大写

 

版本0.6

功能:让坦克听从我们的指挥

添加键盘监听器类KeyMonitor

TankCient添加键盘监听器

针对不同的键改变坦克的位置,与重画线程结合产生不同方向运动

 

版本0.7

功能:将坦克单独包装成类

步骤:

建立Tank

Tank类添加成员变量x y

添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值