游戏贪吃蛇的JAVA源代码文档说明本代码主要功能为实现贪吃蛇游戏,GUI界面做到尽量简洁和原游戏相仿。目前版本包含计分,统计最高分,长度自动缩短计时功能。本代码受计算机系大神指点,经许可后发布如下,。.*;.*;;.*;;.*;lassSnakeextendsJPanelimplementsRunnable{enumDir{up(0,-1),right(1,0),down(0,1),left(-1,0);Dir(intx,inty){=x;=y;}finalintx,y;}staticfinalRandomrand=newRandom();staticfinalintWALL=-1;staticfinalintMAX_ENERGY=1500;volatilebooleangameOver=true;ThreadgameThread;intscore,hiScore;intnRows=44;intnCols=64;Dirdir;intenergy;int[][]grid;List<Point>snake,treats;FontsmallFont;publicSnake(){setPreferredSize(newDimension(640,440));setBackground();setFont(newFont("SansSerif",,48));setFocusable(true);smallFont=getFont().deriveFont(,18);initGrid();addMouseListener(newMouseAdapter(){***@OverridepublicvoidmousePressed(MouseEvente){if(gameOver){startNewGame();repaint();}}});addKeyListener(newKeyAdapter(){***@OverridepublicvoidkeyPressed(KeyEvente){switch(()){:if(dir!=)dir=;break;:if(dir!=)dir=;break;:if(dir!=)dir=;break;:if(dir!=)dir=;break;}repaint();}});}voidstartNewGame(){gameOver=false;stop();initGrid();treats=newLinkedList<>();dir=;energy=MAX_ENERGY;if(score>hiScore)hiScore=score;score=0;snake=newArrayList<>();for(intx=0;x<7;x++)(newPoint(nCols/2+x,nRows/2));doaddTreat();while(());(gameThread=newThread(this)).start();}voidstop(){if(gameThread!=null){Threadtmp=gameThread;gameThread=null;();}}voidinitGrid(){grid=newint[nRows][nCols];for(intr=0;r<nRows;r++){for(intc=0;c<nCols;c++){if(c==0||c==nCols-1||r==0||r==nRows-1)grid[r][c]=WALL;}}}***@Overridepublicvoidrun(){while(()==gameThread){try{((75-score,25));}catch(Interrupte
贪吃蛇java源代码完全版 来自淘豆网m.daumloan.com转载请标明出处.