java编写简易贪吃蛇游戏
本文实例为大家分享了java编写的贪吃蛇源码,供大家参考,具体内容如下
程序共包含以下两个文件:
文件:ShellWin.java
importjava.awt.Color; importjava.awt.Dimension; importjava.awt.FlowLayout; importjava.awt.Graphics; importjava.awt.event.*; importjavax.swing.Box; importjavax.swing.JButton; importjavax.swing.JOptionPane; importjavax.swing.JPanel; @SuppressWarnings("serial") publicclassShellWinextendsJPanelimplementsRunnable{//实现了键盘与鼠标两个接口 intdirection; intlength; intscore=0; booleancontrol=false; int[]xs=newint[400];//蛇的个数,xy,坐标控制 int[]ys=newint[400]; intdouX;intdouY; Threadthread; publicShellWin() { setPreferredSize(newDimension(600,600)); setLocation(100,100); setBackground(Color.GREEN); thread=newThread(this);//为这个类添加一个线程 create_snake(); create_bean(); } publicvoidpaintComponent(Graphicsg)//绘制 { super.paintComponent(g);//Jpanel内的方法,起到清屏的作用 g.drawString("分数:"+score,50,50); g.drawRect(0,0,600,600); show_snake(g); show_bean(g); } //能不能吃豆,能不能死 voiddie() { JOptionPane.showMessageDialog(null,"gameover","游戏结束",JOptionPane.ERROR_MESSAGE); } voideat() { length++; this.score+=100; create_bean(); } booleanout_bounds() { if(xs[0]==-10||xs[0]==600||ys[0]==-10||ys[0]==600)//出界即死 { returntrue; } returnfalse; } voidchange_direction(intnew_direction)//控制方向 { if(direction%2!=new_direction%2||direction==0)//2431上下左右 { direction=new_direction; } } booleaneat_self() { for(inti=1;i0;i--){//2431上下左右 xs[i]=xs[i-1];//后一个替代前一个4=3; ys[i]=ys[i-1]; } switch(direction){ case1: xs[0]=xs[0]+10; break; case2: ys[0]=ys[0]-10; break; case3: xs[0]=xs[0]-10; break; case4: ys[0]=ys[0]+10; break; default: break; } } voidshow_snake(Graphicsg) { for(inti=0;i 文件:ShellMain.java
importjavax.swing.Box; importjavax.swing.JFrame; @SuppressWarnings("serial") publicclassShellMainextendsJFrame{ ShellWinwin=newShellWin(); ShellWin.panelpan=win.newpanel(); Boxbox,box2; ShellMain(){ box2=Box.createHorizontalBox(); box2.add(win); box=Box.createVerticalBox(); box.add(pan.box1); box.add(Box.createVerticalStrut(8)); box.add(box2); pan.add(box); setTitle("贪吃蛇"); setSize(800,800); setVisible(true); setLayout(null); add(pan); setLocation(0,0); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } publicstaticvoidmain(String[]args){ newShellMain(); } }更多精彩游戏,请参考专题《java经典小游戏》
更多有趣的经典小游戏实现专题,分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏玩不停
javascript经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。