import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; import java.applet.*; import java.lang.*; import java.lang.String; import javax.swing.*; import java.util.List; import java.awt.Container; import java.util.Collections; public class m2ng5 extends JApplet implements ActionListener { int sobiv,sobiv_vale; TextField[][] tf=new TextField[1][5]; Label[][] kiri=new Label[10][7]; Button b1=new Button("K"); Button b2=new Button("R"); Panel p1=new Panel(new GridLayout(11,7)); String arv="12345"; int rida=9; int arv_vales_kohas=0; int arv_paigas=0; boolean v6it=false; String numbrid[]=new String[5]; List vektor; int number_olemas=1; /****************************************************************************************/ /*******************************************Nupukuular***********************************/ public void actionPerformed(ActionEvent e) { boolean leitud; boolean stop=false; int asukoht_vektoris=0; int arv_paigas_ajutine=0,arv_vales_kohas_ajutine=0; // ****************************************************************************** / // Võrreldakse omavahel kõiki tekstivälju ja arve vektoris // Kõige viimase sobinud arvu indeks ja hoitakse alles ja lõpus suurenatakse // vastavat loendurit, vastavalt sellele kas arv oli mõlemas hulgas sama järjenr-ga // või mitte. if(e.getSource()==b1) { boolean olemas_paigas=false; boolean olemas_mitte_paigas=false; int koht=0,koht_m=0; if((rida>-1)&&(!v6it))//Kui 10 arvamise võimalust on kasutatud, on mäng läbi { vektor=new Vector(Arrays.asList(numbrid)); for(int j=0;j<5;j++) //tekstiväljad { olemas_paigas=false; olemas_mitte_paigas=false; stop=false; //kui leiab otsitava siis läheb üle järgmisele tekstiväljale for(int i=0;i<5;i++) //võrreldavad numbrid vektoris { if((String.valueOf(vektor.get(i)).equals((tf[0][j].getText())))) //võrdleb tekstivälja arvu ja vektoris olevat arvu { if(i==j) { olemas_paigas=true; koht=j; } else { olemas_mitte_paigas=true; koht_m=i; } } } if(olemas_paigas) { arv_paigas++; vektor.set(koht, "-1"); } else if(olemas_mitte_paigas) { arv_vales_kohas++; vektor.set(koht_m, "-2"); } } if(arv_paigas==5)//*******Kontroll kas mäng on läbi*******// { uusM2ng(); v6it=true; GameOver(v6it); } joonista_seis(rida); rida--; } else { GameOver(v6it); } } if(e.getSource()==b2) { uusM2ng(); } } /****************************************************************************************/ /************************************Võit************************************************/ public void GameOver(boolean v6it) { if(v6it) { System.out.println("Tubli!"); uusM2ng(); JOptionPane.showMessageDialog(this, "Küll sa oled osav!"); } else { System.out.println("arv oli: "+arv); uusM2ng(); JOptionPane.showMessageDialog(this, "Pead rohkem harjutama.\nÕige vastus oli: "+arv); } } /****************************************************************************************/ /***********************************ekraanipildi joonistamine****************************/ public void joonista_seis(int rida) { for(int i=0;i<5;i++) { kiri[rida][i].setText(tf[0][i].getText()); } kiri[rida][5].setText(String.valueOf(arv_paigas)); kiri[rida][6].setText(String.valueOf(arv_vales_kohas)); arv_vales_kohas=0; arv_paigas=0; } /****************************************************************************************/ /**********************************restart***********************************************/ public void uusM2ng() { arv=""; //uus arvatav arv rida=9; //realoendur algusesse arv_paigas=0; v6it=false; for(int i=0;i<5;i++) { String ajutine=String.valueOf((int)Math.round(Math.random()*9)); arv=arv+ajutine; numbrid[i]=ajutine; tf[0][i].setText("0"); } System.out.println("uus arv:"+arv); for(int j=0;j<10;j++)//tabel puhtaks { for(int i=0;i<7;i++) { kiri[j][i].setText(".."); } } } /****************************************************************************************/ /****************************************************************************************/ public JDesktopPane aknasisu() { JInternalFrame sisu=new JInternalFrame("",false, true); //IS_MAXIMUM_PROPERTY sisu.setSize(195, 265); sisu.setLocation(1,1); sisu.setVisible(true); JDesktopPane bloo=new JDesktopPane(); b1.addActionListener(this); b2.addActionListener(this); for(int j=0;j<10;j++) { for(int i=0;i<7;i++) { kiri[j][i]=new Label(".."); p1.add(kiri[j][i]); } } for(int j=0;j<5;j++) { tf[0][j]=new TextField("0",1); p1.add(tf[0][j]); } p1.add(b1); p1.add(b2); sisu.getContentPane().add(p1); bloo.add(sisu); uusM2ng(); vektor=new Vector(Arrays.asList(numbrid)); System.out.println(vektor); return bloo; } /****************************************************************************************/ /****************************************************************************************/ public m2ng5() { JFrame f=new JFrame("Mõttemeister"); f.getContentPane().add(aknasisu()); f.setSize(200,300); f.setVisible(true); } /****************************************************************************************/ /****************************************************************************************/ public static void main(String arguments[]) { new m2ng5(); } }