猜数字小游戏
程序员文章站
2024-03-18 17:15:04
...
package demo;
/**
* 猜数字小游戏
* 范围:1——100
* @author laoma
* 知识点: Scanner,Random,for(),switch...case,while()
* while()循环 结束的条件: 表达式为false or 遇到break;
* */
import java.util.Scanner; //键盘输入
import java.util.Random; //生成随机数
public class GuessNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
welcome();
int Id = begin();
if(Id == 2){
System.exit(0); //输入2 退出游戏
}
int code = mode(); //游戏模式
int count = 0; //输入次数
switch (code) {
case 1:
count = 15;
System.out.println("你选的游戏模式是:简易模式");
game(count);
break;
case 2:
count = 10;
System.out.println("你选的游戏模式是:正常模式");
game(count);
break;
case 3:
count = 8;
System.out.println("你选的游戏模式是:困难模式");
game(count);
break;
case 4:
count = 3;
System.out.println("你选的游戏模式是:地狱模式");
game(count);
break;
case 5:
count = 1;
System.out.println("猜中就赶紧买**去吧!!!");
game(count);
break;
default:System.out.println("选择错误!");
break;
}
}
/*欢迎界面*/
public static void welcome(){
System.out.println("********************");
System.out.println("*---欢迎进入猜数字游戏---*");
System.out.println("--------------------");
System.out.println("*说明:猜测的范围为:1—100*");
System.out.println("********************");
System.out.println();
}
/*开始界面*/
public static int begin(){
System.out.println("请选择:");
System.out.println("----1、开始游戏----");
System.out.println("----2、退出游戏----");
Scanner sc = new Scanner(System.in);
int Id = sc.nextInt();
return Id;
}
/*游戏模式*/
public static int mode(){
System.out.println("请选择游戏的难易模式:");
System.out.println("---1、简易模式(15次机会)---");
System.out.println("---2、正常模式(10次机会)---");
System.out.println("---3、困难模式( 8次机会)---");
System.out.println("---4、地狱模式( 3次机会)---");
System.out.println("---5、猜中就买**(1次机会)--");
Scanner sc = new Scanner(System.in);
int code = sc.nextInt();
return code;
}
/*游戏界面*/
public static void game(int code ){
Random ran = new Random();
int computer = ran.nextInt(100)+1; //生成1——100之间的随机数
//System.out.println("生成的随机数为:"+computer); //随机数字
System.out.println("请输入你猜的数字:");
Scanner sc = new Scanner(System.in);
int count = 0 ; //记录猜游戏的次数
/*
* 逻辑执行部分
* 利用输入的次数count与code作比较,确定游戏模式。
* */
while(count < code){
int user = sc.nextInt(); //接收用户输入的数字
count++;
if (user > computer) {
if (count == code) { //次数用完时,直接退出
System.out.println("很遗憾,您的次用完了!");
break;
}
System.out.println("您猜大了!请继续输入:");
}else if(user < computer){
if (count == code) { //次数用完时,直接退出
System.out.println("很遗憾,您的次用完了!");
break;
}
System.out.println("您猜小了!请继续输入:");
}else{
System.out.println("恭喜你,猜中了!");
System.out.println("你只用了"+count+"次就回答对了。");
break; //猜中时,跳出循环
}
}
}
}
运行结果:
下一篇: 3D_HW9