用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

贪吃蛇java代码

2018-06-16 作者:hello0991举报

[java]代码库

public class Snake{

	//食物成员变量
	Food food = new Food();

	//蛇的成员变量
	int[] snakex = new int[150];
	int[] snakey = new int[150];
	int len =  3 , score = 0 , speed = 1; 
	int i = 20 , j = 0;
	int tempx = 0 , tempy = 0;
	int tempx1 = 0 , tempy1 = 0;
	boolean start = false;
	boolean failed = true;
	boolean isMove = false;
	boolean pause = true;


	//小蛇移动的方式
	public boolean move(){
		tempx = snakex[0];
		tempy = snakey[0];
		snakex[0] += i;
		snakey[0] += j;
		for (int m = len ; m > 0 ; m--){
			if(m != 1){
				tempx1 = snakex[m-1];
				snakex[m] = tempx1;
				tempy1 = snakey[m-1];
				snakey[m] = tempy1;
			}
			else{
				snakex[m] = tempx;
				snakey[m] = tempy;
			}
		}

		//遇到墙体
		if( snakex[0] < 210)
			snakex[0] = 770;
		if(snakex[0] >= 790)
			snakex[0] = 210;
		if(snakey[0] < 80)
			snakey[0] = 540;
		if(snakey[0] >= 560)
			snakey[0] = 80;

		// 吃食物
		if(snakex[0] == food.eatx && snakey[0] == food.eaty){  
			len ++;
			score += 50*speed;
			food.eatx = food.r.nextInt(29)*20+210;
			food.eaty = food.r.nextInt(24)*20+80;
			for(int k = 0 ; k < len ; k++){
				if(food.eatx == snakex[k] && food.eaty == snakey[k]){
					food.eatx = food.r.nextInt(29)*20+210;
					food.eaty = food.r.nextInt(24)*20+80;
				}
			}
		}
		// 如果蛇头碰到自己的身体游戏结束
		for (int i = 1 ; i < len; i ++){
			if (snakex[0] == snakex[i] && snakey[0] == snakey[i]){
				failed = false;
				start = false;
			}
        }


		//分数越高速度越快
		if(score == 150)
			speed = 2;
		if(score == 450)
			speed = 3;
		if(score == 900)
			speed = 4;
		if(score == 1500)
			speed = 5;
		if(score == 2250)
			speed = 6;
		if(score == 3150)
			speed = 7;

		return isMove = false;
	}

	//蛇的初始化
	public void setup(){
		i = 20;
		j = 0;
		len = 3;
		score = 0;
		speed = 1;
		snakex[0] = 310; snakex[1] = 290; snakex[2] = 270;
		snakey[0] = 300; snakey[1] = 300; snakey[2] = 300;
	}
}

[代码运行效果截图]


贪吃蛇java代码

[源代码打包下载]




分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。