for school have make game, wanted make dice rolling game. intention have 2 jcombobox
es, 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
Post a Comment