第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/15 10:21:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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:

(完整版)基于JAVA的手机游戏系统的设计与实现毕业设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6uzzt2mfjp41z4g1sgcd5uqa87qzsz016ul_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top