贪吃蛇
import java.awt.*;

import java.awt.event.*;
public class GreedSnake //主类
{
public static void main(String[] args) {
// TODO Auto-generated method stub
new MyWindow();
}
}
class MyPanel extends Panel implements KeyListener,Runnable//自定义面板类,继承了键盘和线程接口
{
Button snake[]; //定义蛇按钮
int shu=0; //蛇的节数
int food[]; //食物数组
boolean result=true; //判定结果是输 还是赢
Thread thread; //定义线程
static int weix,weiy; //食物位置
boolean t=true; //判定游戏是否结束
int fangxiang=0; //蛇移动方向
int x=0,y=0; //蛇头位置
MyPanel()
{
setLayout(null);
snake=new Button[20];
food=new int [20];
thread=new Thread(this);
for(int j=0;j<20;j++)
{
food[j]=(int)(Math.random()*99);//定义20个随机食物
}
weix=(int)(food[0]*0.1)*60; //十位*60为横坐标
weiy=(int)(food[0]%10)*40; //个位*40为纵坐标
for(int i=0;i<20;i++)
{
snake[i]=new Button();
}
add(snake[0]);
snake[0].setBackground(Color.black);
snake[0].addKeyListener(this); //为蛇头添加键盘监视器
snake[0].setBounds(0,0,10,10);
setBackground(Color.cyan);
}
public void run() //接收线程
{
while(t)
{
if(fangxiang==0)//向右
{
try
{
x+=10;
snake[0].setLocation(x, y);//设置蛇头位置
if(x==weix&&y==weiy) //吃到食物
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint(); //重绘下一个食物
add(snake[shu]); //增加蛇节数和位置
snake[shu].setBounds(snake[shu-1].getBounds());
}
thread.sleep(100); //睡眠100ms
}
catch(Exception e){}
}
else if(fangxiang==1)//向左
{
try
{
x-=10;
snake[0].setLocation(x, y);
if(x==weix&&y==weiy)
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint();
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}
thread.sleep(100);
}
catch(Exception e){}
}
else if(fangxiang==2)//向上
{
try
{
y-=10;
snake[0].setLocation(x, y);
if(x==weix&&y==weiy)
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint();
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}
thread.sleep(100);
}
catch(Exception e){}
}
else if(fangxiang==3)//向下
{
try
{
y+=10;
snake[0].setLocation(x, y);
if(x==weix&&y==weiy)
{
shu++;
weix=(int)(food[shu]*0.1)*60;
weiy=(int)(food[shu]%10)*40;
repaint();
add(snake[shu]);
snake[shu].setBounds(snake[shu-1].getBounds());
}
thread.sleep(100);
}
catch(Exception e){}
}
int num1=shu;
while(num1>1)//判断是否咬自己的尾巴
{
if(snake[num1].getBounds().x==snake[0].getBounds().x&&snake[num1].getBounds().y==snake[0].getBounds().y)
{
t=false;
result=false;
repaint();
}
num1--;
}
if(x<0||x>=this.getWidth()||y<0||y>=this.getHeight())//判断是否撞墙
{
t=false;
result=false;
repaint();
}
int num=shu;
while(num>0) //设置蛇节位置
{
snake[num].setBounds(snake[num-1].getBounds());
num--;
}
if(shu==15) //如果蛇节数等于15则胜利
{
t=false;
result=true;
repaint();
}
}
}
public void keyPressed(KeyEvent e) //按下键盘方向键
{
if(e.getKeyCode()==KeyEvent.VK_RIGHT)//右键
{
if(fangxiang!=1)//如果先前方向不为左
fangxiang=0;
}
else if(e.getKeyCode()==KeyEvent.VK_LEFT)
{ if(fangxiang!=0)
fangxiang=1;
}
else if(e.getKeyCode()==KeyEvent.VK_UP)
{ if(fangxiang!=3)
fangxiang=2;
}
else if(e.getKeyCode()==KeyEvent.VK_DOWN)
{ if(fangxiang!=2)
fangxiang=3;
}
}
public void keyTyped(KeyEvent e)
{
}
public void keyReleased(KeyEvent e)
{
}
public void paint(Graphics g) //在面板上绘图
{
int x1=this.getWidth()-1;
int y1=this.getHeight()-1;
g.setColor(Color.red);
g.fillOval(weix, weiy, 10, 10);//食物

g.drawRect(0, 0, x1, y1); //墙
if(t==false&&result==false)
g.drawString("GAME OVER!", 250, 200);//输出游戏失败
else if(t==false&&result==true)
g.drawString("YOU WIN!", 250, 200);//输出游戏成功
}
}
class MyWindow extends frame implements ActionListener//自定义窗口类
{
MyPanel my;
Button btn;
Panel panel;
MyWindow()
{
super("GreedSnake");
my=new MyPanel();
btn=new Button("begin");
panel=new Panel();
btn.addActionListener(this);
panel.add(new Label("begin后请按Tab键选定蛇"));
panel.add(btn);
panel.add(new Label("按上下左右键控制蛇行动"));
add(panel,BorderLayout.NORTH);
add(my,BorderLayout.CENTER);
setBounds(100,100,610,500);
setVisible(true);
validate();
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)//按下begin按钮
{
if(e.getSource()==btn)
{
try
{
my.thread.start(); //开始线程
my.validate();
}
catch(Exception ee){}
}
}
}
求截取该flash小游戏的源代码的方法,万分感激!!!
android教程百度网盘免费资源在线学习?
链接:?https://pan.baidu.com/s/1vEeYVMBFhxsmmlxkEoHW1w
?提取码:?vqbq?android教程?
千锋教育Mars老师Android游戏开发教程-数独-源码下载(1)?
千锋教育Mars老师Android游戏开发教程-数独-源码下载?
千锋Android游戏开发视频教程-游戏数独-Mars力作(1)?
千锋Android游戏开发视频教程-游戏数独-Mars力作?
千锋Android应用开发培训视频教程-老罗在线课堂?
千锋Android应用开发培训视频教程-老罗典藏版?
千锋Android培训-Java视频教程-Mars典藏版?
Android游戏开发基础视频教程-cocos2dMars版?
千锋3G学院_Android游戏开发教程_数独_08.mp4?
千锋3G学院_Android游戏开发教程_数独_07.mp4?
千锋3G学院_Android游戏开发教程_数独_06.mp4?
千锋3G学院_Android游戏开发教程_数独_05.mp4?
千锋3G学院_Android游戏开发教程_数独_04.mp4?
千锋3G学院_Android游戏开发教程_数独_03.mp4
那是因为你flash
播放器没安装,或者
版本低了,打开
http://games.ruopo.com
移动到最下面,有个
flash
播放器下载,下载了就行了。
下载方法:
打开游戏后,在游戏框外面有个“下载游戏”点它下载就行了~
要论坛本身自带
flash
模块,只要有了
flash
模块,下一步就是找到你喜欢的那个小游戏
flash
SWF
格式的
网址,
例如
打开
http://games.ruopo.com
找到你喜欢的小游戏,点
游戏页面
后在游戏框
外面
有个
分享此游戏,
点它,把
带
swf
格式的网址复制起来,(一般这个网站第2个就是
swf
地址),跟着
打开你要上传的那个论坛
,新建
模块,把刚刚复制的那个SWF网址
复制进去就行了。
打开
你想要的
小游戏页面
如
http://games.ruopo.com
,选择你喜欢的小游戏,跟着在游戏框外面有个
分享此游戏,点它,把带
SWF
格式的
地址
复制下来,
然后在打开
QQ空间,新建一个
flash
模块,把刚刚那个地址复制进去。
例如
打开http://games.ruopo.com
你想要下载的小游戏页面,在游戏框外面有个“下载游戏”点它下载就行了~
我教你如何
知道
任何小游戏
SWF
格式地址。
.
先说说
这个网站
http://games.ruopo.com
这个网站
所有的
flash
游戏都可以下载,打开游戏页面
,跟着在游戏框
外面
有个分享此游戏
,点它,第2个
就是
SWF
格式的地址了~
.
要是其它网站,你就右键
那个
游戏页面,
查看源文件,
跟着
Ctrl+
F
,输入
swf
,你点
下一步。
看到
带
SWF
那些代码没?
看着那个符合
游戏的,就把那个复制起来。
找到你想要的小游戏的flash
地址后,打开空间,跟着新建一个
flash
模块,把那个带
SWF
格式的小游戏地址复制进去就行了~
.
例如
在
http://games.ruopo.com
中
,我选择了自己喜欢的一款游戏,在游戏页面有个“分享此游戏”
点它,把
带
SWF
格式的小游戏网址复制起来,转到空间flash模块中提交就行了。
你点击页面-工具
Internet
选项-游览历史记录(这个范围内点那个
设置,中间那有个
当前位置,看到没,那个

C:***
的就是了,不过很多的,你要找的时候,尽量用知道的途径找,例如,我要找金庸小游戏缓存文件,那我就会有
Ctrl+F,跟着输入金庸小游戏,这样就能更快的找到自己想要的那个缓存文件了)
.
希望我知道的能帮到你


