精华内容
下载资源
问答
  • 2021-02-12 11:29:18

    展开全部

    连连看的小源码

    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;//消除方法控制

    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

    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

    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

    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

    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

    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

    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

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    更多相关内容
  • java小游戏代码

    2018-07-09 16:30:47
    该内容为java代码,其中包含有java的一些小游戏(24点图形版、Flying Bird、java通讯录官吏系统源码、连连看等游戏。)希望对大家能有所帮助。
  • JAVA小游戏代码

    2012-04-19 14:21:33
    JAVA小游戏代码
  • java小游戏开发代码

    2017-10-07 15:21:31
    java窗口小游戏开发,可作为java初级入门者学习使用。直接运行src\cn\zlr\game包下的MyFrame这个类可看到其中一个小游戏的运行。其他小游戏可能存在不完整的情况,读者可自行拓展
  • java贪吃蛇小游戏代码java小游戏源码
  • 使用JAVA编程语言实现贪吃蛇小游戏。JAVA的GUI界面编程的第一步!JAVA实现贪吃蛇小游戏代码包。三个类即可轻松实现。
  • 附件是几十个java游戏源代码打包,仅供学习使用。 1、纯java编写 2、主流小游戏
  • 包括以下游戏的源码:沙漠阻击手,3D魔方游戏,财富城市,贪吃蛇,俄罗斯方块,麻将,三维迷宫,扫雷,推箱子,算卦游戏和简单回合游戏11个游戏的源码,欢迎下载,供学习与交流。
  • 一个界面不错的Java小游戏代码,不知道是怎么玩的,不过敲击空格键有反应,感兴趣的自己下载代码研究一下吧。
  • 带魔法的横屏Java小游戏代码,游戏对象有很多控制方面值得学习,比如奔跑、格斗及碰撞检测等,可用在其它的Java游戏程序中。
  • Java实现windows自带小游戏,蜘蛛纸牌小游戏源码
  • java飞机大战的代码以及相应的各种素材,帮助新手入手java
  • java小游戏源码,亲测可用。内含 推箱子,坦克大战,俄罗斯方块,贪吃蛇,扫雷。好玩不贵,值得一探。
  • 20款java小游戏源码Zip

    2017-06-05 23:38:12
    包含20款java小游戏源码,帮助你更好的学习java
  • 反编译的java小游戏,网上找的,另有我自己仿照这个游戏写的源码,带地图编辑器,有兴趣可以下载http://download.csdn.net/download/jianglihui0330/4492373。
  • 想找Java项目用来联系的同学
  • 15个java小游戏源码合集:Java打猎射击游戏,Java对对碰按钮版(最终版),Java俄罗斯方块2,Java飞行射击类游戏,Java推箱子2,Java网络五子棋2等等15个Java小游戏源码。
  • 求一个简单的Java小游戏代码

    千次阅读 2021-02-12 10:21:10
    展开全部连连看的源码package Lianliankan;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class lianliankan implements ActionListener{JFrame mainFrame; //主面...

    展开全部

    连连看的小源码

    package Lianliankan;

    import javax.swing.*;

    import java.awt.*;

    import java.awt.event.*;

    public class lianliankan implements ActionListener

    {

    JFrame mainFrame; //主面32313133353236313431303231363533e58685e5aeb931333335326239板

    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

    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

    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

    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

    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

    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

    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工程 上网搜下java小游戏源码 自己好好看看

    追问

    好吧,我用的是文本

    本回答被提问者和网友采纳

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • 一些JAVA小游戏 有研究或探讨的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn
  • 摘要:JAVA源码,游戏娱乐,贪吃蛇 Java贪吃蛇小游戏代码,非Android源码,当然Android中也是可以运行的,同是基于Java平台,不过修改运行方式。这是运行于Java手机的J2ME游戏源码,也是挺基础的,学习Android游戏...
  • JAVA小游戏编程-源代码

    千次阅读 2021-03-04 08:05:59
    我空间还有很多..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 j...

    展开全部

    介绍这个给你把...我空间还有很多..

    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 当前进行的个数e5a48de588b63231313335323631343130323136353331333264653463, rapidity 游标的位置

    int zhengque = 0, cuowu = 0;

    int rush[] = ; //游戏每关的个数 可以自由添加.列

    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;

    }

    }

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • java编程小游戏

    2018-12-10 19:31:39
    一款利用java编写的简易小游戏,将解压后的文件夹和源代码放入一个项目下即可成功运行
  • Java五子棋游戏完整源代码 界面美观 详细注释【适合初学者】 java 五子棋游戏源码 java初学者 java游戏源码 java入门 【特点】界面美观 详细注释 【推荐】java初学者参考学习之用 Java五子棋游戏完整源代码 界面...
  • java接金币小游戏

    2016-06-26 09:52:30
    包含游戏界面代码和数据库
  • 包含Java桌球小游戏源码及相关素材
  • java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 144,697
精华内容 57,878
关键字:

java小游戏代码

java 订阅
友情链接: wavelet_transform.rar