Advertisement
Guest User

Untitled

a guest
Aug 10th, 2015
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.39 KB | None | 0 0
  1. //Game.java
  2. import java.util.*;
  3. public class Game
  4. {
  5.     static Scanner reader=new Scanner(System.in);
  6.     public static final int RANGE=150;
  7.     static boolean checkPlayersNum(int playersNum)
  8.     {
  9.         if(playersNum<1 || playersNum>6)
  10.         {
  11.             System.out.println("מספר לא חוקי של שחקנים.");
  12.             return false;
  13.         }
  14.         return true;
  15.     }
  16.     static boolean checkPlayerType(int playerType)
  17.     {
  18.         if(playerType<0 || playerType>3)
  19.         {
  20.             System.out.println("סוג לא חוקי של שחקן.");
  21.             return false;
  22.         }
  23.         return true;
  24.     }
  25.     public static void main(String[] args)
  26.     {
  27.         int num2guess=(int)(Math.random()*(RANGE+1)); //מס' שהשחקנים צריכים לנחש
  28.         System.out.println("מספר="+num2guess);
  29.         String name; //שם השחקן
  30.         int playerType; //סוג השחקן
  31.         boolean isPlayerTypeValid=true; //בתור ברירת מחדל סוג השחקן הוא תקין(בין 0-3)
  32.         int playerGuess; //הניחוש של השחקן
  33.         boolean isNumberFound=false; //נשאר false כל עוד המספר לא נוחש ע"י אף אחד מהשחקנים
  34.         int playersNum; //מספר השחקנים במשחק(בין 1-6)
  35.         boolean isPlayersNumValid=true; //בתור ברירת מחדל מספר השחקנים תקין(בין 1-6)
  36.         Player[] players=new Player[0];
  37.         System.out.println("שלום לכולם.");
  38.         System.out.println("הטווח הוא 0 עד "+RANGE+".");
  39.         System.out.println("כמה שחקנים במשחק?");
  40.         playersNum=reader.nextInt();
  41.         if(checkPlayersNum(playersNum)==false)
  42.         {
  43.             isPlayersNumValid=false;
  44.         }
  45.         else
  46.         {
  47.             players=new Player[playersNum];
  48.         }
  49.         /************עובר על מערך השחקנים אחרי שידוע שמספרם תקין, שואל כל שחקן מה השם שלו ומה הטיפוס ומכניס/לא מכניס אותו למערך ע"פ זה************/
  50.         for(int i=0; i<players.length && isPlayersNumValid==true && isPlayerTypeValid==true; i++)
  51.         {
  52.             System.out.println("מה שמך? ");
  53.             name=reader.next();
  54.             System.out.println("מהו הסוג שלך? ");
  55.             playerType=reader.nextInt();
  56.             if(checkPlayerType(playerType)==false)
  57.             {
  58.                 isPlayerTypeValid=false;
  59.             }
  60.             else
  61.             {
  62.                 switch(playerType)
  63.                 {
  64.                     case 0: players[i]=new Human(); break;
  65.                     case 1: players[i]=new Monkey(); break;
  66.                     case 2: players[i]=new GamblingComputer(); break;
  67.                     case 3: players[i]=new WiseComputer(); break;
  68.                 }
  69.                 players[i].setName(name);
  70.             }
  71.         }
  72.         /********************עובר על מערך השחקנים ומבקש מכל אחד לנחש מספר********************/
  73.         while(isNumberFound==false && isPlayersNumValid==true && isPlayerTypeValid==true)
  74.         {
  75.             for(int i=0; i<players.length ; i++)
  76.             {
  77.                 System.out.println("שלום "+(players[i].getName())+"! נחש מספר: ");
  78.                 playerGuess=players[i].guessNumber();
  79.                 System.out.println("הניחוש הוא="+playerGuess);
  80.                 if(playerGuess>num2guess)
  81.                 {
  82.                     System.out.println("הניחוש גבוה מדי");
  83.                     for(int j=0; j<players.length; j++)
  84.                     {
  85.                         if(players[j] instanceof intelPlayer)
  86.                         {
  87.                             System.out.println("players[j] instanceof intelPlayer=true");
  88.                             if(playerGuess<((intelPlayer)players[i]).getTop())
  89.                             {
  90.                                 ((intelPlayer)(players[i])).setTop(playerGuess);
  91.                             }
  92.                         }
  93.                         else
  94.                         {
  95.                             System.out.println("players[j] instanceof intelPlayer=false");
  96.                         }
  97.                     }
  98.                 }
  99.                 else if(playerGuess<num2guess)
  100.                 {
  101.                     System.out.println("הניחוש נמוך מדי");
  102.                     for(int j=0; j<players.length; j++)
  103.                     {
  104.                         if(players[j] instanceof intelPlayer)
  105.                         {
  106.                             System.out.println("players[j] instanceof intelPlayer=true");
  107.                             if(playerGuess>(((intelPlayer)players[i]).getBottom()))
  108.                             {
  109.                                 ((intelPlayer)players[i]).setBottom(playerGuess);
  110.                             }
  111.                         }
  112.                         else
  113.                         {
  114.                             System.out.println("players[j] instanceof intelPlayer=false");
  115.                         }
  116.                     }
  117.                 }
  118.                 else
  119.                 {
  120.                     System.out.println("הניחוש נכון!");
  121.                     players[i].setPoints(players[i].getPoints()+1);
  122.                     isNumberFound=true;
  123.                 }
  124.             }
  125.         }
  126.     }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement