JAVA初级游戏项目(大鱼吃小鱼)

这篇博客分享了作者从B站学习的Java编程项目——大鱼吃小鱼游戏的源代码。游戏包括GameWin主窗口、Bg背景图片、GameUtil工具类、MyFish主角鱼和Enemy敌方鱼类等组件。提供了项目的链接供读者参考。

昨天在B站大神那边,学习了一个用Java变成的小游戏,大鱼吃小鱼。

给大家把游戏的想换代码给大家分享一下。

GameWin---游戏主窗口

package com.sxt;

/*
* @author 加墨少言
*@version 2021100100001
*
* */
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class GameWin extends JFrame {
    /*游戏状态  0未开始、1游戏中、2游戏通关、3游戏失败、4暂停*/
    //游戏默认状态
    static int state =0;

    //定义成员变量
    Image offScreenImage;
    //定义长和宽
    int width = 1180;
    int height =640;

    double random;
    //计数器
    int time=0;

    Bg bg=new Bg();

    //敌方鱼类
    Enamy enamy;

    //敌方BOSS类
    Enamy boss;
    //是否生成BOSS
    boolean isboss=false;

    //我方鱼类
    MyFish myFish=new MyFish();

    public void launch(){
        this.setVisible(true);//显示窗口
        this.setSize(width,height);//调用窗口尺寸大小
        this.setLocationRelativeTo(null);//窗口居中显示
        this.setResizable(false);//窗口大小不可调整
        this.setTitle("小鱼成长历险记"+"  "+"2021100100001");//定义窗口名称
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//关闭窗口,自动停止运行

        //创建鼠标点击事件,点击为1,
        this.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                super.mouseClicked(e);
                if(e.getButton()==1&&state==0){
                    state=1;
                    repaint();
                }
                if(e.getButton()==1&&(state==2||state==3)){
                    reGame();
                    state=1;
                }
            }

        });

        //键盘移动
        this.addKeyListener(new KeyAdapter() {
            @Override//按压
            public void keyPressed(KeyEvent e) {
                super.keyPressed(e);
                //WASD
                if(e.getKeyCode()==87){
                    GameUtils.UP=true;
                }
                if(e.getKeyCode()==83){
                    GameUtils.DOWN=true;
                }
                if(e.getKeyCode()==65){
                    GameUtils.LEFT=true;
                }
                if(e.getKeyCode()==68){
                    GameUtils.RIGHT=true;
                }
                //监听键盘空格键(32),暂停游戏,在1和4之间切换
                if(e.getKeyCode()==32){
                    switch (state){
                        case 1:
                            state=4;
                            GameUtils.drawWord(getGraphics(),"游戏暂停!!!",Color.GREEN,120,350,500);
                            break;
                        case 4:
                            state=1;
                            break;
                    }
                }
            }
            @Override//抬起
            public void keyReleased(KeyEvent e){
                super.keyReleased(e);
                if(e.getKeyCode()==87){
                    GameUtils.UP=false;
                }
                if(e.getKeyCode()==83){
                    GameUtils.DO
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值