Avatar billede mazey Praktikant
28. februar 2004 - 14:54 Der er 8 kommentarer og
1 løsning

Studerende med et problem med at lave et lille spil

Hejsa...
Jeg har fået til opgave at lave et lille spil (sten papir og saks), problemet er bare at jeg ikke er super god til det...
Jeg har omtrent kigget hele java bogen igennem, men stadig intet held.... :)
Koden ser således ud... Forventer ikke at en eller anden skal lave det for mig, men måske give mig ideer til hvordan det kan gøres.

// ****************************************************************
//  Rock.java
//
//  Play Rock, Paper, Scissors with the user
//
// ****************************************************************
import cs1.Keyboard;
import java.util.Random;

public class Rock
{
    public static void main(String[] args)
    {
    String personPlay;    //User's play -- "R", "P", or "S"
    String computerPlay;  //Computer's play -- "R", "P", or "S"
    int computerInt;      //Randomly generated number used to determine
                          //computer's play

    Random generator = new Random();

    //Get player's play -- note that this is stored as a string
   
    //Make player's play uppercase for ease of comparison


    //Generate computer's play (0,1,2)


    //Translate computer's randomly generated play to string
    switch (computerInt){


    }

    //Print computer's play


    //See who won.  Use nested ifs instead of &&.
    if (personPlay.equals(computerPlay))
        System.out.println("It's a tie!");
    else if (personPlay.equals("R"))
        if (computerPlay.equals("S"))
        System.out.println("Rock crushes scissors.  You win!!");
        else
        System.out.println("Rock crushes scissors.  You Lose!!");

        //...  Fill in rest of code

    }
}

Håber en eller anden vil hjælpe
Avatar billede jakoba Nybegynder
28. februar 2004 - 15:04 #1
Nu skal lektier jo ikke have alt for komplette svar, men her er lidt:

    //Get player's play -- note that this is stored as a string
expanderer til
    // skriv et prompt til brugeren der beder om "R", "P", eller "S"
    // hent ind hvad brugeren indtaster
    \\ test at du kan genkende det han indtaster \\  // debugkode. fjernes igen når det virker.

    //Generate computer's play (0,1,2)
    int computerPlay = (int)floor(random()*3);
    String cPs = "";            // computerens træk som String.
    awitch ( computerPlay ) {
        case 0: cPs = "R";
                break;
        case 1: cPs = "P";
                break;
        case 2: cPs = "S";
                break;
        default System.out.println( "FEJL. Dette burde ikke kunne ske" );
    }

mvh JakobA
Avatar billede jakoba Nybegynder
28. februar 2004 - 15:06 #2
Ups.  awitch  skulle være  switch    (med 's')
Avatar billede arne_v Ekspert
28. februar 2004 - 15:20 #3
Og:

int computerPlay = (int)Math.floor(Math.random()*3);

(medmindre 1.5 og static import) eller måske bedre:

Random rng = new Random();

og:

int computerPlay = rng.nextInt(3);
Avatar billede arne_v Ekspert
28. februar 2004 - 15:22 #4
Jeg ville nok lave udfald beregningen ikke med if, men med et 2 dimensionelt
array med 3 elementer på hver led indeholdende 3 outcomes (computer vinder,
du vinder, uafgjordt om igen).
Avatar billede arne_v Ekspert
28. februar 2004 - 15:23 #5
(sidstnævnte skal så bruge 0 1 2 som index og først konvertere til R P S
ved udskrift)
Avatar billede arne_v Ekspert
21. marts 2004 - 20:54 #6
Kommet videre ?
Avatar billede mazey Praktikant
25. marts 2004 - 00:37 #7
smid et svar.... ja tak, det var fint!
Avatar billede arne_v Ekspert
25. marts 2004 - 07:14 #8
Jakob formoder jeg ...
Avatar billede mazey Praktikant
05. oktober 2004 - 19:33 #9
ghj
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester