坦克大战手机版J2ME实现(创游杯参赛作品 – 未果…)(最后更新: 08年5月22日 – 支持诺基亚手机)

作者:Wupei  |  发表时间:  |  所属分类:我的作品

J2ME坦克大战演示图  

中文名称: 坦克大战
英文名称: Battle City
开发机型: sonyericsson k700c
屏幕大小: 176 * 208
代码行数: 7000行(关卡1500行)
开发周期: 1个月
支持: CLDC1.0 – MIDP2.0
关卡数量:70关(前35关自由选关)
说明:
从画面、AI等各个方面完美移植FC经典游戏《坦克大战》
由于诺基亚的S60系统的API的BUG,暂不支持诺基亚手机  ( 新版本支持诺基亚手机 )
由于我的设计的问题,游戏在大部分中端机型上运行有点卡…
Flash演示画面因为帧数比较少,K700C运行比较流畅

08年5月22日更新:
突然想到一种方法屏蔽诺基亚手机的LayerManager的API的BUG
恩,可以思考一下,如果诺基亚本身的CLASS有BUG,可以用没有BUG的CLASS啊,midp2.0也已经开源的,所以源代码是可以得到的,替换相关的部分,就可以了,还需要注释掉设置相应的setClip()问题,就完成了

08年6月8日更新:
此游戏的修改(优化)版本已商业发布!

原版JAR下载:  BattleCity.jar  (诺基亚手机请下载另外一个版本)

支持诺基亚版本:  BattleCity2.jar  (由于声音API不一样,声音播放有问题)(其他手机请下载原版)

—————————————————————-

作为程序员…. 

前期:

由于自己的策划和美术方面不行, 经过很长时间找素材的过程,发现自己的弱点,策划与相关素材的方面真是让我头痛…就放弃美工与策划原创…
也由于时间原因,决定移植一个比较简单的游戏,力图实现完美的移植,不管从图片,效果,甚至是AI上(暂不考虑扩展)

开发过程: 

初步计划与实现:

1. 素材整理(07年9月9日开始)

    1. 坦克图片资源整理完成(9月10日)
    2. 所有图片资源整理与制作完毕(9月11日) — 敌方坦克,界面,字体,sprite,小元素

2. 策划案整理

    策划案整理完毕(9月12日) — 动画贞定量分析,动画组合,tiledlayer层次,碰撞规律,道具动画

3. 编码开始

    1. 整体框架设计完成,碰撞思路完成(UML完成) (9月14日)
    2. 具体编码开始 (9月15日开始)
    3. 框架类编码,顺序逻辑编码 (9月16日)
    4. tiledlayer设计 (9月17日)
    5. tank行动,按键响应编码 (9月18日)
    6. 寻路简单调整,tilelayer与边界碰撞检测,冰滑动效果 (9月19日)
    8. 子弹设计,子弹碰撞检测,实现完成,解决了最大的技术难题 (9月21日)(当前代码行数2355)
    9. 敌方坦克设计,部分变量设计 (9月23日凌晨3点)(作品完成度70%)
    10. 画面及相关大逻辑实现 (9月25日)(26,27,病了….牙痛啊,28日,到家整顿一日,29日开始)
    11. 画面及相关大逻辑实现/相关画面转换/各种界面状态的转换(9月30日完成)
    12. 道具实现,敌方坦克碰撞(10月3日完成)
    13. 敌方坦克子弹设计(10月3日完成)
    14. AI设计修正(10月4日完成)

4. 测试

    1.收尾阶段(rms数据库, 分数加人, AI调整, 声音)(10月4日)

5. 添加地图
6. 完整测试
7. 扩展(待定)

最初期的策划案(9月12日)(后面没有加以修改….其实很多地方后期实现程序时修改过): 

策划:

1.开始画面动画  5秒   按下任何键,直接显示界面
2.(刷屏显示  两边的灰色从上下两边分别向中间扩散) 关卡选择界面   14/60贞
3.播放音乐–> 主游戏窗口(从中央向两侧刷出屏幕,屏幕里有tiledlayer)  14/60贞

主游戏窗口:
1. 共39/60贞    星星状态    3/60每贞变化   从大到小,再到大显示
2. 共3秒   保护状态   每2/60贞变化  两幅图片变换
3. 共20秒  道具        每8/60贞变化   闪烁
4. 共10/60贞   大爆炸效果    每7/60贞变化  针序列:1-2-3-大的1-2- 4 — 12/60分值显示
5. 子弹 爆炸4/60贞  2次完事 1-2

1. 己方
    总体: 走一步换一贞,速度都为2,普通子弹速度为5, 快速子弹速度为10
    1级坦克,一次只允许发出一颗子弹,直到子弹消失,方可发出第二颗子弹   子弹速度慢,移动慢,但是速度比敌方慢速快
    2级坦克,移动速度慢,子弹速度快
    3级坦克,移动速度慢,子弹速度快 ,2个子弹
    4级坦克,与上者类似,只是子弹,可以打铁皮
   
2. 敌方
   
    两贞坦克 红白   每8/60贞变化 
    1级坦克   子弹速度慢    速度慢   100分        速度1
    2级坦克   子弹速度慢    速度快   200分        速度3
    3级坦克   子弹速度变快,速度与上面一致   300分   速度1
    4级坦克   绿白 – 黄白 – 绿黄 – 白 子弹慢 速度慢  红色坦克,被击中一次,出道具,变为黄色  400分 速度1
   
3. 坦克碰撞
    敌方坦克,开始就向下走,碰见障碍物就转头,子弹,一直射击,车轮一直转动,小几率中间发生转移
   
    敌方坦克碰撞检测:
    背景,边框,敌方坦克,我方坦克,我方子弹,老窝
   
    我方坦克碰撞检测:
    背景,边框,敌方坦克,我方坦克,敌方子弹,道具,老窝
   
    敌方子弹碰撞:
    我方子弹,我方坦克,背景,老窝
   
    我方子弹:
    敌方子弹,敌方坦克,背景,老窝
   
4. 道具

********时间纯属胡说八道************
    五角星: 消失时间(永远不消失) 500分
    加人: 消失时间(永远不消失) 至到吃完,或者是下一个道具                      500分
    铲子: 消失时间(20秒) 吃完基地直接转变, 持续时间(20秒),闪烁 15/60闪烁   闪烁5秒 这时不可以被击中
    定时: 消失时间(40秒)    持续时间(10秒)
    保护膜:  消失时间(10秒)   持续时间(10秒)
    炸弹: 消失时间(25秒) (吃地雷不加分)
   
5. 层次

    (从上到下的顺序)
    道具,爆炸效果,分值,森林背景,坦克道具效果,子弹,我方坦克,敌方坦克,冰背景,水背景,铁背景,砖背景
   
    背景层碰撞 layer[0] – layer[4]

总结: 

唉….这次又是未果呢…估计是移植游戏的问题,除了程序,策划和美术都不是原创的,不过还好,体验了一把小型的游戏开发过程,从整理素材,策划案,代码设计,到编码,测试,这样一整套下来,真是费了不少功夫,也是到现在为止,做的最大的一个程序,那参数来回飞的厉害….代码架构上还是存在很大问题…很大的代码泥潭…游戏扩展上面估计做不了多少了….继续,设计模式…

要谢谢我的以前的星际战队的队长刘开,非常感谢他,那么支持,鼓励和帮助我,呵呵
还有我的两个舍友王腾和韩碧辉,帮我测试了FC的坦克出现序列,以保证逼真
还有就是老爸帮我画了所有的35关的关卡,谢谢他们,呵呵

做游戏:一般难 🙂

Trackback from your site.

(13)条评论

  • Wupei

    |

    已经做了很久的游戏了….不好意思..已经不更新了

    回复

  • 云中月

    |

    能发布240*320分辨率版本吗

    回复

  • wupei

    |

    呵呵,看到了,外国人写的,不错…
    资源组织方式完全不同,代码架构也完全不同,人家的代码架构比我的要好得多的,学习学习,呵呵
    谢谢关注

    回复

  • yanzi

    |

    有人公布了,代码原样上传了,很多,不过很好,跟你的游戏一个样.代码90%的,不过有点调用资源的差别,估计是你同是吧!你们太牛啦!呵呵!谢谢.http://www.j2megame.cn/viewthread.php?tid=5335

    回复

  • wupei

    |

    …..看以前的留言…

    回复

  • Gabi

    |

    本人查了很多资料,就是找不找这样完整的程序.可以的话能给我传一份吗?
    邮箱是kimyounguck@163.com

    回复

  • wupei

    |

    我给大家找了个简单模拟坦克大战的例子
    如果想参考,我想大家可以参考这个例子,附带源代码
    下载地址: 打开

    回复

  • wupei

    |

    抱歉,源代码并未公布
    如果公布的话,会公布在博客当中
    如果有任何对本程序的疑问,可以在此留言或者给我发邮件
    我会给您详细解答

    回复

  • gougou

    |

    我也想看看您的源码,作为我自己开始写的经验,谢谢,jakie_tao@yahoo.com.cn

    回复

  • wupei

    |

    不好意思,源代码并未公布
    如果有任何对本程序的疑问,可以在此留言或者给我发邮件
    我会给您详细解答

    回复

  • 燕子

    |

    很好,很不错,可以发给我份吗?我的邮箱是yanziwei1103@163.com

    回复

  • wupei

    |

    创游杯作品….未果…坦克大战手机版(J2ME实现)程序发布

    回复

  • 明儿

    |

    有目标,有计划
    相信自己!我也相信你在不断进步,更相信胜利终究会属于你!
    加油!!!

    回复

请在这里留言: