没有合适的资源?快使用搜索试试~ 我知道了~
java贪吃蛇小游戏 NetBeans和Eclinpes都可以实现
资源推荐
资源详情
资源评论
贪吃蛇源代码
将 Location、LocationRO、SnakeFrame、SnakeModel、SnakePanel 放到命名为 snake 的
文件夹里,主函数 MainApp 放到外面运行主函数即可实现。
主函数
package snake;
import javax.swing.*;
import snake.*;
public class MainApp {
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
SnakeFrame frame=new SnakeFrame();
frame.setSize(350,350);
frame.setResizable(false);
frame.setLocation(330,220);
frame.setTitle("贪吃蛇");
frame.setVisible(true);
}
}
package snake;
public class Location {
private int x;
private int y;
Location(int x,int y){
this.x=x;
this.y=y;
}
int getX(){
return x;
}
int getY(){
return y;
}
void setX(int x){
this.x=x;
}
void setY(int y){
this.y=y;
}
public boolean equalOrRev(Location e){
return ((e.getX()==getX())&&(e.getY()==getY()))
||((e.getX()==getX())&&(e.getY()==-1*getY()))
||((e.getX()==-1*getX())&&(e.getY()==getY()));
}
public boolean equals(Location e){
return(e.getX()==getX())&&(e.getY()==getY());
}
public boolean reverse(Location e){
return ((e.getX()==getX())&&(e.getY()==-1*getY()))
||((e.getX()==-1*getX())&&(e.getY()==getY()));
}
}
package snake;
public class LocationRO{
private int x;
private int y;
LocationRO(int x,int y){
this.x=x;
this.y=y;
}
int getX(){
return x;
}
int getY(){
return y;
}
public boolean equalOrRev(LocationRO e){
return ((e.getX()==getX())&&(e.getY()==getY()))
||((e.getX()==getX())&&(e.getY()==-1*getY()))
||((e.getX()==-1*getX())&&(e.getY()==getY()));
}
public boolean equals(LocationRO e){
return(e.getX()==getX())&&(e.getY()==getY());
}
public boolean reverse(LocationRO e){
return ((e.getX()==getX())&&(e.getY()==-1*getY()))
||((e.getX()==-1*getX())&&(e.getY()==getY()));
}
}
package snake;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class SnakeFrame extends JFrame implements ActionListener{
final SnakePanel p=new SnakePanel(this);
JMenuBar menubar=new JMenuBar();
JMenu fileMenu=new JMenu("文件");
JMenuItem newgameitem=new JMenuItem("开始");
JMenuItem stopitem=new JMenuItem("暂停");
JMenuItem runitem=new JMenuItem("继续");
JMenuItem exititem=new JMenuItem("退出");
//"设置"菜单
JMenu optionMenu=new JMenu("设置");
//等级选项
ButtonGroup groupDegree = new ButtonGroup();
JRadioButtonMenuItem oneItem= new JRadioButtonMenuItem("初级");
JRadioButtonMenuItem twoItem= new JRadioButtonMenuItem("中级");
JRadioButtonMenuItem threeItem= new JRadioButtonMenuItem("高级");
JMenu degreeMenu=new JMenu("等级");
JMenu helpMenu=new JMenu("帮助");
JMenuItem helpitem=new JMenuItem("操作指南");
final JCheckBoxMenuItem showGridItem = new JCheckBoxMenuItem("显示网格");
JLabel scorelabel;
public JTextField scoreField;
private long speedtime=200;
private String helpstr = "游戏说明:\n1 :方向键控制蛇移动的方向."+
"\n2 :单击菜单'文件->开始'开始游戏."+
"\n3 :单击菜单'文件->暂停'或者单击键盘空格键暂停游戏."+
"\n4 :单击菜单'文件->继续'继续游戏."+
"\n5 :单击菜单'设置->等级'可以设置难度等级."+
剩余12页未读,继续阅读
资源评论
学编程的妹子伤不起
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- tensorflow-rocm-2.12.0.560-cp311-cp311-manylinux2014-x86-64.whl
- Windows操作系统中的CMD(命令提示符).md
- tensorflow-rocm-2.12.0.560-cp39-cp39-manylinux2014-x86-64.whl
- mmexport1713512496118.jpg
- 基于VB的俄罗斯方块系统设计与实现(源代码+参考文献).zip
- 软件测试开发工具大全资源包之Linux虚拟机
- python毕设-图片批量处理器
- 基于VB的教材管理系统设计(源代码+系统+报告+PPT).zip
- Lock接口与synchronized关键字
- 基于Java的图书馆自习室座位预约系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功