手机网络游戏项目.zip

  • G9_848672
    了解作者
  • 535.3KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-05 08:39
    上传日期
手机网络游戏项目java ME 手机网络游戏项目java ME
手机网络游戏项目.zip
内容介绍
import java.util.Vector; import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class GameCanvas extends Canvas implements CommandListener { protected Game game; String color = ""; protected int empty;// 屏幕右侧留的空间 protected int x;// 棋盘输出的坐标 private boolean myTurn = false; protected int cellWidth;// 每个棋格的边长 protected int mapWidth, canvasW;// 棋盘的宽度和画布的宽度 protected int a, b, c, d;// 这是画炮下面的那几个折线,没什么用 protected int chessR;// 棋子的半径 private int desknum = -1; // 桌子序号 private int seatPos = -1; // 座位序号 private boolean banker = false; protected int selectedX, selectedY;// 选择框在棋盘格局上的x,y位置 protected static int i, j; protected int m, n, p;// 记住开始的selectedX,selectedY和point[selectedX][selectedY] protected String q;// 记住word[selectedX][selectedY] protected int guard, guard1, guard2, g, g1;// 标记FIRE被按了多少次,g是用来判断走直线时前后的棋子,中间是否有其他棋子的累加器 protected static int g2, isRedWin, isWhiteWin;// g2表示该谁走了,后面那俩顾名思义了 private Client client; protected Command exitCmd, start, ok; private int point[][]; protected String[][] word; public GameCanvas() { }; public void init() { // desknum = -1; // seatPos = -1; addCommand(start); addCommand(exitCmd); initWord(); banker = false; myTurn = false; } public void reset() { initWord(); addCommand(start); addCommand(exitCmd); banker = false; myTurn = false; } public GameCanvas(Game game, Client client)// 构造函数 { this.game = game; this.client = client; empty = getWidth() / 6; x = empty * 1 / 3; canvasW = getWidth() - empty; mapWidth = canvasW - canvasW % 8; cellWidth = mapWidth / 8; a = cellWidth * 2 / 5; b = cellWidth / 8; c = cellWidth - a; d = cellWidth - b; chessR = cellWidth * 2 / 5; selectedX = 4; selectedY = 7; guard = 0; guard1 = selectedX; guard2 = selectedY; m = guard1; n = guard2; word = new String[10][9]; g2 = 1; initWord(); exitCmd = new Command("退出", Command.EXIT, 0); start = new Command("开始", Command.OK, 1); addCommand(start); addCommand(exitCmd); setCommandListener(this); } public void initWord() { point = new int[][] { { 1, 2, 3, 4, 5, 6, 7, 8, 9 },// 初始化INT数组 { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 10, 0, 0, 0, 0, 0, 11, 0 }, { 12, 0, 13, 0, 14, 0, 15, 0, 16 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 28, 0, 29, 0, 30, 0, 31, 0, 32 }, { 0, 26, 0, 0, 0, 0, 0, 27, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 17, 18, 19, 20, 21, 22, 23, 24, 25 } }; for (i = 0; i < 10; i++)// 初始化字符数组 { for (j = 0; j < 9; j++) { if (i == 0) { if (j == 0) { word[i][j] = "车"; } if (j == 1) { word[i][j] = "马"; } if (j == 2) { word[i][j] = "相"; } if (j == 3) { word[i][j] = "士"; } if (j == 4) { word[i][j] = "帅"; } if (j == 8) { word[i][j] = "车"; } if (j == 7) { word[i][j] = "马"; } if (j == 6) { word[i][j] = "相"; } if (j == 5) { word[i][j] = "士"; } } if (i == 1) { word[i][j] = "空"; } if (i == 2) { if ((j != 1) & (j != 7)) { word[i][j] = "空"; } if (j == 1) { word[i][j] = "炮"; } if (j == 7) { word[i][j] = "炮"; } } if (i == 3) { if (j % 2 == 0) { word[i][j] = "卒"; } if (j % 2 == 1) { word[i][j] = "空"; } } if (i == 4) { word[i][j] = "空"; } if (i == 5) { word[i][j] = "空"; } if (i == 6) { if (j % 2 == 0) { word[i][j] = "卒"; } if (j % 2 == 1) { word[i][j] = "空"; } } if (i == 7) { if ((j != 1) & (j != 7)) { word[i][j] = "空"; } if (j == 1) { word[i][j] = "炮"; } if (j == 7) { word[i][j] = "炮"; } } if (i == 8) { word[i][j] = "空"; } if (i == 9) { if (j == 0) { word[i][j] = "车"; } if (j == 1) { word[i][j] = "马"; } if (j == 2) { word[i][j] = "相"; } if (j == 3) { word[i][j] = "士"; } if (j == 4) { word[i][j] = "帅"; } if (j == 8) { word[i][j] = "车"; } if (j == 7) { word[i][j] = "马"; } if (j == 6) { word[i][j] = "相"; } if (j == 5) { word[i][j] = "士"; } } } } } public int getDeskIndex() { return desknum; } public void setDeskIndex(int i) { desknum = i; } public void setSeatPos(int i) { seatPos = i; } public int getSeatPos() { return seatPos; } protected void paintMapa(Graphics g)// 画河的上半部分的棋盘 { for (int q = 0; q < 4; q++) { for (int w = 0; w < 8; w++) { g.setColor(128, 128, 128); g.drawRect(x + w * cellWidth, x + q * cellWidth, cellWidth, cellWidth); } } g.setColor(128, 128, 128); g.drawLine(x + 3 * cellWidth, x, x + 5 * cellWidth, x + 2 * cellWidth); g.drawLine(x + 5 * cellWidth, x, x + 3 * cellWidth, x + 2 * cellWidth); // 画左上方的炮 g.drawLine(x + d, x + cellWidth + c, x + d, x + cellWidth + d);// 左上竖 g.drawLine(x + c, x + cellWidth + d, x + d, x + cellWidth + d);// 左上横 g.drawLine(x + d + 2 * b, x + cellWidth + c, x + d + 2 * b, x + cellWidth + d);// 右上竖 g.drawLine(x + cellWidth + b, x + cellWidth + d, x + cellWidth + a, x + cellWidth + d);// 右上横 g.drawLine(x + d, x + 2 * cellWidth + b, x + d, x + 2 * cellWidth + a);// 左下竖 g.drawLine(x + c, x + cellWidth + d + 2 * b, x + d, x + cellWidth + d + 2 * b);// 左下横 g.drawLine(x + d + 2 * b, x + 2 * cellWidth + b, x + d + 2 * b, x + 2 * cellWidth + a);// 右下竖 g.drawLine(x + cellWidth + b, x + cellWidth + d + 2 * b, x + cellWidth + a, x + cellWidth + d + 2 * b);// 右下横 // 画右上方的炮 g.drawLine(x + d + 6 * cellWidth, x + cellWidth + c, x + d + 6 * cellWidth, x + cellWidth + d); g.drawLine(x + c + 6 * cellWidth, x + cellWidth + d, x + d + 6 * cellWidth, x + cellWidth + d); g.drawLine(x + d + 2 * b + 6 * cellWidth, x + cellWidth + c, x + d + 2 * b + 6 * cellWidth, x + cellWidth + 13 + 9); g.drawLine(x + cellWidth + b + 6 * cellWidth, x + cellWidth + d, x + cellWidth + a + 6 * cellWidth, x + cellWidth + d); g.drawLine(x + d + 6 * cellWidth, x + 2 * cellWidth + b, x + d + 6 * cellWidth, x + 2 * cellWidth + a); g.drawLine(x + c + 6 * cellWidth, x + cellWidth + d + 2 * b, x + d + 6 * cellWidth, x + cellWidth + d + 2 * b); g.drawLine(x + d + 2 * b + 6 * cellWidth, x + 2 * cellWidth + b, x + d + 2 * b + 6 * cellWidth, x + 2 * cellWidth + a); g.drawLine(x + cellWidth + b + 6 * cellWidth, x + cellWidth + d + 2 * b, x + cellWidth + a + 6 * cellWidth, x + cellWidth + d + 2 * b); } protected void paintMapb(Graphics g)// 画那条河--楚河,哈哈 { g.setColor(128, 128, 128); g.drawRect(x, x + 4 * cellWidth, mapWidth, cellWidth); g.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_LARGE)); g.drawString("楚河 汉界", getWidth() / 2, x + 4 * cellWidth + cellWidth * 3 / 4, Graphics.HCENTER | Graphics.BASELINE); } protected void paintMapc(Graphics g)// 画河的下半部分的棋盘 { for (int q = 0; q < 4; q++) { for (int w = 0; w < 8; w++) { g.setColor(128, 128, 128); g.drawRect(x + w * cellWidth, x + (q + 5) * cellWidth, cellWidth, cellWidth); } } g.setColor(128, 128, 128); g.drawLine(x + 3 * cellWidth, x + 7 * cellWidth, x + 5 * cellWidth, x + 9 * cel
评论
    相关推荐