1 #include<iostream> 2 #include<stdlib.h> 3 using namespace std; 4 int count = 0; 5 bool judge (int num,int ynum){ 6 if(num == ynum){ 7 cout<<"You got it right in "<<count<<" guesses"<<endl; 8 return true; 9 } 10 11 else if (num>ynum){ 12 cout<<"It`s higher."<<endl; 13 return false; 14 } 15 else{ 16 cout<<"It`s lower."<<endl; 17 return false; 18 } 19 } 20 int main(){ 21 int num = rand()%100+1; 22 int ynum; 23 cout<<"I`m thinking of a number between 1 and 100..."<<endl; 24 bool nether= false; 25 while(!nether){ 26 count++; 27 cout<<"Your guess? "; 28 cin>>ynum; 29 // cout<<endl; 30 nether = judge(num,ynum); 31 32 } 33 }
上面的是用C++写的简单的一个回合的游戏,现在用Java写一个完整的游戏过程,并在最后有游戏总结。
package LAB1;
import java.util.*;
public class Guess {
public static final int range=100;
static int best=100000,total_num=1,guess_times_sum=0;
public static void main(String[] args){
Scanner console=new Scanner(System.in);
Random rand=new Random();
System.out.println("Welcome to the Guessing Game program\n");
best=Game(console,rand);
Again(console,rand);
System.out.println(" best game = "+best);
}
public static int Game(Scanner console,Random rand){
System.out.println("I'm thinking of a number between 1 and "+range+"...");
int guesstimes=0;
int guessnum;
int randnum=rand.nextInt(range);
do {
System.out.print("Your guess? ");
guessnum=console.nextInt();
if(guessnum>randnum){
System.out.println("It's lower.");
}
else if(guessnum<randnum){
System.out.println("It's higher.");
}
guesstimes++;
}while(guessnum!=randnum);
System.out.println("You got it right in "+guesstimes+" guesses");
guess_times_sum+=guesstimes;
if(best>guesstimes){
best=guesstimes;
}
return best;
}
public static void Again(Scanner console,Random rand){
System.out.print("Do you want to play again? ");
String YorN=console.next();
if(YorN.startsWith("y")||YorN.startsWith("Y")){
System.out.println();
Game(console,rand);
total_num++;
Again(console,rand);
}
else if(YorN.startsWith("n")||YorN.startsWith("N")){
end(console,rand,total_num,guess_times_sum);
}
else{
Again(console,rand);
}
}
public static void end(Scanner console,Random rand,int m,int n){
System.out.println();
System.out.println("Overall results:");
System.out.println(" total games = "+m);
System.out.println(" total guesses = "+n);
System.out.println(" guesses/game = "+(double)n/m);
}
}