用JAVA编一个小的贪吃蛇游戏 (要求如下) 求JAVA高手

来源:百度知道 编辑:UC知道 时间:2024/05/16 19:50:47
利用Java图形化技术和多线程技术开发一个贪食蛇游戏。
游戏中玩家可以通过键盘控制游戏区中贪食蛇的运动,当蛇头碰到系统产生的食物时加长蛇身。当蛇碰到墙壁或者自己身体时,游戏结束。游戏设定3个级别,级别越高蛇运动的速度越快、难度越大,玩家可以根据自己的需要自由设定初始游戏级别,当玩家取得的分数到达一定水平时游戏自动进入下一个级别,达到最高级别时不再增加。游戏以最终玩家获得的分数来判断玩家水平高低

游戏规则:
玩家通过键盘控制蛇在游戏区中运动。
当蛇头碰到软件提供的食物或者宝物时,得分并增加蛇身长度一个单位。
当蛇头碰到蛇身或墙壁时,如果没有相应的宝物则游戏结束。
游戏设定两种宝物,一种为穿身宝物,另一种为穿墙宝物。
记分规则:吃掉一个食物或者宝物加100分
晋级规则:累计

要求实现以下功能:
(1)游戏功能:玩家可以在游戏区控制贪食蛇吃食物。
(2)状态提示功能:使玩家能够在游戏过程中随时了解得分情况和获得宝物情况。
(3)游戏控制:玩家可以通过游戏控制功能来选择开始新一局、暂停或者退出游戏。
(4)级别设置:玩家可以根据自己的需要自行设定游戏开始级别。
会的人请给出代码

不合意的自己去修改

import java.awt.*;
import java.awt.event.*;
public class GreedSnake //主类
{

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyWindow();

}

}
class MyPanel extends Panel implements KeyListener,Runnable//自定义面板类,继承了键盘和线程接口
{

Button snake[]; //定义蛇按钮
int shu=0; //蛇的节数
int food[]; //食物数组
boolean result=true; //判定结果是输 还是赢
Thread thread; //定义线程
static int weix,weiy; //食物位置
boolean t=true; //判定游戏是否结束
int fangxiang=0; //蛇移动方向
int x=0,y=0; //蛇头位置
MyPanel()
{

setLayout(null);
snake=new Button[20];
food=new int [20];
thread=new Thread(this);

for(int j=0;j<20;j++)
{
food[j]=(int)(Math.random()*99);//定义20个随机食物
}

weix=(int)(food[0]*0.1)*60; //十位*60为横坐标
weiy=(int)(food[0]%10)*40; //个位*40为纵坐标