站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题我的第一款J2ME游戏:美女五子棋

我的第一款J2ME游戏:美女五子棋

摘要: 我的第一款J2ME游戏:美女五子棋
游戏简介
初涉j2me领域,总得找个练手的游戏。五子棋是一款老少皆宜的益智类游戏,其规则简单,容易上手。最终,谁先将已方五个棋子在横、竖、左斜、右斜任一方向上连成一线即赢得游戏。我的第一款手机游戏就由它开始,游戏是采用人机对战的方式。

游戏奖惩制度
任何游戏都要有一定的奖惩制度,这样才能提高游戏的耐完度。这次我设计的美女五子棋也不例外。玩家战胜手机后,即可欣赏到mm图片。由于手机内存有限,游戏只内置了4副mm图片。每战胜一次手机,图片变换一次,四次后加到第一副图。如果是手机胜了,则无法看到图片。

游戏基本架构
游戏主要是以下几个类组成:
FiveLink: 是游戏的Midlet主类, 负责游戏的启动,重新开始和结束等。
FiveLinkBoard: 五子棋盘类,负责游戏过程的棋盘绘制,键盘事件处理,控制玩家状态等。
FiveLinkModel: 五子棋的模型,维护当前游戏过程的各种数据,如棋子布局,当前游戏状态等。
Player: 这个类用来描述一个玩家信息,玩家所执棋子颜色等。
AI: 这个类是人机对战的人工智能处理类,主要用来计算最佳下棋点。

FiveLinkModel主要有以下数据:
short[][] chess; // 记录当前棋局,其中黑棋用1,白棋用-1代表
Player currentPlayer; // 记录当前玩家是谁
Player machine; // 手机方
Player human; // 人这一方的玩家
boolean gameOver; // 是否游戏结束
Vector history ); // 游戏获胜历史记录
int level = 1; // 游戏级别,人这方的玩家每胜一次即加1,共4级,

其中,还有一些主要的控制方法:
upgrade(); // 人这一方的玩家每胜一次,level加1,到4后,加到1重新计数。
getLevelBackground(); // 取得当前级别的背景图。
exchangePlayer(); // 交换玩家。
checkWin(); // 检查是否获胜。
checkTie(); // 检查是否平局。
isGameOver();; // 游戏是否结束。

而对于FiveLinkBoard,包含一个FiveLinkModel, 在游戏过程中,FiveLinkBoard从模型中取数据并绘制当前棋局。并且当玩家落子后,将最新的棋局更新到模型中。FiveLinkBoard每走一步就交换调用模型的exchangePlayer方法交换玩家。如果当前玩家currentPlayer是手机,还会用户AI中的方法来找出最佳下棋点下棋。

游戏画面
最后完成后的游戏,我抓了几个图下来,

启动画面
功能菜单
游戏过程
玩家获胜
赢了就有美女图看!



游戏下载

暂不提供,如有需要请联络我。





↑返回目录
前一篇: 我的J2ME编程联系(2)——DateField
后一篇: J2ME中需要的Java基础知识