Igre sa kockicama 2

Igrač A ima 5 belih, a igrač B ima 5 crvenih kockica. Istovremeno se bacaju sve kockice. Pobeđuje onaj koji ima bolju "kombinaciju", npr. ako A ima 1,2,2,3,6 a B ima 1,4,4,5,6 onda pobeđuje b. Ako su kombinacije iste pobeđuje onaj koji ima veći zbir, a inače je partija nerešena. Modelirati 1000 ponavljanja igre i kao reyultat dati i statističke podatke-koliko je pobeda ostvareno kad su oba igrača imala samo po par istih brojeva,koliko sa po tri ista broja, ... koliko nerešenih partija.

Uputstvo za korišćenje programa: Pritisnite dugme Počni igru. U delu Ispis ispisace vam koliko je bilo partija koje je dobio igrač A, igrač B, koliko nerešenih partija, zatim koliko je ukupno bilo istih parova u igrama.

Verovatnoća da igrači A i B imaju jedan isti par pri jednom bacanju je verovatnoća da jedan od igrača dobije određeni broj na tačno jednoj kockici, a drugi igrač taj isti broj dobije bar na jednoj kockici. I obratno. Verovatnoća da jedan od igrača dobije određeni broj na tačno jednoj kockici je 1/6*5/6*5/6*5/6*5/6=0.08 jer verovatnoća da od 6 različitih brojeva na jednoj kockici dobije baš jedan određeni je 1/6, a verovatnoća da od 6 različitih brojeva na kockici ne dobije baš taj određeni broj je ista verovatnoći da dobije bilo koji od preostalih 5 brojeva, a to je 5/6. Verovatnoća da drugi igrač taj isti broj dobije bar na jednoj kockici je 1/6 jer je to verovatnoca da na jednoj kockici dobije bas taj broj. Dakle verovatnoca da igrači imaju tačno jedan isti par brojeva je 0.08*0.83*6*2=0.16 Sa 6 množimo ove verovatnoće jer imamo 6 brojeva na kockicama i za svaku važi ova verovatnoća

Na sličan način možemo da izračunamo i koja je verovatnoća da igrači imaju 2,3,4,5 ili nijedan par brojeva istih.

Verovatnoća da imaju 2 para ista je verovatnoća da prvi igrač ima dve iste,koje ima i drugi igrač,a ostale različite što je 0.0004 + verovatnoća da prvi igrač ima dve različite kocke koje ima i drugi igrač, a ostale kockice različite od ove dve što je 0.0002286,u zbiru,pa pomnoženo sa 6 različitih brojeva i sa 2 igrača to daje 0.0081;

Verovatnoća da imaju 3 para ista je verovatnoća da prvi igrač ima tri iste,koje ima i drugi igrač,a ostale različite što je 0.000014884 + verovatnoća da prvi igrač ima dve iste i jednu različitu kocku od te dve, koje ima i drugi igrač, a ostale kockice različite od ove tri što je 0.000009526 + verovatnoća da prvi igrač ima tri različite,koje ima i drugi igrač,a ostale različite od te tri što je 0.000005358,u zbiru,pa pomnoženo sa 6 različitih brojeva i sa 2 igrača to daje 0.0003572;

Verovatnoća da imaju 4 para ista je 0.000016668

Verovatnoća da imaju 5 pari istih je 0.000000198

Verovatnoća da nemaju ni jedan par istih je 1-zbir svih prethodnih verovatnoća, što je 0.832

package paket; import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JApplet;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.GridBagLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import java.awt.event.KeyEvent;
import java.awt.GridBagConstraints;
import javax.swing.JTextPane;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.AbstractAction;
import java.awt.event.ActionEvent;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

public class Igra extends JApplet {

private JPanel jContentPane = null;
private JPanel jPanel = null;
private JPanel jPanel1 = null;
private JButton jButton = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JButton jButton3 = null;
private JButton jButton4 = null;
private JButton jButton5 = null;
private JButton jButton6 = null;
private JButton jButton7 = null;
private JButton jButton8 = null;
private JButton jButton9 = null;
private JPanel jPanel2 = null;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
private JButton jButton10 = null;
public static int BrojPobedaA=0;
public static int BrojPobedaB=0;
public static int BrojNeresenih=0;
public static int par0=0;
public static int par1=0;
public static int par2=0;
public static int par3=0;
public static int par4=0;
public static int par5=0;
private JScrollPane jScrollPane = null;
private JTextArea jTextArea = null;
/**
* This is the xxx default constructor
*/
public Igra() {
super();
}

/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setSize(672, 531);
this.setContentPane(getJContentPane());
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
GridLayout gridLayout = new GridLayout();
gridLayout.setRows(3);
gridLayout.setColumns(1);
jContentPane = new JPanel();
jContentPane.setBorder(BorderFactory.createTitledBorder(null, "Igre sa kockicama ||", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.PLAIN, 24), new Color(254, 102, 102)));
jContentPane.setLayout(gridLayout);
jContentPane.add(getJPanel(), null);
jContentPane.add(getJPanel1(), null);
jContentPane.add(getJPanel2(), null);
}
return jContentPane;
}

/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jLabel = new JLabel();
jLabel.setText("Igrac A:");
jLabel.setFont(new Font("Dialog", Font.BOLD, 18));
FlowLayout flowLayout = new FlowLayout();
flowLayout.setVgap(20);
flowLayout.setHgap(25);
jPanel = new JPanel();
jPanel.setLayout(flowLayout);
jPanel.add(jLabel, null);
jPanel.add(getJButton1(), null);
jPanel.add(getJButton(), null);
jPanel.add(getJButton2(), null);
jPanel.add(getJButton3(), null);
jPanel.add(getJButton4(), null);
}
return jPanel;
}

/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jLabel1 = new JLabel();
jLabel1.setText("Igrac B:");
jLabel1.setFont(new Font("Dialog", Font.BOLD, 18));
FlowLayout flowLayout1 = new FlowLayout();
flowLayout1.setHgap(25);
flowLayout1.setVgap(20);
jPanel1 = new JPanel();
jPanel1.setLayout(flowLayout1);
jPanel1.add(jLabel1, null);
jPanel1.add(getJButton5(), null);
jPanel1.add(getJButton6(), null);
jPanel1.add(getJButton7(), null);
jPanel1.add(getJButton8(), null);
jPanel1.add(getJButton10(), null);
jPanel1.add(getJButton9(), null);
}
return jPanel1;
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setPreferredSize(new Dimension(80, 80));
//jButton.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice1.png"));
jButton.setFont(new Font("Dialog", Font.BOLD, 48));
jButton.setText("5");
jButton.setForeground(Color.red);
jButton.setBackground(Color.orange);
}
return jButton;
}

/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setPreferredSize(new Dimension(80, 80));
//jButton1.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice2.png"));
jButton1.setText("1");
jButton1.setBackground(Color.orange);
jButton1.setFont(new Font("Dialog", Font.BOLD, 48));
jButton1.setForeground(Color.red);
jButton1.setMnemonic(KeyEvent.VK_UNDEFINED);
}
return jButton1;
}

/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setPreferredSize(new Dimension(80, 80));
//jButton2.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice4.png"));
jButton2.setBackground(Color.orange);
jButton2.setText("6");
jButton2.setFont(new Font("Dialog", Font.BOLD, 48));
jButton2.setForeground(Color.red);
jButton2.setMnemonic(KeyEvent.VK_UNDEFINED);
}
return jButton2;
}

/**
* This method initializes jButton3
*
* @return javax.swing.JButton
*/
private JButton getJButton3() {
if (jButton3 == null) {
jButton3 = new JButton();
jButton3.setPreferredSize(new Dimension(80, 80));
//jButton3.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice5.png"));
jButton3.setText("3");
jButton3.setFont(new Font("Dialog", Font.BOLD, 48));
jButton3.setForeground(Color.red);
jButton3.setBackground(Color.orange);
}
return jButton3;
}

/**
* This method initializes jButton4
*
* @return javax.swing.JButton
*/
private JButton getJButton4() {
if (jButton4 == null) {
jButton4 = new JButton();
jButton4.setPreferredSize(new Dimension(80, 80));
//jButton4.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice2.png"));
jButton4.setText("2");
jButton4.setFont(new Font("Dialog", Font.BOLD, 48));
jButton4.setForeground(Color.red);
jButton4.setBackground(Color.orange);
}
return jButton4;
}

/**
* This method initializes jButton5
*
* @return javax.swing.JButton
*/
private JButton getJButton5() {
if (jButton5 == null) {
jButton5 = new JButton(); jButton5.setPreferredSize(new Dimension(80, 80));
//jButton5.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice6.png"));
jButton5.setText("4");
jButton5.setFont(new Font("Dialog", Font.BOLD, 48));
jButton5.setForeground(Color.orange);
jButton5.setBackground(Color.red);
}
return jButton5;
}

/**
* This method initializes jButton6
*
* @return javax.swing.JButton
*/
private JButton getJButton6() {
if (jButton6 == null) {
jButton6 = new JButton();
jButton6.setPreferredSize(new Dimension(80, 80));
//jButton6.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice2.png"));
jButton6.setText("6");
jButton6.setFont(new Font("Dialog", Font.BOLD, 48));
jButton6.setForeground(Color.orange);
jButton6.setBackground(Color.red);
}
return jButton6;
}

/**
* This method initializes jButton7
*
* @return javax.swing.JButton
*/
private JButton getJButton7() {
if (jButton7 == null) {
jButton7 = new JButton();
jButton7.setPreferredSize(new Dimension(80, 80));
//jButton7.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice1.png"));
jButton7.setText("1");
jButton7.setFont(new Font("Dialog", Font.BOLD, 48));
jButton7.setForeground(Color.orange);
jButton7.setBackground(Color.red);
}
return jButton7;
}

/**
* This method initializes jButton8
*
* @return javax.swing.JButton
*/
private JButton getJButton8() {
if (jButton8 == null) {
jButton8 = new JButton();
jButton8.setPreferredSize(new Dimension(80, 80));
//jButton8.setIcon(new ImageIcon("C:/Documents and Settings/Vlada/My Documents/JavaProjects/IgreSaKockicama/bin/Dice5.png"));
jButton8.setText("2");
jButton8.setFont(new Font("Dialog", Font.BOLD, 48));
jButton8.setForeground(Color.orange);
jButton8.setBackground(Color.red);
}
return jButton8;
}

/**
* This method initializes jButton9
*
* @return javax.swing.JButton
*/
private JButton getJButton9() {
if (jButton9 == null) {
jButton9 = new JButton();
jButton9.setAction(new AbstractAction(){
public void actionPerformed(ActionEvent arg0) {

for(int i=1;i<=1000;i++) {
int r = (int)(Math.random()*6)+1;
jButton.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton1.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton2.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton3.setText(Integer.toStri
jButton4.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton5.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton6.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton7.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton8.setText(Integer.toString(r));
r = (int)(Math.random()*6)+1;
jButton10.setText(Integer.toString(r));
jTextArea.setText("");
Igrac ig = new Igrac();
ig.PopuniNiz(ig.getIgracA());
ig.PopuniNiz(ig.getIgracB());
ig.Sort(ig.getIgracA());
ig.Sort(ig.getIgracB());
ig.Provera();

if(ig.getPoeniA() == 10 ) {
BrojNeresenih++;
}
else if(ig.getPoeniA() > ig.getPoeniB()) {
BrojPobedaA++;
} else if(ig.getPoeniA() < ig.getPoeniB()) {
BrojPobedaB++;
}


if(ig.getBrParova() == 0){
par0++;

}
if(ig.getBrParova() == 1){
par1++;

}
if(ig.getBrParova() == 2){
par2++;

}
if(ig.getBrParova() == 3){
par3++;

}
if(ig.getBrParova() == 4){
par4++;

}
if(ig.getBrParova() == 5){
par5++;

}
ig.setBrParova(0);
ig.setPoeniA(0);
ig.setPoeniB(0);
}
jTextArea.append("Igrac A pobedio je: " + BrojPobedaA + " puta."+"\n");
jTextArea.append("Igrac B pobedio je: " + BrojPobedaB + " puta."+"\n");
jTextArea.append("Nereseno je bilo: " + BrojNeresenih + " puta."+"\n\n");
jTextArea.append("Igraci A i B su imali razlicite kockice " + par0 + " puta."+"\n");
jTextArea.append("Igraci A i B imali su jedan isti par " + par1 + " puta."+"\n");
jTextArea.append("Igraci A i B imali su dva ista para " + par2 + " puta."+"\n");
jTextArea.append("Igraci A i B imali su tri ista para " + par3 + " puta."+"\n");
jTextArea.append("Igraci A i B imali su cetri ista para " + par4 + " puta."+"\n");
jTextArea.append("Igraci A i B imali su pet istih parova " + par5 + " puta."+"\n");
BrojPobedaA=0;
BrojPobedaB=0;
BrojNeresenih=0;
par0=0;
par1=0;
par2=0;
par3=0;
par4=0;
par5=0;
}});
jButton9.setPreferredSize(new Dimension(120, 30));
jButton9.setText("Pocni igru");
return jButton9;
}

/**
* This method initializes jPanel2
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel2() {
if (jPanel2 == null) {
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.fill = GridBagConstraints.BOTH;
gridBagConstraints.gridy = 0;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.gridx = 0;
jPanel2 = new JPanel();
jPanel2.setLayout(new GridBagLayout());
jPanel2.setBorder(BorderFactory.createTitledBorder(null, "Ispis", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.PLAIN, 18), new Color(254, 102, 102)));
jPanel2.add(getJScrollPane(), gridBagConstraints);
}
return jPanel2;
}

/**
* This method initializes jButton10
*
* @return javax.swing.JButton
*/
private JButton getJButton10() {
if (jButton10 == null) {
jButton10 = new JButton();
jButton10.setPreferredSize(new Dimension(80, 80));
//jButton10.setIcon(new ImageIcon("C:/Dice3.png"));
jButton10.setText("3");
jButton10.setFont(new Font("Dialog", Font.BOLD, 48));
jButton10.setForeground(Color.orange);
jButton10.setBackground(Color.red);
}
return jButton10;

/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getJTextArea());
}
return jScrollPane;
}

/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
}
return jTextArea;
}


} // @jve:decl-index=0:visual-constraint="116,20"



package paket;

public class Igrac {
public static int poeniA=0;
public static int poeniB=0;
public static int BrParova=0;
private static int igracA[] = new int[5];
private static int igracB[] = new int[5];

// Default konstruktor
Igrac(){};

public static int[] PopuniNiz(int niz[]) {
for(int i=0;i niz[i] = (int)(Math.random()*6) + 1;
}
return niz;
}
public static int[] Sort(int niz[]) {
int i,j,pom;

for(i=0;i for(j=0;j if(niz[j] > niz[j+1]) {
pom = niz[j];
niz[j] = niz[j+1];
niz[j+1] = pom;
}
}
return niz;
}

public static void Provera() {
int sumaA=0,sumaB=0;
for(int i=0;i if(igracA[i] > igracB[i]) {
poeniA++;
}
else if(igracA[i] < igracB[i]) {
poeniB++;
}
}
for(int j=0;j for(int k=0;k if(igracA[j]==igracB[k]) {
BrParova++;
break;
}
}

if(poeniA==poeniB) {
for(int i=0;i sumaA +=igracA[i];
sumaB +=igracB[i];
}
if(sumaA > sumaB) {
poeniA++;
}
if(sumaB > sumaA) {
poeniB++;
}
if(sumaA == sumaB) {
poeniA = 10;
}
}
}
public static int getPoeniA() {
return poeniA;
}

public static void setPoeniA(int poeniA) {
Igrac.poeniA = poeniA;
}

public static int getPoeniB() {
return poeniB;
}

public static void setPoeniB(int poeniB) {
Igrac.poeniB = poeniB;
}

public static int getBrParova() {
return BrParova;
}

public static void setBrParova(int brParova) {
BrParova = brParova;
}

public static int[] getIgracA() {
return igracA;
}

public static void setIgracA(int[] igracA) {
Igrac.igracA = igracA;
}

public static int[] getIgracB() {
return igracB;
}

public static void setIgracB(int[] igracB) {
Igrac.igracB = igracB;
}

/*public static void main(String argv[]) {
Igrac i = new Igrac();
i.PopuniNiz(igracA);
i.PopuniNiz(igracB);
i.Sort(igracA);
i.Sort(igracB);

for(int j=0;j System.out.print(igracA[j]+" ");
}

System.out.println();

for(int j=0;j System.out.print(igracB[j]+" ");
}

i.Provera();
System.out.println();
System.out.println("poeniA: "+poeniA+"\n"+"poeniB: "+poeniB+"\n"+"brParova: "+BrParova);
}*/
}