游戏效果
系统自动生成两个一百以内的随机整数及加法或者减法并显示出来;
用户计算后将结果输入,系统进行判断;
如果用户输入正确,提示答对了,否则提示答错了;
继续显示下一个题目,直到10题全部完成;
用户可以通过-1结束命令提前结束游戏;
游戏结束时统计得分(答对一题得10分,答错不扣分)
设计思路
系统通过随机函数生成两个数字,再随机生成一个数字表示符号。符号是通过随机数得值转换得到得,1000以内的随机数,0-500表示加,501-1000表示减。最后将算式显示出来,显示的时候,对于减法要进行一定的处理,保证第一个数字是大于第二个数字的。
系统计算结果,并与用户输入进行比较。结果匹配时,还要记录成绩。
在比较之前,还要判断用户输入的是否是退出命令。
游戏实现
import java.util.Scanner;
public class Game {
private static int num1, num2;
private static int flag;
private static int score;
private static int answer, result;
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
for(int i = 0; i < 10; i++) {
num1 = (int)(Math.random() * 10);
num2 = (int)(Math.random() * 10);
flag = (int)(Math.random() * 1001);
if(flag >= 0 && flag <= 500) {
//加法
System.out.println(num1 + " + "+ num2 + " = ?");
//计算正确结果
result = num1 + num2;
}else {
//减法
//使num1永远大于num2
if(num1 < num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
System.out.println(num1 + " - "+ num2 + " = ?");
//计算正确结果
result = num1 - num2;
}
answer = input.nextInt();
if(answer == -1) {
System.out.println("exit");
break;
}else if(answer == result) {
System.out.println("回答正确");
score += 10;
}else {
System.out.println("回答错误");
}
}
System.out.println(score);
}
}