[java] Как сделать функцию массива

(Ответов: 16, Просмотров: 1483)
Страница 1 из 2 12 Последняя
  1. Опытный Аватар для [uCoz]
    • Регистрация: 10.02.2013
    • Сообщений: 258
    • Репутация: 5
    Вот и суть, нужно что бы выводилось количество красных и синих в правом углу где кнопки, помогите реализовать пожалуйста.



    код

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class Kletki extends JFrame {
    JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    JButton[][]knopki=new JButton[50][50];
    JButton lab=new JButton();


    int igrok =1;
    int[][] pole=new int[50][50];

    JLabel l1=new JLabel("for 1");
    JLabel l2=new JLabel("for 2");


    Kletki(){
    super();
    this.setLayout(null);


    p1.setLayout(new GridLayout(50,50));
    p1.setBounds(0,0,800,800);

    p2.setBounds(800,0,400,400);
    p2.setBackground(Color.pink);


    p2.setLayout(null);
    lab.setBounds(10,10,50,50);
    lab.setBackground(Color.blue);
    p2.add(lab);


    l1.setBounds(10,100,50,50);
    l1.setForeground(Color.red);
    //l1.setBackground(Color.blue);
    p2.add(l1);


    l2.setBounds(10,200,50,50);
    l2.setForeground(Color.blue);
    //l2.setBackground(Color.blue);
    p2.add(l2);


    //public void class l1





    // p2.setLayout(new GridLayout(,4));

    //p2.setLayout(null);
    //;
    //p2.setBackground(Color.pink);


    this.add(p1);
    this.add(p2);
    this.setResizable(true);

    /* setArray();
    pole[0][0]=1;
    pole[49][49]=2;*/
    setButtons();

    }
    public void setButtons(){
    for(int i=0; i<knopki.length; i++)
    for(int k=0; k<knopki.length; k++){
    knopki[i][k]=new JButton();
    p1.add(knopki[i][k]);


    knopki[i][k].setActionCommand(""+i+","+k);
    knopki[i][k].addActionListener(new AL());}
    }

    class AL implements ActionListener{

    Color c, c2;
    public void actionPerformed(ActionEvent ac){
    String s=ac.getActionCommand();

    String[]a=s.split(",");
    int i=Integer.parseInt(a[0]);
    int k=Integer.parseInt(a[1]);
    if(pole[i][k]>0) return;

    pole[i][k]=igrok;


    boolean b=sosed(i,k);
    if(b){
    pole[i-1][k]=igrok;
    pole[i+1][k]=igrok;
    pole[i][k+1]=igrok;
    pole[i][k-1]=igrok;

    pole[i-1][k-1]=igrok;
    pole[i+1][k-1]=igrok;
    pole[i-1][k+1]=igrok;
    pole[i+1][k+1]=igrok;
    }


    if(igrok==1) {
    c=Color.blue;
    //c2=new Color(100,100,255);

    lab.setBackground(Color.red);
    igrok=2;
    }
    else {
    c=Color.red;
    //c2=new Color(255,100,100);
    lab.setBackground(Color.blue);
    igrok=1;
    }

    knopki[i][k].setBackground(c);
    if(b) kras(i, k, c);


    }
    }

    public void kras(int i, int k, Color c){



    knopki[i-1][k].setBackground(c);
    knopki[i+1][k].setBackground(c);
    knopki[i][k+1].setBackground(c);
    knopki[i][k-1].setBackground(c);

    knopki[i-1][k-1].setBackground(c);
    knopki[i+1][k-1].setBackground(c);
    knopki[i-1][k+1].setBackground(c);
    knopki[i+1][k+1].setBackground(c);
    }

    public boolean sosed(int i, int k){
    if(i>0) if(pole[i-1][k]==igrok) return true;

    if(i<pole.length-1) if(pole[i+1][k]==igrok) return true;

    if(pole[i][k+1]==igrok) return true;
    if(pole[i][k-1]==igrok) return true;

    return false;
    }

    public static void main(String[] args) {
    Kletki m=new Kletki();
    m.setVisible(true);
    m.setSize(1200,820);

    // TODO Auto-generated method stub

    }

    }
    [свернуть]
    Последний раз редактировалось [uCoz]; 10.03.2013 в 20:50.
    • 0
  2. Sapienti sat Аватар для brainix
    • Регистрация: 01.01.2013
    • Сообщений: 1,925
    • Записей в дневнике: 1
    • Репутация: 817
    • Webmoney BL: ?
    Положите эту простыню под в спойлер.
    Какие красные, какие синие? Можно понятнее спрашивать?
    • 0
  3. Опытный Аватар для [uCoz]
    • Регистрация: 10.02.2013
    • Сообщений: 258
    • Репутация: 5
    p1 красные p2 синии

    ---------- Сообщение добавлено 20:15 ---------- Предыдущее 19:51 ----------

    Сделать функцию масива суммы, чтобы определялась сколько красных и сколько синих

    ---------- Сообщение добавлено 20:22 ---------- Предыдущее 20:15 ----------

    актуально)

    ---------- Сообщение добавлено 22:17 ---------- Предыдущее 20:22 ----------

    помогите ктонить чтоле, поидее же не трудно
    • 0
  4. Дипломник
    • Регистрация: 13.02.2012
    • Сообщений: 113
    • Репутация: 13
    Не совсем понятно что именно ты хочешь если честно.
    • 0
  5. Опытный Аватар для [uCoz]
    • Регистрация: 10.02.2013
    • Сообщений: 258
    • Репутация: 5
    Stalno,этот код при нажатии на сеточку делает красное поле либо синие и мне надо сделать чтоб с права где кнопки показывало скоко на сеточки синих и красных
    • 0
  6. Опытный Аватар для [uCoz]
    • Регистрация: 10.02.2013
    • Сообщений: 258
    • Репутация: 5
    актуально
    • 0
  7. Гуру Аватар для west0293
    • Регистрация: 09.06.2011
    • Сообщений: 1,025
    • Репутация: 342
    • Webmoney BL: ?
    [uCoz], минут 10 сидел над Вашим кодом и ничего не понял. Думаю, если Вы хотите, чтобы Вам помогли, нужно учиться писать понятный код. Тяжело разобраться в таком полотенце текста.
    P.S. В каком IDE Вы пишете?
    • 0
  8. Опытный Аватар для [uCoz]
    • Регистрация: 10.02.2013
    • Сообщений: 258
    • Репутация: 5
    west0293,эклипс) там же если запустит код понятно)
    • 0
  9. Опытный Аватар для [uCoz]
    • Регистрация: 10.02.2013
    • Сообщений: 258
    • Репутация: 5
    актуально!
    • 0
  10. Дипломник
    • Регистрация: 13.02.2012
    • Сообщений: 113
    • Репутация: 13
    Не самый лучший форум для таких вопросов.
    А по делу, ты этот код сам писал?
    Сможешь объяснить без твоих деталей реализации, что есть и что нужно?
    То что ты накодил выглядит бредово и читать не хочется...
    • 1

    Спасибо сказали:

    west0293(11.03.2013),
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
[JavaScript]Использование массива в другом скрипте на странице
Web программирование 5 10.11.2012 17:22
php. Вставить переменную в значение элемента массива
Web программирование 9 16.03.2011 05:37

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры