Şimdi Ara

Java'da Tombala oyunu???

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
1.380
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar ödev için tombala oyunu yazmaya çalışıyorum =) fakat takıldım,tombala kağıtı olarak düşünürsek ekrana dizi ile 5'e 3 yazdırdığım butonlar ve bu butonlara rastegele atadığım rakamlarla,çekilen tombala taşlarını eşleştiremiyorum,umarım anlatabilmişimdir derdimi,yardım ederseniz çok sevinirim.
    Teşekkürler



    package pro;

    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Icon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;

    /**
    *
    * @author parlak
    */
    public class oyun implements ActionListener {

    private JLabel lb;
    private JButton btn[][] = new JButton[3][5];
    private JButton bt;
    private JPanel pnl;
    private JFrame fr;
    //private Icon r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90;
    int i;
    int rs;


    public oyun() {

    fr = new JFrame();
    pnl = new JPanel();
    btn = new JButton[5][3];
    bt = new JButton("Taş Çek");
    lb = new JLabel();


    }

    public void goster() {

    pnl.setLayout(null);
    pnl.setSize(200, 200);
    fr.setLayout(null);
    fr.setSize(400, 400);
    fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    bt.setBounds(50, 150, 80, 40);

    for (int x = 0; x < 5; x++) {
    for (int y = 0; y < 3; y++) {

    int i = (int) (Math.random() * 90) + 1;
    btn[x][y] = new JButton("" + i);
    btn[x][y].setBounds(x * 50, y * 50, 49, 49);
    fr.add(btn[x][y]);
    btn[x][y].addActionListener(this);

    }
    }

    bt.addActionListener(this);
    fr.add(bt);
    fr.setVisible(true);

    }

    public void actionPerformed(ActionEvent e) {
    if (e.getSource() == bt) {
    int rs=(int)(Math.random()*90)+1;
    System.out.println(rs);
    }
    for (int x = 0; x< 5; x++) {
    for (int y = 0; y< 3; y++) {
    if (e.getSource() == btn[x][y]) {
    if (i==rs){
    btn[x][y].setBackground(Color.red);
    }
    if(rs!=i){
    btn[x][y].setBackground(Color.yellow);
    }
    }
    }

    }


    }
    }







  • actionPerformed metodunda karşılartırma yaparken buttonun Text özelliğini çek, onunla rs'yi karşılartır;

    if (btn[x][y].getText().equals(rs.toString())){
    ...
    }
  • bi kod yazdım ama tamamlamadım. Basit aslında ama karışık oldu biraz, comment de koymadım. Daha kolay bi yolu vardır tabi. Neyse,
    btnDizi (15 butondan oluşuyor) ile aynı boyutta olan intDizi rasgele üretilen 15 sayı ile (15 farklı sayı) dolduruluyor. 1. buton için dizinin 0'ncı elemanına ulaşılıyor.

    Sıkıntı olursa yardımcı olabilirim.

     
    public class Main {

    public static void main(String[] args) {

    tombala jf = new tombala();
    }

    }

     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;

    public class tombala {
    private int[] intDizi = new int[15];
    private JFrame jfrm = new JFrame("BİNGO");
    private JPanel jp1 = new JPanel();
    private JPanel jp2 = new JPanel();
    private JTextField jtf = new JTextField();
    private JTextArea jta = new JTextArea();
    private JButton jbtn = new JButton("BUTON");
    private JButton[] btnDizi = new JButton[15];
    private int[] range = new int[90];
    private String str = "";
    private int rndSayi;

    tombala() {
    jfrm.setLayout(new GridLayout(1, 1));
    jfrm.add(jp1);
    jp1.setLayout(new GridLayout(3, 5));
    jp2.setLayout(new BorderLayout());
    jp2.add(jp1, BorderLayout.CENTER);
    jp2.add(jtf, BorderLayout.WEST);
    jp2.add(jta, BorderLayout.EAST);
    jp2.add(jbtn, BorderLayout.SOUTH);
    jfrm.add(jp2);
    jtf.setEditable(false);
    jtf.setHorizontalAlignment(JTextField.CENTER);
    jtf.setText("Rastgele Sayılar");
    jtf.setColumns(15);
    jta.setEditable(false);
    jta.setText("text");
    jta.setColumns(18);
    jta.setLineWrap(true);
    jta.setWrapStyleWord(true);

    for (int i = 0; i < 90; i++) {
    range[i] = i + 1;
    }

    for (int i = 0; i < 15; i++) {
    int x = rnd();
    for (int j = 0; j < 90; j++) {
    if (range[j] == x) {
    range[j] = 0;
    }
    }
    intDizi[i] = rnd();
    btnDizi[i] = new JButton(" (" + (i + 1) + "): " + intDizi[i]);
    jp1.add(btnDizi[i]);
    }
    for (int i = 0; i < 90; i++) {
    range[i] = i + 1;
    }

    for (int k = 0; k < 90; k++) {
    if (k % 10 == 0) {
    str = str + "\n" + range[k];
    } else {
    str = str + ", " + range[k];
    }
    }
    jta.setText(str);
    str = "";

    jbtn.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {

    for(;;){
    rndSayi = rnd();
    str = "\n" + range[rndSayi - 1] + " - " + rndSayi + "\n";
    if (range[rndSayi - 1] == rndSayi) {
    range[rndSayi - 1] = 0;
    break;
    }
    }

    for (int k = 0; k < 90; k++) {
    if (k % 10 == 0) {
    str = str + "\n" + range[k];
    } else {
    str = str + ", " + range[k];
    }
    }

    jta.setText(str + "\n\n" + range[rndSayi - 1] + " - " + rndSayi + "");
    str = "";
    jtf.setText(rndSayi + "");

    for (int i = 0; i < 15; i++) {
    if (intDizi[i] == rndSayi) {
    btnDizi[i].setBackground(Color.red);
    }
    }

    // throw new UnsupportedOperationException("Kullanmadım kapattım, olsa iyi olur...");
    }
    });
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jfrm.pack();
    jfrm.setLocationRelativeTo(null);
    jfrm.setVisible(true);
    jfrm.setSize(800, 300);
    jfrm.setResizable(false);
    }

    private int rnd() {
    int rnd = (int) (Math.random() * 90) + 1;
    return rnd;
    }
    }



    < Bu mesaj bu kişi tarafından değiştirildi gergozen -- 13 Ocak 2011; 23:08:16 >




  • Yapay Zeka’dan İlgili Konular
    Playstation 2'de kopya oyun
    15 yıl önce açıldı
    Psp de oyunlar save olmuyor..?
    18 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.