【用C#写游戏-XNA游戏编程】坦克大战(二) 磨刀不误砍柴工

        俗话说得好"磨刀不误砍柴工",刀磨得锋利了,砍起柴来才显得利索;程序也一样,前期没有把准备工作做充分的话,后面更会有一种写不下去的感觉。而我们的准备工作就是使用UML建模、画类图。把各种的关系理清楚后,咱再动手完成《坦克大战》,好废话不多说,开始画图!


        上一篇文章的做法我们都是直接把游戏贴图的加载、坦克的控制、移动都写在Game1.cs这个类里面,虽说这样写不是不行,但随着游戏逐渐的形成,你会发现代码会慢慢得变得冗余、耦合度也随着上涨、代码变得难易维护甚至是难于阅读。所以我们要把之前学到的面向对象设计知识运用到游戏里面,先来画UML类图吧,把大概的结构清理出来。


 


        初步大概的结构就是这样。

        首先是TankeSprite类,这是一个抽象类; 把玩家坦克和电脑坦克相同的地方抽出来。

        然后是继承TankeSprite的两个子类,PlayerSprite和EmemySprite,虽然玩家坦克和电脑坦克有大部分的共同之处,但也有它们各自个性化的一些东西。例如玩家坦克的移动是由手柄或者键盘进行操作,而电脑的移动则是由AI来控制,还有玩家坦克可以使用"道具",而电脑坦克则没有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值