Java小游戏-贪吃蛇

  • 蛇的移动
// 控制方向,及其解决按键冲突,即按下方向键的时候,不能按相反方向的键
		}else if(KeyCode==KeyEvent.VK_UP && !direction.equals("D")) {
			direction="U";
		}else if(KeyCode==KeyEvent.VK_DOWN && !direction.equals("U")) {
			direction="D";
		}else if(KeyCode==KeyEvent.VK_LEFT && !direction.equals("R")) {
			direction="L";
		}else if(KeyCode==KeyEvent.VK_RIGHT && !direction.equals("L")) {
			direction="R";

		}





//游戏没有开始,并且没有游戏失败
		if(isStarted && !isFaild) {
			//移动身体
			for(int i=len;i>0;i--) {
				/*这一节的身体坐标,是上一节的坐标,即第一节蛇身在移动一次后
				的坐标,就是蛇头刚才在的坐标,第i节蛇身的坐标,即为第i-1节蛇
				身的位置
				 */
				snakex[i]=snakex[i-1];
				snakey[i]=snakey[i-1];
			}
			//蛇头移动
			//右走
			if(direction.equals("R")) {
				//横坐标+25
				snakex[0]=snakex[0]+25;
				//如果大于边界
				if(snakex[0]>1425) {
					snakex[0] = 25; //则从另一边出来
				}
				//左走
			}else if(direction.equals("L")) {
				//横坐标-25
				snakex[0]=snakex[0]-25;
				if(snakex[0]<25) {
					snakex[0] = 1425; //则从另一边出来
				}
				//上走
			}else if(direction.equals("U")) {
				//纵坐标-25
				snakey[0]=snakey[0]-25;
				if(snakey[0]<75) {
					snakey[0] = 900; //则从另一边出来
				}
				//下走
			}else if(direction.equals("D")) {
				//纵坐标+25
				snakey[0]=snakey[0]+25;
				if(snakey[0]>900) {
					snakey[0] = 100; //则从另一边出来
				}
			}
  • 蛇吃食物
//判断蛇头是否撞到食物上,即是否吃到了食物
			if(snakex[0]==foodx && snakey[0]==foody) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值