资源简介
Java开发的游戏 贪吃蛇 的完整代码
代码片段和文件信息
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.Jframe;
import javax.swing.JOptionPane;
public class Myframe extends Jframe implements MouseListenerRunnableKeyListener{
@Override
public void keyPressed(KeyEvent arg0) {
int key=arg0.getKeyCode();
switch(key){
case 37:if(fx!=right)fx=left;break;
case 38:if(fx!=down)fx=up;break;
case 39:if(fx!=left)fx=right;break;
case 40:if(fx!=up)fx=down;break;
default:break;
}
//System.out.println(key);
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
public Myframe(){
this.setIconImage(new ImageIcon(“a.jpg“).getImage());
this.setSize(750450);
this.settitle(“destiny“);
int width=Toolkit.getDefaultToolkit().getScreenSize().width;
int height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
this.setLocation(350100);
this.addMouseListener(this);
this.addKeyListener(this);
this.setResizable(false);
this.setVisible(true);
start();
thread.start();
thread.suspend();
thread.resume();
}
private int x=0y=0flag=-1time=1000000;
private int[][] map=new int[100][100];
Thread thread=new Thread(this);
int rx=0ry=0score=0diffcult=1;
int last_score=-1head_xhead_yfood_xfood_y
fx=1head_id=500tail_id=500id=500;
int body[][]=new int[1000][2];
boolean end=false;
int countZero(){
int zero=0;
for(int i=0;i<18;i++)
for(int j=0;j<18;j++){
if(map[i][j]==0){
zero++;
}
}
return zero;
}
boolean getrand(){
if(countZero()==0){
return false;
}
while(true){
rx=(int)(Math.random()*18);
ry=(int)(Math.random()*18);
if(map[rx][ry]==0){
return true;
}
}
}
class Node{
int xy;
Node(int xint y){
this.x=x;
this.y=y;
this.next=null;
}
String s;
boolean equals(Node equ){
if(this.x==equ.x&&this.y==equ.y){
return true;
}else{
return false;
}
}
Node next;
}
Node head=nulltail=nullfood=null;
void writeMap(){
this.repaint();
}
void start(){
while(true){
String str=JOptionPane.showInputDialog(“请输入难度等级(1到5之间的一个整数难度1为最简单输入exit退出):“);
if(str!=null&&str.length()==1&&str.charAt(0)>=‘1‘&&str.charAt(0)<=‘5‘){
diffcult=str.charAt(0)-‘0‘;
break;
}else if(“exit“.equals(str)){
System.exit(0);
}else{
JOptionPane.sh
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-25 12:59 Game2\
文件 301 2017-02-20 21:15 Game2\.classpath
文件 381 2017-02-20 21:15 Game2\.project
目录 0 2017-02-25 12:59 Game2\.settings\
文件 598 2017-02-20 21:15 Game2\.settings\org.eclipse.jdt.core.prefs
文件 10906 2017-02-17 12:43 Game2\a.JPG
文件 43589 2017-02-17 22:23 Game2\b.JPG
目录 0 2017-02-25 12:59 Game2\bin\
文件 685 2017-02-22 17:07 Game2\bin\Myfr
文件 8585 2017-02-22 17:07 Game2\bin\Myfr
文件 417 2017-02-22 17:07 Game2\bin\Text.class
目录 0 2017-02-25 12:59 Game2\src\
文件 7144 2017-02-21 14:22 Game2\src\Myfr
文件 829 2017-02-20 21:17 Game2\src\Text.java
- 上一篇:JAVA简版图书馆管理程序
- 下一篇:JavaEE项目案例源码
评论
共有 条评论