Hjälp med programmeringsuppgift! (Java)
Har en uppgift som ska lämnas in senast kl 23:55 ikväll som går ut på att man ska göra ett tärningsspel (yatzy).
Citat från it's learning:
"Nu ska du få skapa ett litet enkelt tärningsspel där du får användning av dina kunskaper om fält. Spelet går till så här: Spelaren (eller snarare datorn) slår fem stycken sexsidiga tärningar. Spelaren får sedan välja en av tärningarna som datorn ska slå igen. Om alla tärningar är lika så är spelet vunnet. Annars forsätter spelaren välja en tärning som datorn ska slå igen. Presentera tärningsslagen i en showInputDialog-ruta."
Programkod:
package test_package;
import javax.swing.*;
import java.util.*;
/**
*
* @author Johan
*/
public class yatzyvg
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
double t1, t2, t3, t4, t5;
int kontroll = 0;
String läst1 = "1";
String läst2 = "2";
String läst3 = "3";
String läst4 = "4";
String läst5 = "5";
t1 = Math.floor(Math.random()*6+1);
int t1int = (int)t1;
t2 = Math.floor(Math.random()*6+1);
int t2int = (int)t2;
t3 = Math.floor(Math.random()*6+1);
int t3int = (int)t3;
t4 = Math.floor(Math.random()*6+1);
int t4int = (int)t4;
t5 = Math.floor(Math.random()*6+1);
int t5int = (int)t5;
int [] falt = new int [5];
falt[0] = t1int;
falt[1] = t2int;
falt[2] = t3int;
falt[3] = t4int;
falt[falt.length-1] = t5int;
for (int i=0;
i<
falt.length;
i++)
System.out.println(falt[i]);
JOptionPane.showMessageDialog(null,
"Dina nummer: " +
falt[0] + falt[1] + falt[2] + falt[3] + falt[4]);
if (falt[0]==falt[1] &&
falt[0]==falt[2] &&
falt[1]==falt[3] &&
falt[0]==falt[4])
{
JOptionPane.showMessageDialog(null, "Grattis, du fick Yatzy på första slaget!" );
}
//om man får Yatzy på första slaget
else
while(kontroll == 0)
{
String token = null;
int fråga1 = JOptionPane.showConfirmDialog(null, "vill du kasta om någon av tärningarna?");
if(fråga1 == 0)
{
kontroll=0;
String fråga2 = JOptionPane.showInputDialog(null, "Dina nummer: " +
falt[0] + falt[1] + falt[2] + falt[3] + falt[4] + "\nVilka? (Skriv t.ex '1 3' om du vill slå om tärning 1 och 3 )" );
{
}
StringTokenizer t = new StringTokenizer(fråga2);
while (t.hasMoreTokens())
{
token = t.nextToken();
if (token.equals(läst1))
{
t1 = Math.floor(Math.random()*6+1);
t1int = 0 + (int)t1;
falt[0] = t1int;
}
else if (token.equals(läst2))
{
t2 = Math.floor(Math.random()*6+1);
t2int = 0 + (int)t2;
falt[1] = t2int;
}
else if (token.equals(läst3))
{
t3 = Math.floor(Math.random()*6+1);
t3int = 0 + (int)t3;
falt[2] = t3int;
}
else if (token.equals(läst4))
{
t4 = Math.floor(Math.random()*6+1);
t4int = 0 + (int)t4;
falt[3] = t4int;
}
else if (token.equals(läst5))
{
t5 = Math.floor(Math.random()*6+1);
t5int = 0 + (int)t5;
falt[4] = t5int;
}
}
}
else
{
kontroll = 1;
}
JOptionPane.showMessageDialog(null,
falt[0] + " " +
falt[1] + " " +
falt[2] + " " +
falt[3] + " " +
falt[4]);
if (falt[0]==falt[1] &&
falt[0]==falt[2] &&
falt[1]==falt[3] &&
falt[0]==falt[4])
{
JOptionPane.showMessageDialog(null, "Grattis, du fick Yatzy!" );
}
//Här får man Yatzy efter man slagit om tärningar
}
}
}
Programmet fungerar som det ska i stora drag, det enda som strular är att efter man har fått Yatzy frågar programmet om man vill slå om "tärningarna" igen, samt några fler dialogrutor som dyker upp, vilket det inte ska. När man har fått Yatzy ska "Grattis, du har fått yatzy!" komma upp och sedan avslutas programmet.
Kan någon hjälpa mig med detta? Ge tips på vad jag ska lägga till/ändra/ta bort. Jag är inte så jätteduktig på programmering och har fått en del hjälp med denna uppgift.
Tackar för svar /Johan
Edit: Hittar verkligen inte var jag kan läga till en break-sats eller liknande. All hjälp uppskattas!