נראה לי שהבנתי אותך : תראה את הקוד שרשמתי עכשיו:
קוד:
import java.util.Scanner;
import il.ac.huji.cs.intro.mastermind.*;
public class ex3 {
static int length;
static int values;
static int Maxguesses;
static double roundGame=1;
static int gameNumber=1;
static int gameWon;
static double winRate=0;
static double averagewin=0;
public static void gameplay(){
MastermindUI ui = MastermindUIFactory.newMastermindUI();
int length=ui.askNumber("Enter the length of the code");
while(length<0)
{
ui.displayErrorMessage(" you enter a negative length, (you must enter a positive values)");
length=ui.askNumber("Enter the length of the code");
}
int values=ui.askNumber("Enter the number of possible values in the code");
while(values<0)
{
ui.displayErrorMessage(" you enter a negative values, (you must enter a positive values)");
values=ui.askNumber("Enter the values of the code");
}
int Maxguesses=ui.askNumber("Enter the maximal number of guesses per game.");
while(Maxguesses<0)
{
ui.displayErrorMessage(" you enter a negative number of Maxguesses, (you must enter a positive values)");
Maxguesses=ui.askNumber("Enter the maximal number of guesses per game.");
}
Code code = CodeGenerator.newCode(length,values);
Code guess=ui.askGuess("enter your guesses",length);
System.out.println("the random code is:" +code.toString());
double roundGame=1;
int gameNumber=1;
int gameWon=0;
double winRate=0;
double averagewin=0;
while(Maxguesses!=0 && gameWon==0)
{
if(guess.equals(code)==true)
gameWon++;
else
{
guess=ui.askGuess("enter other guesses",length);
roundGame++;
Maxguesses--;
}
}
if(Maxguesses!=0)
ui.displayMessage("You Win the game");
else
ui.displayMessage("You Lose the game");
}
public static void moreGame(){
MastermindUI ui = MastermindUIFactory.newMastermindUI();
boolean moreGame=ui.askYesNo("You want play another game?");
winRate=gameWon/gameNumber;
if(gameWon==0)
averagewin=Double.NaN;
else
averagewin=roundGame/gameWon;
if(moreGame==false)
{
ui.showStats(gameNumber, gameWon, winRate, averagewin);
ui.close();
}
else
{
boolean change=ui.askYesNo("are you want changing the game parameters");
if(change==true)
{
ui.displayMessage("Please enter the new prameters");
gameplay();
}
if(change==false)
ui.clear();
Code newCode = CodeGenerator.newCode(length,values);
gameplay();
}
}
}
אלו פונקציות עזר .
רק בעיה אחת יש לי בנתיים.
הרצתי את שני הפונקציות האלו דרך הMEAN . סבבה זה מתחיל משחק ,אני מכניס תפרמטרים שצריך , הכול טוב ויפה מנחש מספרים,
ואז זה רושם לי אם הצלחתי לנחש או לא .
אחרי זה זה שואל אותי אם אני רוצה לשחק עוד משחק רשמתי שלא .
ואז זה אמור להראות את הסטסטיקה. ובערך של ניצחונות לא רשום לי כלום גם אם ניצחתי .
ואם דוגמא אני עושה עוד משחק ושוב מנצח המשתנה שאחראי על ספירת הניצחונת תמיד מראה 1 . זה כאיו שהוא לא משתנה אף פעם הוא יכול להיות או 0 או 1 .
איך אני יכול לגרום למשתנה שמוגדר ברמת המחלקה .להשתנות אם הוא הופעל פעמיים משני פונקציות שונות ? זה אפשרי בכלל ?