import java.util.Scanner ;
import java.util.Random ;
/**
*
* @author St0ner1995
*/
public class GameRockPaperScissors {
/**
* @param args the command line arguments
*/
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
Scanner scan
= new Scanner
( System .
in ) ;
System .
out .
println ( "Hey, let's play Rock, Paper, Scissors!\n " + "Please enter a move.\n " + "Rock = R, Paper" +
"= P, and Scissors = S." ) ;
//Generate computer's play (0,1,2)
computerInt = generator.nextInt ( 3 ) + 1 ;
//Translate computer's randomly generated play to
//string using if //statements
if ( computerInt == 1 )
computerPlay = "R" ;
else if ( computerInt == 2 )
computerPlay = "P" ;
else if ( computerInt == 3 )
computerPlay = "S" ;
//Get player's play from input-- note that this is
// stored as a string
System .
out .
print ( "Enter your play: " ) ; personPlay = scan.next ( ) ;
//Make player's play uppercase for ease of comparison
personPlay = personPlay.toUpperCase ( ) ;
//Print computer's play
System .
out .
println ( "Computer play is: " + computerPlay
) ;
//See who won. Use nested ifs
if ( personPlay.equals ( computerPlay) )
System .
out .
println ( "It's a tie!" ) ; else if ( personPlay.equals ( "R" ) )
if ( computerPlay.equals ( "P" ) )
System .
out .
println ( "Paper eats rock. You lose!!" ) ; else if ( computerPlay.equals ( "S" ) )
System .
out .
println ( "Rock crushes scissors. You win!!" ) ; else if ( personPlay.equals ( "P" ) )
if ( computerPlay.equals ( "R" ) )
System .
out .
println ( "Paper eats rock. You win!!" ) ; else if ( computerPlay.equals ( "S" ) )
System .
out .
println ( "Scissor cuts paper. You lose!!" ) ; else if ( personPlay.equals ( "S" ) )
if ( computerPlay.equals ( "R" ) )
System .
out .
println ( "Rock breaks scissors. You lose!!" ) ; else if ( computerPlay.equals ( "P" ) )
System .
out .
println ( "Scissor cuts paper. You win!!" ) ; else
System .
out .
println ( "Oops, something happened..." ) ;
}
}
IGltcG9ydCBqYXZhLnV0aWwuU2Nhbm5lcjsgCiBpbXBvcnQgamF2YS51dGlsLlJhbmRvbTsgCiAKIC8qKgogICoKICAqIEBhdXRob3IgU3QwbmVyMTk5NQogICovCiBwdWJsaWMgY2xhc3MgR2FtZVJvY2tQYXBlclNjaXNzb3JzIHsKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSBhcmdzIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzCiAgICAgICovCiAgICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgICBTdHJpbmcgcGVyc29uUGxheTsgLy9Vc2VyJ3MgcGxheSAtLSAiUiIsICJQIiwgb3IgIlMiIAogICAgICAgICBTdHJpbmcgY29tcHV0ZXJQbGF5ID0gIiI7IC8vQ29tcHV0ZXIncyBwbGF5IC0tICJSIiwgIlAiLCBvciAiUyIgCiAgICAgICAgIGludCBjb21wdXRlckludDsgLy9SYW5kb21seSBnZW5lcmF0ZWQgbnVtYmVyIHVzZWQgdG8gZGV0ZXJtaW5lIAogICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29tcHV0ZXIncyBwbGF5IAogICAgICAgICBTdHJpbmcgcmVzcG9uc2U7IAogCiAKICAgICAgICAgU2Nhbm5lciBzY2FuID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsgCiAgICAgICAgIFJhbmRvbSBnZW5lcmF0b3IgPSBuZXcgUmFuZG9tKCk7IAogCiAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiSGV5LCBsZXQncyBwbGF5IFJvY2ssIFBhcGVyLCBTY2lzc29ycyFcbiIgKyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQbGVhc2UgZW50ZXIgYSBtb3ZlLlxuIiArICJSb2NrID0gUiwgUGFwZXIiICsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPSBQLCBhbmQgU2Npc3NvcnMgPSBTLiIpOwogCiAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogCiAgICAgICAgIC8vR2VuZXJhdGUgY29tcHV0ZXIncyBwbGF5ICgwLDEsMikgCiAgICAgICAgIGNvbXB1dGVySW50ID0gZ2VuZXJhdG9yLm5leHRJbnQoMykrMTsgCiAKICAgICAgICAgLy9UcmFuc2xhdGUgY29tcHV0ZXIncyByYW5kb21seSBnZW5lcmF0ZWQgcGxheSB0byAKICAgICAgICAgLy9zdHJpbmcgdXNpbmcgaWYgLy9zdGF0ZW1lbnRzIAogCiAgICAgICAgIGlmIChjb21wdXRlckludCA9PSAxKSAKICAgICAgICAgICAgIGNvbXB1dGVyUGxheSA9ICJSIjsgCiAgICAgICAgIGVsc2UgaWYgKGNvbXB1dGVySW50ID09IDIpIAogICAgICAgICAgICAgY29tcHV0ZXJQbGF5ID0gIlAiOyAKICAgICAgICAgZWxzZSBpZiAoY29tcHV0ZXJJbnQgPT0gMykgCiAgICAgICAgICAgICBjb21wdXRlclBsYXkgPSAiUyI7IAogCiAKICAgICAgICAgLy9HZXQgcGxheWVyJ3MgcGxheSBmcm9tIGlucHV0LS0gbm90ZSB0aGF0IHRoaXMgaXMgCiAgICAgICAgIC8vIHN0b3JlZCBhcyBhIHN0cmluZyAKICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiRW50ZXIgeW91ciBwbGF5OiAiKTsgCiAgICAgICAgIHBlcnNvblBsYXkgPSBzY2FuLm5leHQoKTsKIAogICAgICAgICAvL01ha2UgcGxheWVyJ3MgcGxheSB1cHBlcmNhc2UgZm9yIGVhc2Ugb2YgY29tcGFyaXNvbiAKICAgICAgICAgcGVyc29uUGxheSA9IHBlcnNvblBsYXkudG9VcHBlckNhc2UoKTsgCiAKICAgICAgICAgLy9QcmludCBjb21wdXRlcidzIHBsYXkgCiAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQ29tcHV0ZXIgcGxheSBpczogIiArIGNvbXB1dGVyUGxheSk7IAogCiAKICAgICAgICAgLy9TZWUgd2hvIHdvbi4gVXNlIG5lc3RlZCBpZnMgCiAKICAgICAgICAgaWYgKHBlcnNvblBsYXkuZXF1YWxzKGNvbXB1dGVyUGxheSkpIAogICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJJdCdzIGEgdGllISIpOyAKICAgICAgICAgZWxzZSBpZiAocGVyc29uUGxheS5lcXVhbHMoIlIiKSkgCiAgICAgICAgICAgICBpZiAoY29tcHV0ZXJQbGF5LmVxdWFscygiUCIpKSAKICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBhcGVyIGVhdHMgcm9jay4gWW91IGxvc2UhISIpOwogICAgICAgICAgICAgZWxzZSBpZiAoY29tcHV0ZXJQbGF5LmVxdWFscygiUyIpKSAKICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlJvY2sgY3J1c2hlcyBzY2lzc29ycy4gWW91IHdpbiEhIik7CiAgICAgICAgIGVsc2UgaWYgKHBlcnNvblBsYXkuZXF1YWxzKCJQIikpIAogICAgICAgICAgICAgaWYgKGNvbXB1dGVyUGxheS5lcXVhbHMoIlIiKSkgCiAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJQYXBlciBlYXRzIHJvY2suIFlvdSB3aW4hISIpOwogICAgICAgICAgICAgZWxzZSBpZiAoY29tcHV0ZXJQbGF5LmVxdWFscygiUyIpKSAKICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNjaXNzb3IgY3V0cyBwYXBlci4gWW91IGxvc2UhISIpOwogICAgICAgICBlbHNlIGlmIChwZXJzb25QbGF5LmVxdWFscygiUyIpKSAKICAgICAgICAgICAgIGlmIChjb21wdXRlclBsYXkuZXF1YWxzKCJSIikpIAogICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUm9jayBicmVha3Mgc2Npc3NvcnMuIFlvdSBsb3NlISEiKTsKICAgICAgICAgICAgIGVsc2UgaWYgKGNvbXB1dGVyUGxheS5lcXVhbHMoIlAiKSkgCiAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTY2lzc29yIGN1dHMgcGFwZXIuIFlvdSB3aW4hISIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk9vcHMsIHNvbWV0aGluZyBoYXBwZW5lZC4uLiIpOwogICAgICAgICAKICAgIH0KICAgIAp9