Permalänk
Medlem

Ska skapa Yatzi spel

Hej allihopa, som MVG uppgift från skolan har jag att jag ska skapa ett Yatzi spel i Java. Det ska inte vara en applet.

Nu är det så att jag har stött på ett litet problem som jag hoppas ni här på swec kan hjälpa mig med

Just nu så skriver jag ut vad tärningarna har fått genom JOptionPane.showInputDialog.

och jag hade först tänkt att man sen i rutan som kommer upp där ska skriva in vilka tärningar man vill slå om.
Efter lite eftertanke har jag kommit på att detta verkar vara ett mycket jobbigt sätt där jag kommer behöva massa if satser och på ngt vis checka efter specifika ord som "tärning1" osv.

Därför undrar jag om det finns ngt sätt jag kan skapa en dialogruta som skriver ut resultatet och har 5 checkboxar/knappar som användaren trycker in. och varje knapp/checkbox som trycks in sätter en variabel till true. och sedan när man trycker på en knapp som heter "kasta om tärningarna" eller liknande, så kastas de tärningar som har blivit sättna till true.

Jag hoppas ni förstår vad jag menar och kan hjälpa mig Annars är det bara fråga vad jag menar så jag kan vara mer specifik.

Visa signatur

Letar du bostad i Stockholm?
Snabbostad.se

Permalänk
Medlem

Skapa en JFrame som du lägger en JPanel på. I panelen lägger du sen några JCheckBox och en JButton.
Kolla också på JDialog, det kan vara enklare att använda.

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk
Medlem

Jag har aldrig läst om JDialog eller JFrame. Var kan jag göra det?

Visa signatur

Letar du bostad i Stockholm?
Snabbostad.se

Permalänk
Medlem
Skrivet av folke123:

Jag har aldrig läst om JDialog eller JFrame. Var kan jag göra det?

Googla på java swing eller kolla javadocs.

Visa signatur

Primär Dator: Asus Sabertooth Z97 Mark 2/USB 3.1 | Intel Core I7 5775C | 32GB RAM (DDR3 1600MHz) | Nvidia Geforce GTX 1070 (Asus Strix) | Corsair HX750i 750W | Fractal Design Define R5 | 3,5TB SSD + 3TB HDD + 64TB NAS + 36 TB Backup | Asus Xonar Essence STX II | Win10 Pro

Permalänk
Medlem

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package yatzi; import javax.swing.*; /** * * @author 92fre100 */ public class Yatzi { /** * @param args the command line arguments */ public static void main(String[] args) { int tärning1; int tärning2; int tärning3; int tärning4; int tärning5; boolean köraigen = true; while (köraigen = true) { tärning1 = ((int) (Math.random() * 6 + 1)); tärning2 = ((int) (Math.random() * 6 + 1)); tärning3 = ((int) (Math.random() * 6 + 1)); tärning4 = ((int) (Math.random() * 6 + 1)); tärning5 = ((int) (Math.random() * 6 + 1)); JCheckBox dice1 = new JCheckBox("tärning 1 visar " + tärning1); JCheckBox dice2 = new JCheckBox("tärning 2 visar " + tärning2); JCheckBox dice3 = new JCheckBox("tärning 3 visar " + tärning3); JCheckBox dice4 = new JCheckBox("tärning 4 visar " + tärning4); JCheckBox dice5 = new JCheckBox("tärning 5 visar " + tärning5); String message = "Vilka tärningar vill du kasta om?"; Object[] params = {message, dice1, dice2, dice3, dice4, dice5}; int n = JOptionPane.showConfirmDialog(null, params, "Tärningskast", JOptionPane.YES_NO_OPTION); //vad sparas till n? for (int slag = 1; slag < 3; slag++) { if (dice1.isSelected()) { tärning1 = ((int) (Math.random() * 6 + 1)); } if (dice2.isSelected()) { tärning2 = ((int) (Math.random() * 6 + 1)); } if (dice3.isSelected()) { tärning3 = ((int) (Math.random() * 6 + 1)); } if (dice4.isSelected()) { tärning4 = ((int) (Math.random() * 6 + 1)); } if (dice5.isSelected()) { tärning5 = ((int) (Math.random() * 6 + 1)); } n = JOptionPane.showConfirmDialog(null, params, "Tärningskast", JOptionPane.YES_NO_OPTION); //vad sparas till n? } JOptionPane.showMessageDialog(null, "du har inte fler slag"); } } }

Sådär ser min kod ut nu, men jag har ett litet problem.
När jag kallar upp min dialogruta igen så visar den orginalvärdet på tärning1 (den gör självklart likadant på alla tärningar) inte det uppdaterade värdet. Varför är det så och hur ficar jag det?

Visa signatur

Letar du bostad i Stockholm?
Snabbostad.se

Permalänk

Lite offtopic.. Men är det där verkligen en MVG-Uppgift?! Ser inte så väldans svårt ut (kan lite C#, och jag kan som sagt _lite_.. Tycker att det ser lite för lätt ut för MVG)...

Permalänk
Medlem

Det är programering A och detta är bara en av flera uppgifter som man behöver göra för att få MVG.

Sen är den ju långt i från klar, ska göras så att man får välja vad man vill spara slagen som och sen metoder som räknar ut poängen man får från det och sedan även ett två spelar läge.

När spelet är klart ska det fungera som riktigt yatzy(i)?

Men ingen som vet varför min showConfirmDialog inte använder de uppdaterade värdena?

Visa signatur

Letar du bostad i Stockholm?
Snabbostad.se

Permalänk
Skrivet av SuperChefen:

Lite offtopic.. Men är det där verkligen en MVG-Uppgift?! Ser inte så väldans svårt ut (kan lite C#, och jag kan som sagt _lite_.. Tycker att det ser lite för lätt ut för MVG)...

Programmeringen på gymnasienivån är ett fullständigt skämt, så det förvånar mig inte att det där är nog för ett MVG.

Visa signatur

Asus Maximus II formula, E8400 @ 3.9GHz, 4GB Dominator DDR2, Radeon HD4850.

Permalänk
Medlem

Är nog inte ett skämt för dem som ska programera för första gången

Visa signatur

__________________
Gigabte GA-P55M-UD4, i5 760 @ Stock, Sparkle GTX460 OC @ 810 Mhz, Fractal Design 650W 80+, Corsair 12GB (2x2048MB, 2x4096Mb) 1333MHz, Lian Li PC-V351R mATX RÖD, Asus VE248H

Permalänk

Jag och mina polare gjorde programmering a,b och c på 4 veckor, resten av tiden satt vi och jobbade på egna projekt, läraren tyckte det var helt okej.