一个简单的游戏源代码
作者:陈跃峰
实现一个简单的翻牌游戏,每次最多翻开两个数字,如果数字相同则消失,否则两个数字不显示,可以继续游戏。
游戏规则如下:
1、游戏数据使用两个一维数组存储:
u
map存储逻辑数据
u
displayMap存储绘制的数据,-1代表已经翻开,0代表未翻开,大于0代表已经翻开。
2、绘制规则:
u
在屏幕中心绘制图形
u
每个单元格宽度和高度都是20,每个单元格之间间隔4
3、游戏结束判别规则:
u
单元格全部消失或者只有一个单元格剩余
实现代码如下:
package simplegame;
import java.util.Random;
import javax.microedition.lcdui.*;
/**
* 翻图游戏
* 游戏数据分别存储在两个数组,
* 1、数组map存放实际的地图数据,每行显示的数据长度为关卡数字+1
* 2、已经翻开的地图数据存储在displayMap数组中,-1代表已经翻开,0代表未翻开,大于0代表已经翻开
* @author 陈跃峰
* @version 1.0
*/
public class SimpleGameCanvas extends Canvas implements Runnable {
/**地图数据,地图数据的长度是(level + 1) * (level + 1)*/
private int[] map;
/**显示的数据,0代表未显示,-1代表消失,大于0代表翻开的数据*/
private int[] displayMap;
/**关卡*/
private int level = 1;
/**已经翻开的数字数量*/
int num = 0;
/**选择框序号,编号规则为从左到右,从上到下*/
int index = 0;
/**第一个被翻开的方块*/
int firstIndex = 0;
/**第二个被翻开的方块*/
int secondIndex = 0;
/**屏幕宽度*/
private int width;
/**屏幕高度*/
private int height;