java - How to make 2 JComboBoxes simulate dice? -


for school have make game, wanted make dice rolling game. intention have 2 jcomboboxes, 1 how many dices person wants , 1 has number of sides. how make 1 jcombobox make difference outcome don't know how make both of them chance outcome.

this code now, still need make button thought solve first

public class dobbel1 extends jframe {     // number of sides     private int[] zijden = { 4, 6, 8, 10, 12, 20 };      public dobbel1() {         super("yahtzee!");         getcontentpane().setlayout(new flowlayout());          jcombobox<string> sides = new jcombobox<string>();         (int i=0;i<zijden.length;i++) {             sides.additem("" + zijden[i] + " sides");         }         getcontentpane().add(sides);          jcombobox<string> number = new jcombobox<string>();         number.additem("1 dice");         number.additem("2 dices");         number.additem("3 dices");         number.additem("4 dices");         number.additem("5 dices");         number.additem("6 dices");         number.additem("7 dices");         number.additem("8 dices");         getcontentpane().add(number);          number.addactionlistener(new actionlistener() {              @override             public void actionperformed(actionevent event) {                 // todo auto-generated method stub                 jcombobox number = (jcombobox) event.getsource();                 object selected = number.getselecteditem();                 if selected.tostring().equals("1 dice");              }         });          jbutton button1 = new jbutton("throw!");         add(button1);          button1.addactionlistener(new throw());          }      public static void main(string[]args){         dobbel1 dobbel = new dobbel1();          dobbel .setsize(800,400);         dobbel .setdefaultcloseoperation(jframe.exit_on_close);         dobbel .setminimumsize(new dimension(300,100));         dobbel .setlocation(300,150);         dobbel .setvisible(true);          container contentpane = dobbel .getcontentpane();          random r = new random();         int result = r.nextint(6);         result = result + 1;     } } 

voila!

import javax.swing.*; import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.util.random;  public class dobbel1 extends jframe {      private int[] zijden = {4, 6, 8, 10, 12, 20};     random r = new random();     private int chosendicenumber = 1;     private int chosensidesnumber = 4;     jlabel result = new jlabel();      public dobbel1() {         super("yahtzee!");         getcontentpane().setlayout(new flowlayout());           jcombobox<string> sides = new jcombobox<string>();         (int = 0; < zijden.length; i++) {             sides.additem("" + zijden[i] + " sides");         }          sides.addactionlistener(new actionlistener() {             @override             public void actionperformed(actionevent event) {                 jcombobox number = (jcombobox) event.getsource();                 string selectedvalue = number.getselecteditem().tostring();                 chosensidesnumber = integer.valueof((selectedvalue.split("\\s+"))[0]);             }         });          getcontentpane().add(sides);          jcombobox<string> number = new jcombobox<string>();         number.additem("1 dice");         number.additem("2 dices");         number.additem("3 dices");         number.additem("4 dices");         number.additem("5 dices");         number.additem("6 dices");         number.additem("7 dices");         number.additem("8 dices");          number.addactionlistener(new actionlistener() {              @override             public void actionperformed(actionevent event) {                 jcombobox number = (jcombobox) event.getsource();                 string selectedvalue = number.getselecteditem().tostring();                 chosendicenumber = integer.valueof((selectedvalue.split("\\s+"))[0]);             }         });          getcontentpane().add(number);          jbutton button1 = new jbutton("throw!");         add(button1);          button1.addactionlistener(new actionlistener() {             @override             public void actionperformed(actionevent e) {                 stringbuilder sb = new stringbuilder("rolled: ");                  (int i=0; i<chosendicenumber; i++) {                     sb.append(getnextvalue()).append(", ");                 }                 sb.delete(sb.length()-2, sb.length());                 result.settext(sb.tostring());             }         });         add(result);     }      public static void main(string[] args) {         dobbel1 dobbel = new dobbel1();         dobbel.setsize(800, 400);         dobbel.setdefaultcloseoperation(jframe.exit_on_close);         dobbel.setminimumsize(new dimension(300, 100));         dobbel.setlocation(300, 150);         dobbel.setvisible(true);     }      private int getnextvalue() {         return r.nextint(chosensidesnumber) + 1;     } } 

it's example of dirty code, anyway, you've got idea.


Comments