import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Random;
public class sayangeffort extends JFrame{
public JFrame instruc;
public JFrame start1;
public JFrame start2;
public JPanel sayang;
public JPanel effort;
public JPanel inspanel;
public JPanel startp1;
public JPanel startp2;
public JLabel l1;
public JLabel l2;
public JLabel point;
public JButton start;
public JButton ins;
public JButton exit;
public JButton ins1;
public JButton ins2;
public JButton ins3;
public JButton BackA[]=new JButton[13];
PleaseGumana p=new PleaseGumana();
public Timer time = new Timer(2000,p);
public Timer time2=new Timer(2000,p);
public static int num1;
public static int check[]=new int [12];
public static int j=0,flag;
public static int pick1,pick2;
public static int verifyer1=0,verifyer2=0,counter=0, counter2=0,sample=0;
public static int pointcount=100;
Random r=new Random();
Dimension Imagedim;
public sayangeffort(){
setTitle("Operation X: Memorylord");
setSize(500,120);
buildPanel();
setLayout(new BorderLayout());
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(sayang);
add(effort, BorderLayout.SOUTH);
setVisible(true);
}
public void buildPanel(){
sayang=new JPanel();
l1=new JLabel("Operation X:");
l2=new JLabel(" Memorylord");
l1.setFont(new Font("Algerian", 72,25));
l2.setFont(new Font("Algerian", 72,25));
effort=new JPanel();
start=new JButton("Start");
ins=new JButton("Instruction");
exit=new JButton("Exit");
sayang.setLayout(new GridLayout(2,1));
effort.setLayout(new GridLayout(1,3));
sayang.add(l1);
sayang.add(l2);
effort.add(start);
effort.add(ins);
effort.add(exit);
exit.addActionListener(new MenuButton());
start.addActionListener(new MenuButton());
ins.addActionListener(new MenuButton());
}
public void buildStart(){
startp1=new JPanel();
startp1.setLayout(new GridLayout(4,3));
startp2=new JPanel();
point=new JLabel("Points:"+String.valueOf(pointcount));
for(int i=1;i<13;i++){
BackA[i]=new JButton("BACK");
BackA[i].setBackground(Color.GREEN);
BackA[i].setPreferredSize(Imagedim);
BackA[i].setFont(new Font("Bodoni MT Black", Font.PLAIN,24));
BackA[i].addActionListener(new PleaseGumana());
}
for(int c=0;c<12;c++){
do{
flag=0;
num1=r.nextInt(13);
check[c]=num1;
for(int i=0;i<12;i++){
if(check[i]==num1)
flag++;
}
}while(num1==0 || flag>1);
startp1.add(BackA[num1]);
}
startp2.add(point);
}
public class PleaseGumana implements ActionListener{
public void actionPerformed (ActionEvent e){
if(e.getSource()==BackA[1]){
if(verifyer1<2){
BackA[1].setText("12 x 5");
BackA[1].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=1;
if(pick1==7){
BackA[1].setEnabled(false);
BackA[7].setEnabled(false);
BackA[1].setBackground(Color.BLACK);
BackA[7].setBackground(Color.BLACK);
verifyer1=0;
counter=1;
counter2++;
}
else if(pick1!=7){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=1;
}
}
if(e.getSource()==BackA[2]){
if(verifyer1<2){
BackA[2].setText("45/15");
BackA[2].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=2;
if(pick1==8){
BackA[2].setEnabled(false);
BackA[8].setEnabled(false);
BackA[2].setBackground(Color.BLACK);
BackA[8].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=8){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=2;
}
}
if(e.getSource()==BackA[3]){
if(verifyer1<2){
BackA[3].setText("17 x 8");
BackA[3].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=3;
if(pick1==9){
BackA[3].setEnabled(false);
BackA[9].setEnabled(false);
BackA[3].setBackground(Color.BLACK);
BackA[9].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=9){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=3;
}
}
if(e.getSource()==BackA[4]){
if(verifyer1<2){
BackA[4].setText("31 + 14");
BackA[4].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=4;
if(pick1==10){
BackA[4].setEnabled(false);
BackA[10].setEnabled(false);
BackA[4].setBackground(Color.BLACK);
BackA[10].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=10){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=4;
}
}
if(e.getSource()==BackA[5]){
if(verifyer1<2){
BackA[5].setText("121 - 37");
BackA[5].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=5;
if(pick1==11){
BackA[5].setEnabled(false);
BackA[11].setEnabled(false);
BackA[5].setBackground(Color.BLACK);
BackA[11].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=11){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=5;
}
}
if(e.getSource()==BackA[6]){
if(verifyer1<2){
BackA[6].setText("72 x 2");
BackA[6].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=6;
if(pick1==12){
BackA[6].setEnabled(false);
BackA[12].setEnabled(false);
BackA[6].setBackground(Color.BLACK);
BackA[12].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=12){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=6;
}
}
if(e.getSource()==BackA[7]){
if(verifyer1<2){
BackA[7].setText("60");
BackA[7].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=7;
if(pick1==1){
BackA[1].setEnabled(false);
BackA[7].setEnabled(false);
BackA[1].setBackground(Color.BLACK);
BackA[7].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=1){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=7;
}
}
if(e.getSource()==BackA[8]){
if(verifyer1<2){
BackA[8].setText("3");
BackA[8].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=8;
if(pick1==2){
BackA[2].setEnabled(false);
BackA[8].setEnabled(false);
BackA[2].setBackground(Color.BLACK);
BackA[8].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=2){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=8;
}
}
if(e.getSource()==BackA[9]){
if(verifyer1<2){
BackA[9].setText("136");
BackA[9].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=9;
if(pick1==3){
BackA[3].setEnabled(false);
BackA[9].setEnabled(false);
BackA[3].setBackground(Color.BLACK);
BackA[9].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=3){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=9;
}
}
if(e.getSource()==BackA[10]){
if(verifyer1<2){
BackA[10].setText("45");
BackA[10].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=10;
if(pick1==4){
BackA[4].setEnabled(false);
BackA[10].setEnabled(false);
BackA[4].setBackground(Color.BLACK);
BackA[10].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=4){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=10;
}
}
if(e.getSource()==BackA[11]){
if(verifyer1<2){
BackA[11].setText("84");
BackA[11].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=11;
if(pick1==5){
BackA[5].setEnabled(false);
BackA[11].setEnabled(false);
BackA[5].setBackground(Color.BLACK);
BackA[11].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=5){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=11;
}
}
if(e.getSource()==BackA[12]){
if(verifyer1<2){
BackA[12].setText("144");
BackA[12].setBackground(Color.RED);
}
if(verifyer1==1){
verifyer1++;pick2=12;
if(pick1==6){
BackA[6].setEnabled(false);
BackA[12].setEnabled(false);
BackA[6].setBackground(Color.BLACK);
BackA[12].setBackground(Color.BLACK);
verifyer1=0;
counter=1;counter2++;
}
else if(pick1!=6){
time.start();
}
}
if(verifyer1==0 && counter==0){
verifyer1++;
pick1=12;
}
}
if(counter==1){counter=0;}
if(e.getSource()==time && verifyer1==2){
pointcount--;
BackA[pick1].setText("BACK");
BackA[pick1].setBackground(Color.GREEN);
BackA[pick2].setText("BACK");
BackA[pick2].setBackground(Color.GREEN);
verifyer1=0;
counter=0;
}
point.setText("Points:"+String.valueOf(pointcount));
if(counter2==6){
start1.dispose();
buildStart2();
//setVisible(true);
}
/**if(e.getSource()==time2){
}*/
}
}
public void buildStart2(){
start2=new JFrame();
start2.setTitle("Operation X: Memorylord");
start2.setSize(600,600);
start2.setDefaultCloseOperation(EXIT_ON_CLOSE);
start2.setResizable(false);
start2.setLocationRelativeTo(null);
start2.setLayout(new BorderLayout());
start2.setVisible(true);
}
public class MenuButton implements ActionListener{
public void actionPerformed (ActionEvent e){
if(e.getSource()==exit){
System.exit(0);
}
if(e.getSource()==start){
setVisible(false);
start1=new JFrame();
start1.setTitle("Operation X: Memorylord");
start1.setSize(600,600);
start1.setDefaultCloseOperation(EXIT_ON_CLOSE);
start1.setResizable(false);
start1.setLocationRelativeTo(null);
start1.setLayout(new BorderLayout());
buildStart();
start1.add(startp1);
start1.add(startp2, BorderLayout.SOUTH);
start1.setVisible(true);
}
if(e.getSource()==ins){
dispose();
instruc=new JFrame();
instruc.setTitle("Operation X: Memorylord");
instruc.setSize(500,600);
instruc.setDefaultCloseOperation(EXIT_ON_CLOSE);
instruc.setResizable(false);
instruc.setLocationRelativeTo(null);
instruc.setVisible(true);
}
}
}
public static void main(String args [])throws Exception{
sayangeffort cc=new sayangeffort();
}
}
這是我的遊戲代碼,它還沒有完成,它沒有指令,但嘗試播放並完成它,你會看到我的問題,幀不斷出現,但我看不出什麼錯我的代碼爲什麼會發生? java
請格式化你的代碼,使其易於讀取。 – 2014-10-11 08:07:49
這就是您在創建新JFrame並使其可見時會發生的情況:新的JFrame被構建並顯示出來。因爲這就是你在聽衆中所做的事情,所以這不應該令人驚訝。 – 2014-10-11 08:08:08
但它是不停的?這是爲什麼?通常它應該出現一次。 – 2014-10-11 08:09:37