Advertisement
AngyalRobert

rockPaperScissors

Feb 15th, 2023
846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.48 KB | Source Code | 0 0
  1. import java.io.FileDescriptor;
  2. import java.io.FileOutputStream;
  3. import java.io.PrintStream;
  4. import java.io.UnsupportedEncodingException;
  5. import java.util.HashMap;
  6. import java.util.Scanner;
  7.  
  8. public class Main {
  9.  
  10.     private static final int ROCK = 0;
  11.     private static final int PAPER = 1;
  12.     private static final int SCISSORS = 2;
  13.  
  14.     public static void main(String[] args) {
  15.         try {
  16.             System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out), true, "UTF-8"));
  17.         } catch (UnsupportedEncodingException e) {
  18.             throw new InternalError("VM does not support mandatory encoding UTF-8");
  19.         }
  20.  
  21.         System.out.println("Kő papír olló!");
  22.  
  23.         Scanner sc = new Scanner( System.in);
  24.         int getKor = 0;
  25.         String getKorStr = "";
  26.         do {
  27.             System.out.print( "Add meg 1-10-ig, hogy hány kört szeretnél játszani: ");
  28.             getKorStr = sc.nextLine();
  29.             System.out.println( "körök száma : "+ getKorStr);
  30.             if (getKorStr.length()>0){
  31.                 getKor = Integer.parseInt(getKorStr);
  32.                 if (getKor<1) System.out.println( getKorStr+ " kisebb mint 1");
  33.                 if (getKor>10) System.out.println( getKorStr+ " nagyobb mint 10");
  34.             }
  35.         } while (getKor<1 || getKor>10 || getKorStr.length()==0);
  36.  
  37.         int[] gep = new int[ 10];
  38.         int[] user= new int[ 10];
  39.         int[] eredmeny= new int[10];
  40.  
  41.         for (int i=0; i<10; i++) {
  42.             double d = Math.random();
  43.             if (d < 1/3) gep[ i] = ROCK;
  44.             else if (d < 2/3) gep[ i] = PAPER;
  45.             else gep[ i]= SCISSORS;
  46.         }
  47.  
  48.         for (int kor = 0; kor< getKor; kor++){
  49.             System.out.println( (kor+ 1) +". kör");
  50.             System.out.print( "Üsd be hogy mit választasz és nyomj entert. (K-Kő, P-Papír, O-Olló) : ");
  51.             String userStr = sc.nextLine();
  52.             userStr = userStr.toUpperCase();
  53.             if (userStr.length() == 1) {
  54.                 if (userStr.equals("K")) user[kor] = ROCK;
  55.                 else if (userStr.equals("P")) user[kor] = PAPER;
  56.                 else if (userStr.equals("O")) user[kor] = SCISSORS;
  57.                 else {
  58.                     kor--;
  59.                     System.out.println("Nem megfelelő billentyűt ütöttél. Próbáld újra. ("+ userStr+ ")");
  60.                 }
  61.  
  62.                 eredmeny[kor] = rockPaperScissors( user[ kor], gep[ kor]);
  63.                 if (eredmeny[kor]== 2) System.out.println("Most te győztél");
  64.                 else if (eredmeny[kor]== 1) System.out.println("A gép győzött");
  65.                 else if (eredmeny[kor]== 3) System.out.println("Döntetlen");
  66.                 else {
  67.                     System.out.println("Program hiba történt.");
  68.                     kor--;
  69.                 }
  70.             }else{
  71.                 kor--;
  72.                 System.out.println("Nem megfelelő billentyűt ütöttél. Próbáld újra. ("+ userStr+ ")");
  73.             }
  74.         }
  75.         sc.close();
  76.  
  77.         HashMap osszesites = new HashMap();
  78.         osszesites.put( 1, 0);
  79.         osszesites.put( 2, 0);
  80.         osszesites.put( 3, 0);
  81.         for ( int i = 0; i< getKor; i++){
  82.             System.out.println( "Az "+ (i+1)+ ". körben "+ ((eredmeny[i]==2)?"Te győztél.":(eredmeny[i]==1)?" a gép győzött.":"Döntetlen volt.") );
  83.             osszesites.put( eredmeny[ i], (int) osszesites.get( eredmeny[ i])+ 1);
  84.         }
  85.         System.out.println( "A verseny összesítése: ");
  86.         System.out.println( "Nyertél    "+ osszesites.get( 2)+ " alkalommal.");
  87.         System.out.println( "Vesztettél "+ osszesites.get( 1)+ " alkalommal.");
  88.         System.out.println( "Döntetlen  "+ osszesites.get( 3)+ " alkalommal.");
  89.         if ((int) osszesites.get(2)> (int)osszesites.get(1)) System.out.println( "A játékban te nyertél!");
  90.         else if ((int) osszesites.get(2)< (int)osszesites.get(1)) System.out.println( "A játékban te vesztettél!");
  91.         else System.out.println( "A játék döntetlen!");
  92.  
  93.     }
  94.  
  95.     private static int rockPaperScissors(int user, int gep) {
  96.         if (user == gep) return 3;
  97.         if (user == PAPER && gep==ROCK) return 2;
  98.         if (user == PAPER && gep==SCISSORS) return 1;
  99.         if (user == ROCK && gep==PAPER) return 1;
  100.         if (user == ROCK && gep==SCISSORS) return 2;
  101.         if (user == SCISSORS && gep==ROCK) return 1;
  102.         if (user == SCISSORS && gep==PAPER) return 2;
  103.         return 3;
  104.     }
  105.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement