「猜数字小游戏编程java」编写猜数字游戏程序
今天给各位分享猜数字小游戏编程java的知识,其中也会对编写猜数字游戏程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java如何实现的简单猜数字游戏代码
- 2、java游戏编程1A2B是一款十分经典的猜数字游戏,每局开始,计算机都会随机生成四个数字?
- 3、用Java编程实现一个猜数字的游戏:系统随机产生一个1~100的数字,然后让玩家猜测这个数字,如果玩家猜错,
- 4、java 用图形化界面编写一个猜数游戏
- 5、猜数字游戏0-1000之间,用JAVA编程
- 6、Java猜数字游戏
java如何实现的简单猜数字游戏代码
主要通过随机数与逻辑判断来实现游戏功能
实现代码如下:
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 产生一个随机数
int number = (int) (Math.random() * 100) + 1;
// 加入count
int count = 0;
// 在这里加入最大值,和最小值
int max = 100;
int min = 1;
while (true) {
// 键盘录入数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数据:(" + min + "~" + max + ")");
try {
count++;
int guessNumber = sc.nextInt();
// 判断
if (guessNumber number) {
max = guessNumber;
System.out.println("你猜大了");
} else if (guessNumber number) {
min = guessNumber;
System.out.println("你猜小了");
} else {
System.out.println("恭喜你,花了" + count + "次就猜中了");
// 问是否继续
System.out.println("请问还要继续吗?(yes)");
sc = new Scanner(System.in);
String str = sc.nextLine();
if ("yes".equals(str)) {
// 重写赋值随机数
number = (int) (Math.random() * 100) + 1;
count = 0;
max = 100;
min = 1;
} else {
break;
}
}
} catch (InputMismatchException e) {
System.out.println("你输入的数据有误");
}
}
}
java游戏编程1A2B是一款十分经典的猜数字游戏,每局开始,计算机都会随机生成四个数字?
package com.test;
import java.util.Random;
import java.util.Scanner;
/**
* 我的测试类
*
* @author 刘逸晖
*
*/
public class MyTest {
/**
* 生成不同的正整数随机数,返回字符串数组
*
* @param count
* 需要生成随机数的数量
* @param max
* 随机数的最大值
* @param min
* 随机数的最小值
* @return 生成的随机数
*/
private static String[] generateRandomNumber(int count, int min, int max) {
if (count 0 min -1 max min) {
String[] numbers = new String[count];
Random random = new Random();
// 生成随机数。
for (int i = 0; i numbers.length; i++) {
numbers[i] = min + random.nextInt(max - min) + "";
}
// 检查是否存在重复的随机数。
int equalIndex = areEqual(numbers);
while (equalIndex != -1) {
numbers[equalIndex] = min + random.nextInt(max - min) + "";
equalIndex = areEqual(numbers);
}
return numbers;
} else {// 参数不合法。
return null;
}
}
/**
* 判断字符串数组中的元素是否存在相等的
*
* @param array
* 预判断的数组
* @return 如果数组中有相等的元素,返回其下标;如果数组中没有相等的元素,或数组为空返回-1
*/
private static int areEqual(String[] array) {
if (array != null array.length 0) {
// 将数组中的每一个成员与其之前的所有成员进行比较,判断是否有相等的。
for (int current = 0; current array.length; current++) {
// 将当前便利的数组成员与其之前的所有成员进行比较,判断是否有相等的。
for (int previous = 0; previous current; previous++) {
if (array[current].equals(array[previous])) {
return previous;
}
}
}
}
return -1;
}
/**
* 搜索字符串数组
*
* @param array
* 数组
* @param value
* 预搜索的值
* @return 如果数组中有成员的值与预搜索的值相等返回成员下标,否则返回-1
*/
private static int search(String[] array, String value) {
if (array != null array.length -1 value != null) {
for (int i = 0; i array.length; i++) {
if (array[i].equals(value)) {
return i;
}
}
}
return -1;
}
public static void main(String[] args) {
System.out.println("欢迎你来到1a2b,输入n退出,输入y重新开始");
System.out.println("系统会随机产生4个0到9之间不同的数字,请你来猜");
System.out.println("输出a不仅代表你猜中了,还代表你猜对它的位置了哦!\r\n输出b则代表你猜中了,但位置不对哦");
// 开始循环,一次循环代表一局游戏。一局结束后立刻开启下一局。
while (true) {
System.out.println("新的一局开始了!");
// 产生随机数。
String[] randomNumbers = generateRandomNumber(4, 0, 9);
Scanner scanner = new Scanner(System.in);
// 创建变量存放输入记录。
String[] records = new String[] { "", "", "", "" };
// 创建变量存放ab结果。
String result = "";
// 请用户输入4次值。为什么请用户输入4次?因为数组中有4个成员。
for (int i = 0; i randomNumbers.length; i++) {
// 获得输入的值。
String inputValue = scanner.nextLine();
// 判断是否需要退出。
if (inputValue.equals("n") || inputValue.equals("")) {
System.out.println("Goodbye");
return;
}
// 创建变量定义是否忽略本次输入。
boolean ignore = false;
// 判断是否需要重新开始。
if (inputValue.equals("y")) {
ignore = true;
i = randomNumbers.length;
}
// 判断是否重复输入。
for (String record : records) {
if (inputValue.equals(record)) {
ignore = true;
i--;
System.out.println("这个值你已经输入过了哦!\r\n在给你一次机会。");
continue;
}
}
if (ignore) {
continue;
}
// 对输入的值进行搜索。
int searchResult = search(randomNumbers, inputValue);
// 如果搜索到了相关的值。
if (searchResult -1) {
// 记录。
records[i] = inputValue;
// 不仅搜索到了输入的值,并且位置正确。
if (searchResult == i) {
result = result + "a";
System.out.println("a");
} else {// 搜索到了输入的值,但位置错误。
result = result + "b";
System.out.println("b");
}
} else {// 输入错误。
System.out.println("这里没有这个值哦!\r\n再给你一次机会!");
i--;
}
}
System.out.println(result);
}
}
}
用Java编程实现一个猜数字的游戏:系统随机产生一个1~100的数字,然后让玩家猜测这个数字,如果玩家猜错,
1.int num = (int)(Math.random()*100+1);//随机得出一个1~100的数
2.用一个变量去接收玩家输入的数,例如int i;
3.用if语句,当玩家输入的数与随机数相等时(i==num),则输出语句(恭喜你猜对了).
4.用else写出猜错是的语句.
大致思路就是这样.建议你自己去写,只有自己写过才会懂.如有不懂的M我,本人也在学习中,大家可以相互讨论讨论.另外你可以把数字设置成1~10;这样的话比较容易出现猜对的情况,方便你验证程序是否正确,然后再改成1~100;
最后在说下Math.random(),这个方法得到是一个0~1之间的随机小数(不包括1但包括0),所以(0~1)*100=0~100(但是不包括100),然后+1就得出1~100了;因为Math.random()是个小数所以用int强转.
java 用图形化界面编写一个猜数游戏
效果图
一个比较简单的代码, 供参考 ,可以根据自己的需求, 在进行修改
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class GuessNumFrame extends JFrame {
private JPanel contentPane;
private int num;
private final JTextField jtfInput;
private final JLabel label;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GuessNumFrame frame = new GuessNumFrame();
frame.setVisible(true);//窗口可见
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public GuessNumFrame() {
setTitle("猜数字");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(360, 160);//窗口大小
setLocationRelativeTo(null);//居中
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel_1 = new JPanel();
contentPane.add(panel_1, BorderLayout.CENTER);
panel_1.setLayout(new GridLayout(3, 1, 0, 0));
JPanel panel = new JPanel();
panel_1.add(panel);
JButton jbNum = new JButton("得到一个随机数");
panel.add(jbNum);
JPanel panel_2 = new JPanel();
panel_1.add(panel_2);
label = new JLabel("");
label.setOpaque(true);
label.setBackground(Color.CYAN);
panel_2.add(label);
JPanel panel_3 = new JPanel();
panel_1.add(panel_3);
jtfInput = new JTextField();
panel_3.add(jtfInput);
jtfInput.setColumns(10);
JButton jbOk = new JButton("确定");
panel_3.add(jbOk);
jbNum.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
num = (int)(Math.random()*10);//生成随即数
label.setText("随机数已经生成范围0~9");
System.out.println(num);
}
});
jbOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int x;
try {
x = Integer.parseInt(jtfInput.getText());//取得输入框的数字 进行比较
}catch (Exception e1) {
JOptionPane.showMessageDialog(null, "sorry,输入错误!");
return;
}
if(x==num){
JOptionPane.showMessageDialog(null, "厉害,猜对了~!");
}else if(xnum){
JOptionPane.showMessageDialog(null, "你猜小了", "提示",JOptionPane.WARNING_MESSAGE);
}else if(xnum) {
JOptionPane.showMessageDialog(null, "你猜大了", "提示",JOptionPane.WARNING_MESSAGE);
}
}
});
}
}
猜数字游戏0-1000之间,用JAVA编程
这简单,代码如下,这是我用记事本写的,没运行过可能有点问题,你修改下就可以了,创建个类以Number 命名,然后直接复制粘贴就可以了。希望能帮到你!import java.util.Scanner;public class number { public static void main(String[] args) {do{
int i = 0; int random = (int) (Math.random() * 1000);
System.out.println("我心里有一个0到1000之间的整数,你猜是什么?");
for (i = 0; i 20; i++) {
Scanner input = new Scanner(System.in);
int f = input.nextInt();
if(frandom){
System.out.println("大了点,再猜!");
} else if (f random ){
System.out.println("小了点,再试试!");
} else if (f == random i == 1){
System.out.println("猜对了!\n"+"你太有才了!");
} else if (f == random i = 2 i = 6) {
System.out.println("猜对了!\n"+"这么快就猜出来了,很聪明!");
} else if (f == random i = 7){
System.out.println("猜对了!\n"+"猜了半天才猜出来,老大,你尚需努力啊!"); System.out.println("你要继续吗?(yes / no)"); answer=input.next();}
} while(answer.equals("yes")); } }}
Java猜数字游戏
import java.util.Random;
import java.util.Scanner;
/*
* 游戏随即给出一个0~99(包括0和99)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终退出答案。在游戏过程中。记录你最终猜对时所需要的次数。游戏结束后公布结果。见下
次数 结果
1 你太有才了!
2~6 这么快就猜出来了,很聪明么!
大于7 猜了半天才猜出来,小同志,尚需努力啊!
*/
public class guessGame {
/**
* @param args
*/
public static void main(String[] args) {
int gameValue = (int)(Math.random()*(100-1)+1);
System.out.println("Rand:"+gameValue);
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
int num = sc.nextInt();
int guessCorrectNum=1;
while(true){
if(num==gameValue){
if(guessCorrectNum == 1)
System.out.println("你太有才了!");
else if((guessCorrectNum =2) (guessCorrectNum=6))
System.out.println("这么快就猜出来了,很聪明么");
else if(guessCorrectNum 7)
System.out.println("猜了半天才猜出来,小同志,尚需努力啊!");
break;
}
else{
if (guessCorrectNum =20){
guessCorrectNum = guessCorrectNum + 1;
num = sc.nextInt();
}
else{
System.out.println("20次都猜不出来...,不让你猜了");
break;
}
}
}
}
}
猜数字小游戏编程java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于编写猜数字游戏程序、猜数字小游戏编程java的信息别忘了在本站进行查找喔。
发布于:2022-12-26,除非注明,否则均为
原创文章,转载请注明出处。