贪吃蛇JAVA源代码完整版.doc

贪吃蛇JAVA源代码完整版.doc

ID:48650948

大小:469.87 KB

页数:10页

时间:2020-01-30

贪吃蛇JAVA源代码完整版.doc_第1页
贪吃蛇JAVA源代码完整版.doc_第2页
贪吃蛇JAVA源代码完整版.doc_第3页
贪吃蛇JAVA源代码完整版.doc_第4页
贪吃蛇JAVA源代码完整版.doc_第5页
资源描述:

《贪吃蛇JAVA源代码完整版.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文已或作者授权,转载请注明出处游戏贪吃蛇的JAVA源代码一.文档说明a)本代码主要功能为实现贪吃蛇游戏,GUI界面做到尽量简洁和原游戏相仿。目前版本包含计分,统计最高分,长度自动缩短计时功能。b)本代码受计算机系大神指点,经许可后发布如下,向Java_online网致敬c)运行时请把.java文件放入defaultpackage即可运行。二.运行截图a)文件位置b)进入游戏10ALLRIGHTSRESERVED本文已或作者授权,转载请注明出处a)游戏进行中二.JAVA代码10ALLRIGHTSRESERVED本文已或作者授

2、权,转载请注明出处importjava.awt.*;importjava.awt.event.*;importstaticjava.lang.String.format;importjava.util.*;importjava.util.List;importjavax.swing.*;publicclassSnakeextendsJPanelimplementsRunnable{enumDir{up(0,-1),right(1,0),down(0,1),left(-1,0);Dir(intx,inty){this.x=x;

3、this.y=y;}finalintx,y;}staticfinalRandomrand=newRandom();staticfinalintWALL=-1;staticfinalintMAX_ENERGY=1500;volatilebooleangameOver=true;ThreadgameThread;intscore,hiScore;intnRows=44;intnCols=64;Dirdir;intenergy;int[][]grid;Listsnake,treats;FontsmallFont;pu

4、blicSnake(){setPreferredSize(newDimension(640,440));setBackground(Color.white);setFont(newFont("SansSerif",Font.BOLD,48));setFocusable(true);smallFont=getFont().deriveFont(Font.BOLD,18);initGrid();10ALLRIGHTSRESERVED本文已或作者授权,转载请注明出处addMouseListener(newMouseAdapter(

5、){@OverridepublicvoidmousePressed(MouseEvente){if(gameOver){startNewGame();repaint();}}});addKeyListener(newKeyAdapter(){@OverridepublicvoidkeyPressed(KeyEvente){switch(e.getKeyCode()){caseKeyEvent.VK_UP:if(dir!=Dir.down)dir=Dir.up;break;caseKeyEvent.VK_LEFT:if(dir

6、!=Dir.right)dir=Dir.left;break;caseKeyEvent.VK_RIGHT:if(dir!=Dir.left)dir=Dir.right;break;caseKeyEvent.VK_DOWN:if(dir!=Dir.up)dir=Dir.down;break;}repaint();}});}voidstartNewGame(){gameOver=false;10ALLRIGHTSRESERVED本文已或作者授权,转载请注明出处stop();initGrid();treats=newLinkedL

7、ist<>();dir=Dir.left;energy=MAX_ENERGY;if(score>hiScore)hiScore=score;score=0;snake=newArrayList<>();for(intx=0;x<7;x++)snake.add(newPoint(nCols/2+x,nRows/2));doaddTreat();while(treats.isEmpty());(gameThread=newThread(this)).start();}voidstop(){if(gameThread!=null)

8、{Threadtmp=gameThread;gameThread=null;tmp.interrupt();}}voidinitGrid(){grid=newint[nRows][nCols];for(intr=0;r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。