java简单小游戏,飞翔的小鸟java基础教程
本篇文章给大家谈谈java简单小游戏,以及飞翔的小鸟java基础教程对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
求一个简单又有趣的JAVA小游戏代码
具体如下:
连连看的小源码
package Lianliankan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame;//主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel;//子面板
JButton diamondsButton[][]= new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton;//退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0");//分数标签
JButton firstButton,secondButton;//
分别记录两次62616964757a686964616fe59b9ee7ad9431333335326239被选中的按钮
int grid[][]= new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false;//判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV;//游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
对于字符和Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20代表一个空格,而 0x74代表字符“t”)。一些数据类型每个字符使用一个字节;每个字节可以具有 256个不同的位模式中的一个模式。
在计算机中,字符由不同的位模式(ON或 OFF)表示。每个字节有 8位,这 8位可以有 256种不同的 ON和 OFF组合模式。对于使用 1个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多 256个不同的字符。2个字节有 16位,这 16位可以有 65,536种唯一的 ON和 OFF组合模式。使用 2个字节表示每个字符的程序可表示最多 65,536个字符。
单字节代码页是字符定义,这些字符映射到每个字节可能有的 256种位模式中的每一种。代码页定义大小写字符、数字、符号以及!、@、#、%等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。
虽然用于表示 A到 Z拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。
如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。
几个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小游戏
按照题目要求,人拿完火柴后计算机自动拿火柴,判断胜利者。鼠标点击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简单小游戏和飞翔的小鸟java基础教程的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。