java好玩的代码,java烟花代码
这篇文章给大家聊聊关于java好玩的代码,以及java烟花代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
跪地求好玩的JAVA 源代码~
连连看java源代码
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;//分别记录两次被选中的按钮
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;//消除方法控制
public void init(){
mainFrame=new JFrame("JKJ连连看");
thisContainer= mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new GridLayout(6,5));
for(int cols= 0;cols< 6;cols++){
for(int rows= 0;rows< 5;rows++){
diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}
exitButton=new JButton("退出");
exitButton.addActionListener(this);
resetButton=new JButton("重列");
resetButton.addActionListener(this);
newlyButton=new JButton("再来一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
public void randomBuild(){
int randoms,cols,rows;
for(int twins=1;twins<=15;twins++){
randoms=(int)(Math.random()*25+1);
for(int alike=1;alike<=2;alike++){
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0){
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
}
}
}
public void fraction(){
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));
}
public void reload(){
int save[]= new int[30];
int n=0,cols,rows;
int grid[][]= new int[8][7];
for(int i=0;i<=6;i++){
for(int j=0;j<=5;j++){
if(this.grid[i][j]!=0){
save[n]=this.grid[i][j];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n>=0){
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0){
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation=false;//这里一定要将按钮点击信息归为初始
init();
for(int i= 0;i< 6;i++){
for(int j= 0;j< 5;j++){
if(grid[i+1][j+1]==0)
diamondsButton[i][j].setVisible(false);
}
}
}
public void estimateEven(int placeX,int placeY,JButton bz){
if(pressInformation==false){
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else{
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg&& secondButton!=firstButton){
xiao();
}
}
}
public void xiao(){//相同的情况下能不能消去。仔细分析,不一条条注释
if((x0==x&&(y0==y+1||y0==y-1))||((x0==x+1||x0==x-1)&&(y0==y))){//判断是否相邻
remove();
}
else{
for(j=0;j<7;j++){
if(grid[x0][j]==0){//判断第一个按钮同行哪个按钮为空
if(y>j){//如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边
for(i=y-1;i>=j;i--){//判断第二按钮左侧直到第一按钮中间有没有按钮
if(grid[x][i]!=0){
k=0;
break;
}
else{ k=1;}//K=1说明通过了第一次验证
}
if(k==1){
linePassOne();
}
}
if(y<j){//如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边
for(i=y+1;i<=j;i++){//判断第二按钮左侧直到第一按钮中间有没有按钮
if(grid[x][i]!=0){
k=0;
break;
}
else{ k=1;}
}
if(k==1){
linePassOne();
}
}
if(y==j){
linePassOne();
}
}
if(k==2){
if(x0==x){
remove();
}
if(x0<x){
for(n=x0;n<=x-1;n++){
if(grid[n][j]!=0){
k=0;
break;
}
if(grid[n][j]==0&& n==x-1){
remove();
}
}
}
if(x0>x){
for(n=x0;n>=x+1;n--){
if(grid[n][j]!=0){
k=0;
break;
}
if(grid[n][j]==0&& n==x+1){
remove();
}
}
}
}
}
for(i=0;i<8;i++){//列
if(grid[i][y0]==0){
if(x>i){
for(j=x-1;j>=i;j--){
if(grid[j][y]!=0){
k=0;
break;
}
else{ k=1;}
}
if(k==1){
rowPassOne();
}
}
if(x<i){
for(j=x+1;j<=i;j++){
if(grid[j][y]!=0){
k=0;
break;
}
else{ k=1;}
}
if(k==1){
rowPassOne();
}
}
if(x==i){
rowPassOne();
}
}
if(k==2){
if(y0==y){
remove();
}
if(y0<y){
for(n=y0;n<=y-1;n++){
if(grid[i][n]!=0){
k=0;
break;
}
if(grid[i][n]==0&& n==y-1){
remove();
}
}
}
if(y0>y){
for(n=y0;n>=y+1;n--){
if(grid[i][n]!=0){
k=0;
break;
}
if(grid[i][n]==0&& n==y+1){
remove();
}
}
}
}
}
}
}
public void linePassOne(){
if(y0>j){//第一按钮同行空按钮在左边
for(i=y0-1;i>=j;i--){//判断第一按钮同左侧空按钮之间有没按钮
if(grid[x0][i]!=0){
k=0;
break;
}
else{ k=2;}//K=2说明通过了第二次验证
}
}
if(y0<j){//第一按钮同行空按钮在与第二按钮之间
for(i=y0+1;i<=j;i++){
if(grid[x0][i]!=0){
k=0;
break;
}
else{ k=2;}
}
}
}
public void rowPassOne(){
if(x0>i){
for(j=x0-1;j>=i;j--){
if(grid[j][y0]!=0){
k=0;
break;
}
else{ k=2;}
}
}
if(x0<i){
for(j=x0+1;j<=i;j++){
if(grid[j][y0]!=0){
k=0;
break;
}
else{ k=2;}
}
}
}
public void remove(){
firstButton.setVisible(false);
secondButton.setVisible(false);
fraction();
pressInformation=false;
k=0;
grid[x0][y0]=0;
grid[x][y]=0;
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==newlyButton){
int grid[][]= new int[8][7];
this.grid= grid;
randomBuild();
mainFrame.setVisible(false);
pressInformation=false;
init();
}
if(e.getSource()==exitButton)
System.exit(0);
if(e.getSource()==resetButton)
reload();
for(int cols= 0;cols< 6;cols++){
for(int rows= 0;rows< 5;rows++){
if(e.getSource()==diamondsButton[cols][rows])
estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args){
lianliankan llk= new lianliankan();
llk.randomBuild();
llk.init();
}
}
//old 998 lines
//new 318 lines
基于JAVA的3D坦克游戏源代码
JAVA猜数字小游戏源代码
/*1、编写一个猜数字的游戏,由电脑随机产生一个100以内的整数,让用户去猜,如果用户猜的比电脑大,则输出“大了,再小点!”,反之则输出“小了,再大点!”,用户总共只能猜十次,并根据用户正确猜出答案所用的次数输出相应的信息,如:只用一次就猜对,输出“你是个天才!”,八次才猜对,输出“笨死了!”,如果十次还没有猜对,则游戏结束!*/
import java.util.*;
import java.io.*;
public class CaiShu{
public static void main(String[] args) throws IOException{
Random a=new Random();
int num=a.nextInt(100);
System.out.println("请输入一个100以内的整数:");
for(int i=0;i<=9;i++){
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String str=bf.readLine();
int shu=Integer.parseInt(str);
if(shu>num)
System.out.println("输入的数大了,输小点的!");
else if(shu<num)
System.out.println("输入的数小了,输大点的!");
else{
System.out.println("恭喜你,猜对了!");
if(i<=2)
System.out.println("你真是个天才!");
else if(i<=6)
System.out.println("还将就,你过关了!");
else if(i<=8)
System.out.println("但是你还……真笨!");
else
System.out.println("你和猪没有两样了!");
break;}
}
}
}
求做一个简单的JAVA代码
1.判断改年份是否为闰年,见下面的check()方法
2.计算该月天数,用Calendar类的getActualMaximum()方法能返回指定日历字段可能拥有的最大值,Calendar.DAY_OF_MONTH就是月份字段了
3.计算该月第一天是星期几,复制一个日历实例,把复制的日历设成当月1号,求出1号是星期几,用get()方法,返回指定日历字段的值,Calendar.DAY_OF_WEEK表示星期字段,get(Calendar.DAY_OF_WEEK)返回1- 7,是星期天-星期六,而不是星期一-星期天
4.格式化输出该年月,用SimpleDateFormat类格式化日期,见下面的代码:
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class CalendarTest{
/**
*@param args
*/
public static void main(String[] args){
// TODO Auto-generated method stub
//使用Calendar类处理日期
Calendar objCalendar= Calendar.getInstance();
//4.格式化输出该年月,用SimpleDateFormat类格式化日期
//格式:"yyyy年MM月dd日 HH:mm:ss",其中HH是24小时制,hh是12小时制
SimpleDateFormat sdf= new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println("当前时间:"+ sdf.format(objCalendar.getTime()));
//1.判断改年份是否为闰年,见下面的check()方法
System.out.println("是否闰年:"+ check(objCalendar));
//2.计算该月天数
//Calendar类的getActualMaximum()方法能返回指定日历字段可能拥有的最大值,Calendar.DAY_OF_MONTH就是月份字段了
System.out.println("该月天数:"+ objCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
//3.计算该月第一天是星期几
//复制一个日历实例
Calendar temp=(Calendar)objCalendar.clone();
//把复制的日历设成当月1号
temp.set(Calendar.DAY_OF_MONTH, 1);
//求出1号是星期几,用get()方法,返回指定日历字段的值,Calendar.DAY_OF_WEEK表示星期字段
//get(Calendar.DAY_OF_WEEK)返回1- 7,是星期天-星期六,而不是星期一-星期天
System.out.println("该月第一天是星期:"+(temp.get(Calendar.DAY_OF_WEEK)- 1));
}
//判断改年份是否为闰年
public static boolean check(Calendar c){
int year= c.get(Calendar.YEAR);
if(year%400== 0)
return true;
if(year%4==0&& year%100!=0)
return true;
return false;
}
}
输出如下:
当前时间:2009年05月07日 10:43:03
是否闰年:false
该月天数:31
该月第一天是星期:5
几个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烟花代码的介绍到此结束,希望对大家有所帮助。