昨天在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

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

被折叠的 条评论
为什么被折叠?



