在之前,写了一篇C语言来实现的猜数字的游戏【超详解】C语言——猜数字游戏_c语言猜数字游戏-CSDN博客,接下来我将紧承上文用Java的方式来实现猜数字游戏
目录
一、游戏整体思路
1.对游戏的认识
该游戏是通过对比自己所输入的数,与系统自动生成的数是否一致,一致则游戏成功,不一致,则需要继续猜,直至猜对,或者中间进行调整,有猜的次数的限制,最终实现游戏的结束。
2.Java当中的随机数的生成
Java当中的随机数依托的是一个调用的是一个包:
import java.util.Random
进行随机数的生成
随机数生成的代码为:
public static void main(String[] args) {
Random random = new Random();
int randNum=random.nextInt(100);
System.out.println(randNum);
}
该段代码是在主函数当中进行实现的,其中int randNum=random.nextInt(100);当中的100指的是生成的随机数的范围在0-100之间,在此时我们便将它的范围进行了缩小。
2.判断输入值与系统当中的值进行比较
System.out.println(randNum);
Scanner Num=new Scanner(System.in);
int num = Num.nextInt();
if(num>randNum){
System.out.println("猜大了");
}else if(num<randNum){
System.out.println("猜小了");
}else
System.out.println("恭喜你,猜对了!");
首先需要注意的是输入值的时候最开始也是需要添加一个包的,然后进行使用。用if……else的语句进行实现就可以。
二、整体代码的实现
但是在整个的过程当中,我们需要有一个菜单进行游戏的选择
public static void mune(){
System.out.println("******************************");
System.out.println("************1.开始*************");
System.out.println("************2.退出*************");
System.out.println("******************************");
}
且在整体的过程中,当他没有猜对的时候,需要进行循环的方式进行猜测。
所有的代码实现的结果:
import java.util.Random;
import java.util.Scanner;
public class caishuzi {
public static void mune(){
System.out.println("******************************");
System.out.println("************1.开始*************");
System.out.println("************2.退出*************");
System.out.println("******************************");
}
public static void playGame(int randNum){
while(true){
System.out.println("请输入您所猜的数字:");
Scanner scanner= new Scanner(System.in);
int num = scanner.nextInt();
if(num>randNum){
System.out.println("猜大了");
}else if(num<randNum){
System.out.println("猜小了");
}else {
System.out.println("恭喜你,猜对了!");
break;
}
}
}
public static void main(String[] args) {
Random random = new Random();
int randNum=random.nextInt(100);
System.out.println(randNum);
int play;
do {
mune();
System.out.print("请输入您的选择:");
Scanner scanner = new Scanner(System.in);
play = scanner.nextInt();
switch (play){
case 1:
playGame(randNum);
break;
case 2:
break;
}
}while(play!=2);
}
}
三、对猜数字游戏进行改进
我们可以在前面加上可猜测的次数,进行限制:
import java.util.Random;
import java.util.Scanner;
public class caishuzi {
public static void mune(){
System.out.println("******************************");
System.out.println("************1.开始*************");
System.out.println("************2.退出*************");
System.out.println("******************************");
}
public static void playGame(int randNum){
int count = 5;
while(count!=0){
System.out.println("请输入您所猜的数字:");
Scanner scanner= new Scanner(System.in);
int num = scanner.nextInt();
if(num>randNum){
System.out.println("猜大了");
count--;
System.out.printf("您还有%d次机会",count);
}else if(num<randNum){
System.out.println("猜小了");
count--;
System.out.printf("您还有%d次机会",count);
}else {
System.out.println("恭喜你,猜对了!");
break;
}
}
if(count==0){
System.out.println();
System.out.println("很遗憾未能在指定的次数当中猜到结果!");
}
}
public static void main(String[] args) {
Random random = new Random();
int randNum=random.nextInt(100);
// System.out.println(randNum);
int play;
do {
mune();
System.out.print("请输入您的选择:");
Scanner scanner = new Scanner(System.in);
play = scanner.nextInt();
switch (play){
case 1:
playGame(randNum);
break;
case 2:
break;
}
}while(play!=2);
}
}
这个是修正之后的代码的部分加上了次数的限制,在后面也可以为这个游戏做一个不错的一个游戏的界面,观赏性会更强。
总结:
在本篇文章当中用Java的方式实现了猜数字游戏的实现,总体来说是比C语言的部分理解起来少了一些困难,但是还是需要好好理解代码的一些原理,以及他的一个先后次序的问题。