Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Game.java
- import java.util.*;
- public class Game
- {
- static Scanner reader=new Scanner(System.in);
- public static final int RANGE=150;
- static boolean checkPlayersNum(int playersNum)
- {
- if(playersNum<1 || playersNum>6)
- {
- System.out.println("מספר לא חוקי של שחקנים.");
- return false;
- }
- return true;
- }
- static boolean checkPlayerType(int playerType)
- {
- if(playerType<0 || playerType>3)
- {
- System.out.println("סוג לא חוקי של שחקן.");
- return false;
- }
- return true;
- }
- public static void main(String[] args)
- {
- int num2guess=(int)(Math.random()*(RANGE+1)); //מס' שהשחקנים צריכים לנחש
- System.out.println("מספר="+num2guess);
- String name; //שם השחקן
- int playerType; //סוג השחקן
- boolean isPlayerTypeValid=true; //בתור ברירת מחדל סוג השחקן הוא תקין(בין 0-3)
- int playerGuess; //הניחוש של השחקן
- boolean isNumberFound=false; //נשאר false כל עוד המספר לא נוחש ע"י אף אחד מהשחקנים
- int playersNum; //מספר השחקנים במשחק(בין 1-6)
- boolean isPlayersNumValid=true; //בתור ברירת מחדל מספר השחקנים תקין(בין 1-6)
- Player[] players=new Player[0];
- System.out.println("שלום לכולם.");
- System.out.println("הטווח הוא 0 עד "+RANGE+".");
- System.out.println("כמה שחקנים במשחק?");
- playersNum=reader.nextInt();
- if(checkPlayersNum(playersNum)==false)
- {
- isPlayersNumValid=false;
- }
- else
- {
- players=new Player[playersNum];
- }
- /************עובר על מערך השחקנים אחרי שידוע שמספרם תקין, שואל כל שחקן מה השם שלו ומה הטיפוס ומכניס/לא מכניס אותו למערך ע"פ זה************/
- for(int i=0; i<players.length && isPlayersNumValid==true && isPlayerTypeValid==true; i++)
- {
- System.out.println("מה שמך? ");
- name=reader.next();
- System.out.println("מהו הסוג שלך? ");
- playerType=reader.nextInt();
- if(checkPlayerType(playerType)==false)
- {
- isPlayerTypeValid=false;
- }
- else
- {
- switch(playerType)
- {
- case 0: players[i]=new Human(); break;
- case 1: players[i]=new Monkey(); break;
- case 2: players[i]=new GamblingComputer(); break;
- case 3: players[i]=new WiseComputer(); break;
- }
- players[i].setName(name);
- }
- }
- /********************עובר על מערך השחקנים ומבקש מכל אחד לנחש מספר********************/
- while(isNumberFound==false && isPlayersNumValid==true && isPlayerTypeValid==true)
- {
- for(int i=0; i<players.length ; i++)
- {
- System.out.println("שלום "+(players[i].getName())+"! נחש מספר: ");
- playerGuess=players[i].guessNumber();
- System.out.println("הניחוש הוא="+playerGuess);
- if(playerGuess>num2guess)
- {
- System.out.println("הניחוש גבוה מדי");
- for(int j=0; j<players.length; j++)
- {
- if(players[j] instanceof intelPlayer)
- {
- System.out.println("players[j] instanceof intelPlayer=true");
- if(playerGuess<((intelPlayer)players[i]).getTop())
- {
- ((intelPlayer)(players[i])).setTop(playerGuess);
- }
- }
- else
- {
- System.out.println("players[j] instanceof intelPlayer=false");
- }
- }
- }
- else if(playerGuess<num2guess)
- {
- System.out.println("הניחוש נמוך מדי");
- for(int j=0; j<players.length; j++)
- {
- if(players[j] instanceof intelPlayer)
- {
- System.out.println("players[j] instanceof intelPlayer=true");
- if(playerGuess>(((intelPlayer)players[i]).getBottom()))
- {
- ((intelPlayer)players[i]).setBottom(playerGuess);
- }
- }
- else
- {
- System.out.println("players[j] instanceof intelPlayer=false");
- }
- }
- }
- else
- {
- System.out.println("הניחוש נכון!");
- players[i].setPoints(players[i].getPoints()+1);
- isNumberFound=true;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement