课程设计:贪吃蛇的游戏开发

一.实现目标

实现贪吃蛇游戏基本功能,屏幕上随机出现一个“食物”,称为豆子,上下左右控制“蛇”的移动,吃到“豆子”以后“蛇”的身体加长一点,得分增加,“蛇”碰到边界或,蛇头与蛇身相撞,蛇死亡,游戏结束。为游戏设计初始欢迎界面,游戏界面,游戏结束界面。

二.实现思路

在这里插入图片描述

三.游戏界面设计

1.游戏界面构造
public class MySnake extends JFrame {
   
    public MySnake(){
   
        JMenuBar bar=new JMenuBar();//菜单条
        JMenu music=new JMenu("Music");//菜单
        JMenu speed=new JMenu("Speed");
        JMenuItem yes=new JMenuItem("Yes");//菜单选项
        JMenuItem no=new JMenuItem("No");//菜单选项
        JMenuItem slow=new JMenuItem("Low");
        JMenuItem medium=new JMenuItem("Medium");
        JMenuItem fast=new JMenuItem("Fast");
        bar.add(music);
        bar.add(speed);
        music.add(yes);
        music.add(no);
        speed.add(slow);
        speed.add(medium);
        speed.add(fast);
        add(bar, BorderLayout.NORTH);//设置菜单的位置,边框布局管理器
    }

    public static void main(String[] args) {
   
        MySnake frame = new MySnake();
        Image icon=Toolkit.getDefaultToolkit().getImage("icon.jpg");//设置最小化的图标
        frame.setIconImage(icon);
        frame.setTitle("Snake");
        frame.setBounds(20, 20, 800, 640);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new MPanel());
        frame.setVisible(true);//显示框架
    }
}
2.蛇和食物的构造
 private int[] snakeX = new int[700];
 private int[] snakeY = new int[700];
 Point bean=new Point();//保存豆子位置的点
 Random rand = new Random();//随机数
 public void initSnake() {
   
        len = 3;
        snakeX[0]= 200;//蛇的初始化
        snakeY[0] = 200;
        snakeX[1] = 180;
        snakeY[1] = 200;
        snakeX[2] = 160;
        snakeY[2] = 200;
        bean.setXAndY(20 * rand.nextInt(35),20 * rand.nextInt(28));//豆子初始化
        direc= "R";
        score = 0;
    }

三.游戏过程

1.蛇的移动
 switch (direc){
   //蛇头方向改变
    case "R":
        snakeX[0] = snakeX[0] + 20;
        break;
    case 
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值