首页编程java编程java小游戏毕业设计,用java设计简单的小游戏

java小游戏毕业设计,用java设计简单的小游戏

编程之家2026-06-04860次浏览

其实java小游戏毕业设计的问题并不复杂,但是又很多的朋友都不太了解用java设计简单的小游戏,因此呢,今天小编就来为大家分享java小游戏毕业设计的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

java小游戏毕业设计,用java设计简单的小游戏

java编程 设计如下图所示的窗口,完成猜数小游戏的设计。

界面不是完全一致,但是可行。

package ex1;

import java.util.Scanner;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

java小游戏毕业设计,用java设计简单的小游戏

class WindowButton extends JFrame implements ActionListener

{

private static final long serialVersionUID= 1L;

int number;

JTextField inputNumber;

JLabel feedBack;

JButton buttonGetNumber,buttonEnter;

WindowButton(String s)

{

super(s);

buttonGetNumber= new JButton("得到一个新的随机数");

feedBack= new JLabel("无反馈信息",JLabel.CENTER);

feedBack.setBackground(Color.red);

inputNumber= new JTextField("0",5);

buttonEnter= new JButton("确定");

buttonEnter.addActionListener(WindowButton.this);

//code 1:按钮buttonEnter增加ActionEvent事件监视器,监视器为当前窗口

buttonGetNumber.addActionListener(WindowButton.this);

//code 2:按钮buttonGetNumber增加ActionEvent事件监视器,监视器为当前窗口

Box boxH1= Box.createHorizontalBox();

boxH1.add(new JLabel("获取1-100之间的随机数:"));

boxH1.add(buttonGetNumber);

Box boxH2= Box.createHorizontalBox();

boxH2.add(new JLabel("输入您的猜测:"));

boxH2.add(inputNumber);

Box boxH3= Box.createHorizontalBox();

boxH3.add(new JLabel("单击确定按钮:"));

boxH3.add(buttonEnter);

Box boxH4= Box.createHorizontalBox();

boxH4.add(new JLabel("反馈信息:"));

boxH4.add(feedBack);

Box baseBox= Box.createVerticalBox();

baseBox.add(boxH1);

baseBox.add(boxH2);

baseBox.add(boxH3);

baseBox.add(boxH4);

Container con= getContentPane();

con.setLayout(new FlowLayout());

con.add(baseBox);

con.validate();

setBounds(230,225,400,200);

setVisible(true);

validate();

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()== buttonGetNumber)//code 3:判断事件是否是buttonGetNumber

number=(int)(Math.random()*100)+1;

else if(e.getSource()== buttonEnter)//code 4:判断事件是否是buttonEnter

{

int guess= 0;

try{

guess= Integer.parseInt(inputNumber.getText());

//code 5:返回inputNumber中的文本

if(guess== number)

{

feedBack.setText("猜对了~");

//code 6:feedBack设置提示文本:"猜对了"

}

else if(guess> number)

{

feedBack.setText("猜大了~");

inputNumber.setText(null);

}

else if(guess< number)

{

feedBack.setText("猜小了~");

inputNumber.setText(null);

}

}

catch(NumberFormatException event)

{

feedBack.setText("请输入数字字符");

//code 7:feedBack设置提示文本:"请输入数字字符"

}

}

}

}

public class GuessNumberGame{

public static void main(String[] args){

new WindowButton("猜数子小游戏");

}

}

java小游戏

按照题目要求,人拿完火柴后计算机自动拿火柴,判断胜利者。鼠标点击ok或者键盘按enter键即可提交人拿的火柴个数。图形界面如下,

import java.awt.*;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.Random;

import javax.swing.JOptionPane;

import javax.swing.JFrame;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.JPasswordField;

public class game extends javax.swing.JFrame implements ActionListener{

private JPanel frame;

private JTextField pwd;

private JTextField jLabel1;

private JTextField jLabel2;

private JButton bntOk;

private JLabel l1;

private JLabel l2;

private JLabel l3;

int total;

public static void main(String[] args)

{

game ff=new game();

}

public game(){

initGUI();

Random r=new Random();

total=r.nextInt(51);

while(total<20){

total=r.nextInt(51);

}

jLabel2.setText(String.valueOf(total));

this.setSize(500, 500);

this.setLocation(300, 400);

this.setLocationRelativeTo(null);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

getRootPane().setDefaultButton(bntOk);

bntOk.addActionListener(this);

}

public void actionPerformed(java.awt.event.ActionEvent evt)

{

int a=Integer.parseInt(jLabel1.getText());

if((a>3)||(a==0)){

JOptionPane.showMessageDialog(game.this,"输入错误

请重新输入");

return;

}

total=total-a;

jLabel2.setText(String.valueOf(total));

if(total<=0){

JOptionPane.showMessageDialog(game.this,"恭喜你,胜利了!");

return;

}

Random r=new Random();

int b=r.nextInt(4);

while(b==0)

b=r.nextInt(4);

pwd.setText(String.valueOf(b));

total=total-b;

jLabel2.setText(String.valueOf(total));

if(total<=0){

JOptionPane.showMessageDialog(game.this,"很遗憾,你输了!");

}

}

private void initGUI(){

frame=new JPanel();

getContentPane().add(frame, BorderLayout.CENTER);

frame.setLayout(null);

bntOk=new JButton();

bntOk.setText("OK");

bntOk.setBounds(150, 200, 66, 30);

frame.add(bntOk);

jLabel2= new JTextField();

jLabel2.setBounds(150, 50, 100, 50);

frame.add(jLabel2);

l1=new JLabel();

l1.setText("火柴数量");

l1.setBounds(90, 50, 100, 50);

frame.add(l1);

jLabel1= new JTextField();

jLabel1.setText("");

jLabel1.setBounds(200,149, 77, 22);

frame.add(jLabel1);

l2=new JLabel();

l2.setText("我拿火柴");

l2.setBounds(100, 149, 77, 22);

frame.add(l2);

l3=new JLabel();

l3.setText("对方拿火柴");

l3.setBounds(100, 249, 77, 22);

frame.add(l3);

pwd= new JTextField();

pwd.setBounds(200, 249, 77, 22);

frame.add(pwd);

bntOk.addMouseListener(new MouseAdapter()

{

@Override

public void mouseClicked(MouseEvent e1){

int a=Integer.parseInt(jLabel1.getText());

if((a>3)||(a==0)){

JOptionPane.showMessageDialog(game.this,"输入错误

请重新输入");

return;

}

total=total-a;

jLabel2.setText(String.valueOf(total));

if(total<=0){

jLabel2.setText("0");

JOptionPane.showMessageDialog(game.this,"恭喜你,胜利了!");

return;

}

Random r=new Random();

int b=r.nextInt(4);

while(b==0)

b=r.nextInt(4);

pwd.setText(String.valueOf(b));

total=total-b;

jLabel2.setText(String.valueOf(total));

if(total<=0){

JOptionPane.showMessageDialog(game.this,"很遗憾,你输了!");

}

}

}

);

}

}

几个Java小游戏代码

package reduce;

import java.applet.Applet;

import java.applet.AudioClip;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Toolkit;

import javax.sound.sampled.AudioFileFormat;

import javax.sound.sampled.AudioSystem;

import javax.swing.JFrame;

import javax.swing.JPanel;

import java.awt.Rectangle;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JOptionPane;

import javax.swing.JSlider;

import javax.swing.JLabel;

import javax.swing.SwingUtilities;

import javax.swing.UIManager;

import javax.swing.event.ChangeEvent;

import javax.swing.event.ChangeListener;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.io.File;

import java.util.Vector;

public class Frame extends JFrame implements Runnable{

JPanel contentPane;

JPanel jPanel1= new JPanel();

JButton jButton1= new JButton();

JSlider jSlider1= new JSlider();

JLabel jLabel1= new JLabel();

JButton jButton2= new JButton();

JLabel jLabel2= new JLabel();

int count= 1, rapidity= 80;// count当前进行的个数, rapidity游标的位置

int zhengque= 0, cuowu= 0;

int rush[]={ 10,20,30};//游戏每关的个数可以自由添加.列{ 10,20,30,40,50}

int rush_count= 0;//记录关数

char list[]={'A','B','C','D','E','F','G','H','I','J','K','L',

'M','N','O','P','Q','R','S','T','U','V','W','X','Y',

'Z','1','2','3','4','5','6','7','8','9'};//随机出现的数字可以自由添加

Vector number= new Vector();

String paiduan="true";

AudioClip Musci_anjian, Music_shibai, Music_chenggong;

public Frame(){

try{

setDefaultCloseOperation(EXIT_ON_CLOSE);

//-----------------声音文件---------------------

Musci_anjian= Applet.newAudioClip(new File("sounds//anjian.wav")

.toURL());

Music_shibai= Applet.newAudioClip(new File("sounds//shibai.wav")

.toURL());

Music_chenggong= Applet.newAudioClip(new File(

"sounds//chenggong.wav").toURL());

//---------------------------------------

jbInit();

} catch(Exception exception){

exception.printStackTrace();

}

}

/**

* Component initialization.

*

*@throws java.lang.Exception

*/

private void jbInit() throws Exception{

contentPane=(JPanel) getContentPane();

contentPane.setLayout(null);

setSize(new Dimension(588, 530));

setTitle("Frame Title");

jPanel1.setBorder(BorderFactory.createEtchedBorder());

jPanel1.setBounds(new Rectangle(4, 4, 573, 419));

jPanel1.setLayout(null);

jButton1.setBounds(new Rectangle(277, 442, 89, 31));

jButton1.setText("开始");

jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));

jSlider1.setBounds(new Rectangle(83, 448, 164, 21));

jSlider1.setMaximum(100);

jSlider1.setMinimum(1);

jSlider1.setValue(50);

jLabel1.setText("速度");

jLabel1.setBounds(new Rectangle(35, 451, 39, 18));

jButton2.setBounds(new Rectangle(408, 442, 89, 31));

jButton2.setText("结束");

jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this));

jLabel2.setText("第一关:100个");

jLabel2.setBounds(new Rectangle(414, 473, 171, 21));

contentPane.add(jPanel1);

contentPane.add(jButton2);

contentPane.add(jButton1);

contentPane.add(jSlider1);

contentPane.add(jLabel1);

contentPane.add(jLabel2);

this.addKeyListener(new MyListener());

jButton1.addKeyListener(new MyListener());

jSlider1.addKeyListener(new MyListener());

jSlider1.addChangeListener(new ChangeListener(){

public void stateChanged(ChangeEvent e){

rapidity= jSlider1.getValue();

}

});

}

public void run(){

number.clear();

zhengque= 0;

cuowu= 0;

paiduan="true";

while(count<= rush[rush_count]){

try{

Thread t= new Thread(new Tthread());

t.start();

count+= 1;

Thread.sleep(1000+(int)(Math.random()* 2000));//生产下组停顿时间

//最快1快.最慢2秒

} catch(InterruptedException e){

e.printStackTrace();

}

}

while(true){//等待最后一个字符消失

if(number.size()== 0){

break;

}

}

if(zhengque== 0){//为了以后相除..如果全部正确或者错误就会出现错误.所以..

zhengque= 1;

}

if(cuowu== 0){

cuowu= 1;

}

if(paiduan.equals("true")){//判断是否是自然结束

if(zhengque/ cuowu>= 2){

JOptionPane.showMessageDialog(null,"恭喜你过关了");

rush_count+= 1;//自动加1关

if(rush_count< rush.length){

if(rapidity> 10){//当速度大于10的时候在-5提加速度.怕速度太快

rapidity-= 5;//速度自动减10毫秒

jSlider1.setValue(rapidity);//选择位置

}

Thread t= new Thread(this);

t.start();

} else{

JOptionPane.showMessageDialog(null,"牛B...你通关了..");

rush_count= 0;

count= 0;

}

} else{

JOptionPane.showMessageDialog(null,"请再接再励");

rush_count= 0;

count= 0;

}

} else{

rush_count= 0;

count= 0;

}

}

public void jButton1_actionPerformed(ActionEvent e){

Thread t= new Thread(this);

t.start();

}

public void jButton2_actionPerformed(ActionEvent e){

count= rush[rush_count]+ 1;

paiduan="flase";

}

class Tthread implements Runnable{

public void run(){

boolean fo= true;

int Y= 0, X= 0;

JLabel show= new JLabel();

show.setFont(new java.awt.Font("宋体", Font.PLAIN, 33));

jPanel1.add(show);

X= 10+(int)(Math.random()* 400);

String parameter= list[(int)(Math.random()* list.length)]+"";

Bean bean= new Bean();

bean.setParameter(parameter);

bean.setShow(show);

number.add(bean);

show.setText(parameter);

while(fo){

//---------------------数字下移--------------------

show.setBounds(new Rectangle(X, Y+= 2, 33, 33));

try{

Thread.sleep(rapidity);

} catch(InterruptedException e){

e.printStackTrace();

}

if(Y>= 419){

fo= false;

for(int i= number.size()- 1; i>= 0; i--){

Bean bn=((Bean) number.get(i));

if(parameter.equalsIgnoreCase(bn.getParameter())){

cuowu+= 1;

jLabel2.setText("正确:"+ zhengque+"个,错误:"+ cuowu

+"个");

number.removeElementAt(i);

Music_shibai.play();

break;

}

}

}

}

}

}

class MyListener extends KeyAdapter{

public void keyPressed(KeyEvent e){

String uu= e.getKeyChar()+"";

for(int i= 0; i< number.size(); i++){

Bean bean=((Bean) number.get(i));

if(uu.equalsIgnoreCase(bean.getParameter())){

zhengque+= 1;

number.removeElementAt(i);

bean.getShow().setVisible(false);

jLabel2.setText("正确:"+ zhengque+"个,错误:"+ cuowu+"个");

Music_chenggong.play();

break;

}

}

Musci_anjian.play();

}

}

public static void main(String[] args){

try{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch(Exception exception){

exception.printStackTrace();

}

Frame frame= new Frame();

Dimension screenSize= Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize= frame.getSize();

if(frameSize.height> screenSize.height){

frameSize.height= screenSize.height;

}

if(frameSize.width> screenSize.width){

frameSize.width= screenSize.width;

}

frame.setLocation((screenSize.width- frameSize.width)/ 2,

(screenSize.height- frameSize.height)/ 2);

frame.setVisible(true);

}

}

class Frame1_jButton2_actionAdapter implements ActionListener{

private Frame adaptee;

Frame1_jButton2_actionAdapter(Frame adaptee){

this.adaptee= adaptee;

}

public void actionPerformed(ActionEvent e){

adaptee.jButton2_actionPerformed(e);

}

}

class Frame1_jButton1_actionAdapter implements ActionListener{

private Frame adaptee;

Frame1_jButton1_actionAdapter(Frame adaptee){

this.adaptee= adaptee;

}

public void actionPerformed(ActionEvent e){

adaptee.jButton1_actionPerformed(e);

}

}

class Bean{

String parameter= null;

JLabel show= null;

public JLabel getShow(){

return show;

}

public void setShow(JLabel show){

this.show= show;

}

public String getParameter(){

return parameter;

}

public void setParameter(String parameter){

this.parameter= parameter;

}

}

我只有一个打字母小游戏

关于本次java小游戏毕业设计和用java设计简单的小游戏的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

和平精英怎么飞车,和平精英官网王者星会员入口在哪里,王者荣耀星会员福利游戏盒子