云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > (完整版)基于JAVA的手机游戏系统的设计与实现毕业设计

(完整版)基于JAVA的手机游戏系统的设计与实现毕业设计

  • 62 次阅读
  • 3 次下载
  • 2025/12/3 5:57:29

height = getHeight();//高度为屏幕高度 new Thread(this).start();

}

初始化节点数量。 snakeNum = 7; 初始化节点数据。

for (int i = 0; i < snakeNum; i++) { snake[i][0] = 100 - snakeWidth * i; snake[i][1] = 40; }

初始化移动方向。 point = KEY_DOWN; 初始化食物坐标。 foodX = 100; foodY = 100;

5.4.4 设置屏幕背景颜色为粉红色

设置屏幕

Canvas是个画布,graphics是只画笔,主要用于实现在Canvas画布上绘制图画。

protected void paint(Graphics g) {} 清屏并设置屏幕背景为粉色

其中,粉色的RGB代码为0xffcccc,格式为(0xRRGGBB) g.setColor(0xffcccc);

5.4.5 设置画笔颜色为红色,并绘制贪吃蛇蛇身及食物

设置画笔为红色,红色的RGB代码为0xff0000。

g.fillRect(0, 0, width, height); g.setColor(0xff0000);

绘制蛇身

for (int i = 0; i < snakeNum; i++) {

g.fillRect(snake[i][0],

snake[i][1],

snakeWidth,

snakeWidth); } 绘制食物 if (b) {

}

g.fillRect(foodX, foodY, snakeWidth, snakeWidth);

5.4.6 食物的产生及其产生位置的限制条件

食物的坐标必须位于屏幕内,且不能和蛇身重合 private void getFood() { while (true) { + 1)) + 1))

/ snakeWidth * snakeWidth;

/ snakeWidth * snakeWidth;

foodX = Math.abs(r.nextInt() % (width - snakeWidth

foodY = Math.abs(r.nextInt() % (height - snakeWidth

boolean b = true;

for (int i = 0; i < snakeNum; i++) {

if (snake[i][0] == foodX && snake[i][1] == foodY) {

}

}

b = false; break;

if (b) { } }

break;

5.4.7 蛇身的移动

private void move(int point) {}; 蛇身移动

for (int i = snakeNum - 1; i > 0; i--) { }

第一个单元格移动 switch (point) { case KEY_UP:

snake[0][1] = snake[0][1] - snakeWidth; break;

snake[i][0] = snake[i - 1][0]; snake[i][1] = snake[i - 1][1];

case KEY_DOWN:

snake[0][1] = snake[0][1] + snakeWidth; break;

case KEY_LEFT:

snake[0][0] = snake[0][0] - snakeWidth;

break;

case KEY_RIGHT: }

snake[0][0] = snake[0][0] + snakeWidth; break;

5.4.8 手机按键功能实现

其中用手机键盘中的上、下、左、右键来控制贪吃蛇的移动,用中间键来控制实现暂停功能。程序最后增加了repaint(),即刷屏功能,用来更新游戏数据。

public void keyPressed(int keyCode) { int action = getGameAction(keyCode);

switch (action) {

case UP:

point = KEY_UP; break; case DOWN:

point = KEY_DOWN; break; case LEFT:

point = KEY_LEFT; break; case RIGHT:

point = KEY_RIGHT; break; case FIRE:

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

height = getHeight();//高度为屏幕高度 new Thread(this).start(); } 初始化节点数量。 snakeNum = 7; 初始化节点数据。 for (int i = 0; i < snakeNum; i++) { snake[i][0] = 100 - snakeWidth * i; snake[i][1] = 40; } 初始化移动方向。 point = KEY_DOWN; 初始化食物坐标。 foodX = 100; foodY = 100; 5.4.4 设置屏幕背景颜色为粉红色 设置屏幕 Canvas是个画布,graphics是只画笔,主要用于实现在Canvas画布上绘制图画。 protect

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com