作业1:猜数字游戏 SCAU 面向对象 opp 个人笔记
程序员文章站
2024-03-23 18:24:34
...
package GuessNumberGame;
import java.util.Scanner;
//@hhj
public class hhj{
public static void main(String[] arg) {
playgame();
}
public static int createrandom() {
// 获取一个任意范围[n~m]之间的随机整数(int型)
// int num = (int)(Math.random()*(m-n+1)+m);
int num = (int) (Math.random() * (10) + 0); // 这个是程序随机产生一个【0,9】之间的整数。
return num;
}
public static boolean guessNumber() {
int gametimes = 3; // 每轮游戏次数为3
int targetnum = createrandom(); // 产生要猜的数字
int clientnum; // 用户输入的值
boolean game = false; // 记录游戏是够成功
Scanner input = new Scanner(System.in);
int i;// 控制循环的
for (i = gametimes; i > 0; i--) {
game = false;
System.out.print("你还有" + i + "次机会,输入你猜的数字:");
clientnum = input.nextInt();
if (clientnum > targetnum && (i != 0)) {
System.out.println("你猜的数字太大了!");
} else if (clientnum < targetnum && (i != 0)) {
System.out.println("你猜的数字太小了!");
} else {
System.out.println("恭喜你,猜对了!");
game = true;
break;
}
}
if (game == false) {
System.out.println("本次游戏结束失败!正确数字是:" + targetnum);
}
return game;
}
public static void playgame() {
int count = 0; // 记录玩了多少次
int countofwin = 0;
int countoflose = 0;
boolean game; // 标记记录游戏输赢
char ch;
Scanner input = new Scanner(System.in);
// 人机交互
do {
System.out.println("第" + (count + 1) + "次游戏," + "程序生成了一个[0,9]之间的数字");
game = guessNumber();
if (game == true) {
countofwin++;
} else {
countoflose++;
}
count++;
System.out.print("你还要继续进行游戏吗?(Y继续/N退出):");
ch = input.next().charAt(0);
} while (ch == 'Y');
System.out.println("你共进行了" + count + "次游戏,成功" + countofwin + "次,失败" + countoflose + "次.");
}
}
内容要求:
1. 使用Java语言编写一个程序,程序类型为“Java Application(Java应用)”。
项目名称:GuessNumberGame。类根据自己需要定义。
2. 实现功能:
2.1 程序开始运行后,允许玩家进行多次猜数字的游戏。
2.2 每次猜数字的过程如下:
(1)程序随机产生一个0-9之间的整数。
(2)要求玩家从键盘输入自己猜的数字。
(3)程序检查玩家输入的数字,并根据检查结果进行如下提示:
如果用户猜对了,则提示:恭喜你,猜对了。
如果用户猜错了,则提示:你猜的数字太(大或小)了。
(4)一次游戏结束条件有2种情况:
玩家连续3次没有猜对给定数字,则提示:游戏失败。
玩家在3次机会之内猜对了给定的数字,则提示:游戏成功。
(5)每次游戏结束时,询问用户是否继续新的游戏。
如果用户选择继续,则开始新一次游戏
否则输出:你共进行了XXX次游戏,成功XXX次,失败XXX次。然后结束程序运行。
上一篇: 打印菱形
下一篇: python的多线程