package 贪吃蛇;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class 贪吃蛇Game
{
// TODO:变量“声明”在此
/**
* 文档注释 豆所在的行
*/
int 豆行 = (int) (Math.random() * 20);
/**
* 豆所在的列
*/
int 豆列 = (int) (Math.random() * 20);
/**
* 蛇所有节的行
*/
int[] 蛇行 = new int[100];
/**
* 蛇所有节的列
*/
int[] 蛇列 = new int[100];
/**
* 当前显示的节数
*/
int 蛇长度 = 5;
/**
* 方向<br>
* 1 上<br>
* 2 左<br>
* 3 下<br>
* 0 右<br>
*/
int 方向 = 1;
窗口 ck = null;
定时器 ds1 = null;
贪吃蛇Game()
{
// TODO:程序初始化在此
蛇行[0] = 10;
蛇行[1] = 10 + 1;
蛇行[2] = 10 + 2;
蛇行[3] = 10 + 3;
蛇行[4] = 10 + 4;
蛇列[0] = 10;
蛇列[1] = 10;
蛇列[2] = 10;
蛇列[3] = 10;
蛇列[4] = 10;
ck = new 窗口();
// 窗口 宽+2*立体边, 高+2*立体边+标题栏
ck.setSize(5 * 2 + 600, 600 + 2 * 5 + 25);
// 设定窗口可见性setVisible true/false
ck.setVisible(true);
// 延时的毫秒
ds1 = new 定时器(200);
}
class 窗口 extends JFrame
{
菜单 cd = null;
面板 mb = null;
窗口监听器 exit = null;
键盘监听器 jp = null;
窗口()
{
jp = new 键盘监听器();
this.addKeyListener(jp);
cd = new 菜单();
this.setJMenuBar(cd);
mb = new 面板();
this.add(mb);
exit = new 窗口监听器();
this.addWindowListener(exit);
this.repaint();
}
class 菜单 extends JMenuBar
{
JMenu dan; // 菜单
JMenuItem xiang1; // 菜单项
菜单监听器 cdjtq;
菜单()
{
dan = new JMenu("游戏"); // 菜单
xiang1 = new JMenuItem("开局"); // 菜单项
this.add(dan);
dan.add(xiang1);
cdjtq = new 菜单监听器();
xiang1.addActionListener(cdjtq);
}
class 菜单监听器 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
// TODO:菜单事件处理
if (e.getSource() == xiang1)
{
}
}
}
}
class 窗口监听器 extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
ds1.xc.stop();
System.exit(0);
}
}
class 键盘监听器 implements KeyListener
{
// TODO:键盘处理,可加入KeyEvent.VK_XXX
public void keyPressed(KeyEvent e)
{
switch (e.getKeyCode())
{
case KeyEvent.VK_LEFT:// 左
方向 = 2;
break;
case KeyEvent.VK_RIGHT:// 右
方向 = 0;
break;
case KeyEvent.VK_UP:// 上
方向 = 1;
break;
case KeyEvent.VK_DOWN:// 下
方向 = 3;
break;
}
repaint();
}
public void keyReleased(KeyEvent e)
{
}
public void keyTyped(KeyEvent e)
{
}
}
class 面板 extends JPanel
{
鼠标监听器 sb = null;
面板()
{
sb = new 鼠标监听器();
this.addMouseListener(sb);
this.addMouseMotionListener(sb);
}
class 鼠标监听器 extends MouseAdapter implements MouseMotionListener
{
public void mousePressed(MouseEvent e)
{
}
public void mouseDragged(MouseEvent e)
{
}
public void mouseMoved(MouseEvent e)
{
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)// 鼠标单击
{
// mx my鼠标的位置
int mx = e.getX();
int my = e.getY();
// 鼠标左键 BUTTON1、右键BUTTON3
if (e.getButton() == MouseEvent.BUTTON1)
{
// TODO:鼠标左键单击
}
repaint();
}
}
public void paint(Graphics g)
{
// g.setColor(Color.BLUE); //设定颜色:RED GREEN BLUE ORANGE WHITE
// GRAY BLACK PINK
// g.drawRect(左,上,宽,高); //矩形
// g.fillRect(左,上,宽,高); //实心矩形
// g.drawOval(左,上,宽,高); //椭圆
// g.fillOval(左,上,宽,高); //实心椭圆
// Image tu=(new ImageIcon( 路径 )).getImage();
// //路径:图片-右键-属性-路径src/
// g.drawImage(tu,x,y,null);
// TODO:绘图在此
Image 背景图 = (new ImageIcon("贪吃蛇/背景.PNG")).getImage(); // 路径:图片-右键-属性-路径src/
g.drawImage(背景图, 0, 0, null);
Image 豆图 = (new ImageIcon("贪吃蛇/豆.png")).getImage(); // 路径:图片-右键-属性-路径src/
g.drawImage(豆图, 10 + 豆列 * 30, 10 + 豆行 * 30, null);
for (int 节 = 1; 节 < 蛇长度; 节++)
{
Image 蛇身图 = (new ImageIcon("贪吃蛇/身.png")).getImage(); // 路径:图片-右键-属性-路径src/
g.drawImage(蛇身图, 10 + 蛇列[节] * 30, 10 + 蛇行[节] * 30, null);
}
Image 蛇头图 = (new ImageIcon("贪吃蛇/头"+方向+".png")).getImage(); // 路径:图片-右键-属性-路径src/
g.drawImage(蛇头图, 10 + 蛇列[0] * 30, 10 + 蛇行[0] * 30, null);
}
}
}
class 定时器 implements Runnable// 实现Runnable接口
{
Thread xc = null;
long jianGe;
定时器(long jianGe)
{
this.jianGe = jianGe;
xc = new Thread(this);
xc.start();
}
public void run()
{
while (true)
{
try
{
xc.sleep(jianGe);
if (this == ds1)
{
// TODO:定时处理
// TODO 2 能吃豆
if (false)
{
// TODO 长个
// TODO 出新豆
}
// TODO 爬
// TODO 能出界
if (false)
{
System.exit(0);// 关闭程序
}
// TODO 能自咬
if (false)
{
System.exit(0);// 关闭程序
}
ck.repaint();
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
// main主方法 ,主类的“入口方法”
public static void main(String[] args)
{
new 贪吃蛇Game();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
3 流程结构与游戏.rar_eclise编写_框架结构_贪吃蛇
共82个文件
class:45个
png:22个
gif:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2022-09-20
23:15:07
上传
评论
收藏 901KB RAR 举报
温馨提示
在windows下使用eclipse软件进行相关游戏的开发,首先必须搭建一个框架,此框架为Game框架,用户可自行下载,而后导入项目,即可进行相关程序的开发,如贪吃蛇、五子棋等游戏。
资源推荐
资源详情
资源评论
收起资源包目录
3 流程结构与游戏.rar (82个子文件)
3 流程结构与游戏
bin
俄罗斯方块
俄罗斯方块Game$窗口.class 2KB
俄罗斯方块Game$窗口$菜单$菜单监听器.class 1021B
俄罗斯方块Game$定时器.class 2KB
俄罗斯方块Game$窗口$菜单.class 1KB
俄罗斯方块Game$窗口$键盘监听器.class 1KB
俄罗斯方块Game.class 1KB
俄罗斯方块Game$窗口$面板.class 2KB
俄罗斯方块Game$窗口$窗口监听器.class 1KB
俄罗斯方块Game$窗口$面板$鼠标监听器.class 1KB
贪吃蛇
贪吃蛇Game$窗口$菜单.class 1KB
贪吃蛇Game$窗口$键盘监听器.class 1KB
贪吃蛇Game$窗口$面板.class 2KB
贪吃蛇Game.class 1KB
贪吃蛇Game$窗口$面板$鼠标监听器.class 1KB
贪吃蛇Game$窗口.class 2KB
贪吃蛇Game$定时器.class 1KB
贪吃蛇Game$窗口$菜单$菜单监听器.class 931B
贪吃蛇Game$窗口$窗口监听器.class 1KB
坦克大战
坦克大战Game$窗口$面板$鼠标监听器.class 1KB
坦克大战Game$窗口$窗口监听器.class 1KB
坦克大战Game$窗口$面板.class 2KB
坦克大战Game$窗口$菜单.class 1KB
坦克大战Game$窗口$键盘监听器.class 2KB
坦克大战Game$窗口.class 2KB
坦克大战Game$定时器.class 1KB
坦克大战Game$窗口$菜单$菜单监听器.class 976B
坦克大战Game.class 1KB
推箱子
推箱子Game$窗口$菜单.class 1KB
推箱子Game$窗口$键盘监听器.class 1KB
推箱子Game$窗口$面板.class 2KB
推箱子Game$定时器.class 1KB
推箱子Game$窗口$面板$鼠标监听器.class 1KB
推箱子Game$窗口$菜单$菜单监听器.class 931B
推箱子Game.class 908B
推箱子Game$窗口$窗口监听器.class 1KB
推箱子Game$窗口.class 2KB
五子棋
五子棋Game$窗口$窗口监听器.class 1KB
五子棋Game$窗口$键盘监听器.class 1KB
五子棋Game$窗口$菜单.class 1KB
五子棋Game.class 908B
五子棋Game$窗口$面板$鼠标监听器.class 1KB
五子棋Game$窗口$菜单$菜单监听器.class 931B
五子棋Game$窗口.class 2KB
五子棋Game$窗口$面板.class 1KB
五子棋Game$定时器.class 1KB
贪吃蛇
豆.png 1KB
超级豆.png 47KB
gameover.png 87KB
身.png 2KB
头1.png 2KB
头3.png 2KB
头0.png 2KB
头2.png 2KB
背景.PNG 589KB
.settings
org.eclipse.jdt.core.prefs 629B
src
贪吃蛇
贪吃蛇Game.java 5KB
推箱子
推箱子Game.java 4KB
五子棋
五子棋Game.java 4KB
.project 399B
推箱子
场地
3.GIF 1010B
2.GIF 980B
0.GIF 938B
1.GIF 970B
箱子
到井.GIF 982B
箱子.GIF 982B
人
人.GIF 1KB
踩井.GIF 1KB
2
11.png 2KB
10.png 2KB
5.png 2KB
9.png 2KB
背景-1.png 53KB
1.png 1KB
背景-2.png 66KB
Thumbs.db 25KB
6.png 2KB
2.png 2KB
7.png 2KB
4.png 2KB
8.png 2KB
3.png 2KB
.classpath 301B
共 82 条
- 1
资源评论
钱亚锋
- 粉丝: 90
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功