DJ-Stigma Skrevet 21. november 2012 Del Skrevet 21. november 2012 Hei! Jeg prøver å løse en oppgave i Java. Oppgaven går ut på å kaste en terning, og legge sammen det man får. Det er om å komme først til 100. Jeg skal deretter lage et program som lar deg spille mot maskinen. Dere "kaster" annen hver gang, og programmet må summere opp poengene for begge to. Et terningkast gjøres ved (int) (Math.random() * 6 + 1) Programmet "gjør" terningkastet og du vurderer om du skal fortsette omgangen eller stoppe opp og ta vare på poengene. Det er dette jeg skal få til utskrift: Skriv navnet ditt: Spiller Vil du spille hundre mot maskinen? j Spiller sin tur Spiller fikk 2 og har 2 poeng i denne runden. Fortsetter du? j Spiller fikk 6 og har 8 poeng i denne runden. Fortsetter du? j Spiler fikk 6 og har 14 poeng i denne runden. Fortsetter du? n Spiller har nå 14 poeng! Maskinen sin tur Maskinen fikk 4 og har 4 poeng i denne runden. Maskinen fikk 4 og har8 poeng i denne runden. Maskinen fikk 5 og har 13 poeng i denne runden. Maskinen fikk 3 og har 16 poeng i denne runden. Maskinen fikk 4 og har 20 poeng i denne runden. Maskinen har nå 20 poeng! ... Spiller har nå 88 poeng! Maskinen sin tur Maskinen fikk 5 og har 5 poeng i denne runden. Maskinen fikk 4 og har 9 poeng i denne runden. Maskinen fikk 6 og har 15 poeng i denne runden. Maskinen fikk 6 og har 21 poeng i denne runden. Maskinen har nå 91 poeng! Spiller sin tur Det ble 1'er! Spiller har nå 88 poeng! Maskinen sin tur Maskinen fikk 3 og har 3 poeng i denne runden. Maskinen fikk 5 og har 8 poeng i denne runden. Maskinen fikk 3 og har 11 poeng i denne runden. Maskinen fikk 5 og har 16 poeng i denne runden. Maskinen fikk 5 og har 19 poeng i denne runden. Maskinen fikk 5 og har 24 poeng i denne runden. Maskinen har nå 115 poeng! Maskinen vant med 115 poeng! Vil du spille en gang til? Jeg har prøvd meg fram til løsningen, men får det ikke helt til.. Noen her som kan gi meg tips evt. hvordan jeg kan løse den på en enklere måte? Kan legge ut koden hvis ønskelig. Lenke til kommentar
MrL Skrevet 21. november 2012 Del Skrevet 21. november 2012 (endret) Det der så ganske surrete ut, dette bør jo være et lekende lett program å lage. Du genererer et kast og skriver utskriften, legger sammen potten. Spiller du mot maskinen genererer du 2 kast hver gang du trykker på en knapp, legger det sammen i hver sin pott. Jeg skjønner nesten ikke hvorfor du får utskriftene du får, du må jo ha surret noe innmari, tenk enkelt, for det er faktisk nettopp det EDIT: Et tips dog: Ikke ha så mye tekst! Lag det f.eks sånn med faste posisjoner: Du: 0 score //oppdateres for hver kast Maskin: 5 score //oppdateres for hver kast (Tekst:) "Du fikk 5!" (2 sekunder delay, puttes ut med hva maskinen fikk.) Knapp[Kast terning!] Endret 22. november 2012 av MrLG Lenke til kommentar
DJ-Stigma Skrevet 22. november 2012 Forfatter Del Skrevet 22. november 2012 (endret) Det der så ganske surrete ut, dette bør jo være et lekende lett program å lage. Du genererer en kast og skriver utskriften, legger sammen potten. Spiller du mot maskinen genererer du 2 kast hver gang du trykker på en knapp, legger det sammen i hver sin pott. Jeg skjønner nesten ikke hvorfor du får utskriftene du får, du må jo ha surret noe innmari, tenk enkelt, for det er faktisk nettopp det Takk for svar! Men jeg får det ikke til å stemme helt med denne delen her "Spiller har nå 88 poeng! Maskinen sin tur Maskinen fikk 3 og har 3 poeng i denne runden. Maskinen fikk 5 og har 8 poeng i denne runden. Maskinen fikk 3 og har 11 poeng i denne runden. Maskinen fikk 5 og har 16 poeng i denne runden. Maskinen fikk 5 og har 19 poeng i denne runden. Maskinen fikk 5 og har 24 poeng i denne runden. Maskinen har nå 115 poeng! Maskinen vant med 115 poeng! Vil du spille en gang til?" Den bare fortsetter fra spiller, og ikke maskinen.. Skal prøve å poste koden min her snart Endret 22. november 2012 av DJ-Stigma Lenke til kommentar
Aleksander- Skrevet 22. november 2012 Del Skrevet 22. november 2012 (endret) Jeg kunne ikke dy meg. Skrevet før kl 9 om morgenen uten kaffe, så jeg tar forbehold om dårlig kode... For å kjøre dette må du ha en klasse med main hvor du oppretter et game objekt. main() { Game game = new Game(); } import java.util.Scanner; public class Game { Scanner scan; boolean win; int spiller; int rull; int antMaskiner; int OnsketPoeng; String gameOn; public Game() { scan = new Scanner(System.in); win=false; System.out.println("Hvor mange poeng vil du gå til?"); OnsketPoeng = scan.nextInt(); newGame() ; } private int rullTerning() { return (int) (Math.random()*6+1); } private boolean checkwin(int[] maskiner) { if(spiller>=OnsketPoeng) { System.out.println("Spiller vant!!"); return true; } for(int i=0; i<maskiner.length; i++) { if(maskiner[i]>=OnsketPoeng) { System.out.println("Maskin "+i+" vant!!"); win=true; } } return false; } private void newGame( ) { System.out.println("Hvor mange maskiner ønsker du å spille mot?"); antMaskiner = scan.nextInt(); int[] maskiner = new int[antMaskiner]; System.out.println("Rull med r og enter, avbryt med x"); while(!win) { if(scan.nextLine().equalsIgnoreCase("r")) { rull=rullTerning(); spiller+=rull; System.out.println("Spiller rullet "+rull+", spiller har nå "+spiller+" poeng."); for(int i=0; i<maskiner.length; i++) { rull=rullTerning(); maskiner[i]+=rull; System.out.println("Maskin "+i+" rullet "+rull+", maskin "+i+" har nå "+maskiner[i]+" poeng."); } win = checkwin(maskiner); } } System.out.println("Spille igjen?"); if(scan.nextLine().equalsIgnoreCase("j")) { System.out.println("Hvor mange poeng vil du gå til?"); OnsketPoeng = scan.nextInt(); win=false; spiller=0; newGame(); } } } Endret 22. november 2012 av Aleksander- Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå