欢迎来到天天文库
浏览记录
ID:46883175
大小:102.00 KB
页数:28页
时间:2019-11-28
《java贪吃蛇程序基础入门》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、贪吃蛇游戏:一个游戏最核心的部分是游戏的业务逻辑代码。(Ui不用太关系)分析里面的有几个事物:1.地图2.蛇3.食物了解游戏规则:1•蛇初始化的时候是三个节点,而且一开始蛇是出现在地图的中间位置。2.蛇吃到东西会长长一节。3.蛇咬到自己会死,蛇撞墙也会死。4.食物是随机生成的,食物不能长在石头上,食物可以长在蛇身上。建议:由于目前我们经验不足,所以在做项目的时候往往会出现比较大幅度修改代码。自己建立自己的代码库。地图:★*@##$char[][]宽高把这个地图存储到一个二维数组中给我,packagecn.itcas
2、t.snake;importjava.awt.Point;importjava.util.LinkedList;importjava.util.Random;publicclassSnakeGame{〃地图的宽(列数)publicstaticfinalintWIDTH=35;〃地图高(行数)publicstaticfinalintHEIGHT=9;〃地图privatechar[][]background=newchar[HEIGHT][WIDTH];〃使用集合保存蛇节点的所有信息LinkedLists
3、nake=newLinkedList();〃食物Pointfood;〃向上移动publicvoidmovellp(){/傲取原来蛇头Pointhead=snake.getFirst();〃添加新的蛇头snake.addFirst(newPoint(head.x,head.y・1));〃删除蛇尾snake.removeLast();}〃向下走publicvoidmoveDown(){/蘇取到原来的蛇头Pointhead=snake.getFirst();〃添加新的蛇头snake.addFirst(new
4、Point(head.x,head.y+1));〃删除蛇尾snake.removeLast();}〃向左走publicvoidmoveLeft(){/蘇取到原来的蛇头Pointhead=snake.getFirst();〃添加新的蛇头snake.addFirst(newPoint(head.x,head.y));〃删除蛇尾snake.removeLast();}〃向右走publicvoidmoveRight(){/凌取到原来的蛇头Pointhead=snake.getFirst();〃添加新的蛇头snake.add
5、First(newPoint(head.x+1,head.y));〃删除蛇尾snake.removeLast();}〃生成食物publicvoidcreateFood(){〃创建一个随机数对象Randomrandom=newRandom();while(true){intx=random.nextInt(WIDTH);inty=random.nextlnt(HEIGHT);if(background[y]冈!='*'){food=newPoint(x,y);break;}}〃显示食物publicvoidshowFo
6、od(){background[food.y][food.x]=@;}〃初始化蛇publicvoidinitSnake(){intx=WIDTH/2;inty=HEIGHT/2;snake.addFirst(newPoint(x・1,y));snake.addFirst(newPoint(x,y));snake.addFirst(newPoint(x+1,y));}〃显示蛇…〉实际上就是将蛇节点的坐标信息反馈到地图上,在地图上画上对应的字符而已publicvoidshowSnake(){〃取出蛇头Pointhead
7、=snake.getFirst();〃画蛇身for(inti=1;i8、9、rows==(HEIGHT・1)10、11、12、cols==013、14、cols==(WIDTH-1)){〃第一行、最后一行、第一列与最后一列background[rows][cols]='**;}else{background[rows][cols]='}}}}〃显示地图的〃打印二维数组for(introws=0;rows
8、
9、rows==(HEIGHT・1)
10、
11、
12、cols==0
13、
14、cols==(WIDTH-1)){〃第一行、最后一行、第一列与最后一列background[rows][cols]='**;}else{background[rows][cols]='}}}}〃显示地图的〃打印二维数组for(introws=0;rows
此文档下载收益归作者所有