猜谜游戏Java JCreator 我必须使用packagejava.util中的random类创建一个程序,以生成一个介于1和100之间的数字 必须给用户最多6次尝试猜测数字,如果第6次尝试时未能正确猜测,则应显示目标数字。程序需要向用户提供反馈,指出他们的猜测是过高还是过低。如果猜测是正确的,程序会说“恭喜你,你的猜测是正确的。” 用户应在启动会话时提供其名称,并在后续记录生成中存储和使用 该程序应为用户创建一个会话,并应允许用户在该会话中按自己的意愿执行任意多个goes。在每次运行时,程序应生成一个新的随机数,并向用户提供多达6次的猜测尝试。当正确猜测目标号码或尝试6次时,用户应选择退出或进行另一场游戏/继续
这就是我到目前为止所做的:猜谜游戏Java JCreator 我必须使用packagejava.util中的random类创建一个程序,以生成一个介于1和100之间的数字 必须给用户最多6次尝试猜测数字,如果第6次尝试时未能正确猜测,则应显示目标数字。程序需要向用户提供反馈,指出他们的猜测是过高还是过低。如果猜测是正确的,程序会说“恭喜你,你的猜测是正确的。” 用户应在启动会话时提供其名称,并在后续记录生成中存储和使用 该程序应为用户创建一个会话,并应允许用户在该会话中按自己的意愿执行任意多个goes。在每次运行时,程序应生成一个新的随机数,并向用户提供多达6次的猜测尝试。当正确猜测目标号码或尝试6次时,用户应选择退出或进行另一场游戏/继续,java,Java,这就是我到目前为止所做的: import java.util.Random; import javax.swing.JOptionPane; public class GuessANumber3 { public static int TARGET = 0; public static void main(String[] args) { Random R = new Random(); TARGET = R.nextInt(100);
import java.util.Random;
import javax.swing.JOptionPane;
public class GuessANumber3 {
public static int TARGET = 0;
public static void main(String[] args) {
Random R = new Random();
TARGET = R.nextInt(100);
String guessString;
int guess;
int count = 0;
int bestScore = 0;
System.out.println(TARGET);
do {
// read in a number from user as a string
guessString = JOptionPane.showInputDialog("Enter first integer");
// convert number from type String to type int
guess = Integer.parseInt(guessString);
count++;
if (guess > TARGET) {
JOptionPane.showMessageDialog(null, "Your guess is too high", "Hint",
JOptionPane.PLAIN_MESSAGE);
} else {
if (guess < TARGET) {
JOptionPane.showMessageDialog(null, "Your guess is too low", "Hint",
JOptionPane.PLAIN_MESSAGE);
}
}
System.out.println(count);
if (count == 6)
break;
} while (guess != TARGET);
if (guess == TARGET)
JOptionPane.showMessageDialog(null, "You found it with " + count + "guesses.",
"Congratulations!", JOptionPane.PLAIN_MESSAGE);
else
JOptionPane.showMessageDialog(null, "You have reached the maximum attempts in this go",
"Attention", JOptionPane.PLAIN_MESSAGE);
if (count < bestScore)
bestScore = count;
}
}
import java.util.Random;
导入javax.swing.JOptionPane;
公共类猜测编号3{
公共静态int目标=0;
公共静态void main(字符串[]args){
随机R=新随机();
目标=R.nextInt(100);
字符串猜测字符串;
智力猜测;
整数计数=0;
int最佳分数=0;
系统输出打印项次(目标);
做{
//以字符串形式从用户处读入一个数字
guessString=JOptionPane.showInputDialog(“输入第一个整数”);
//将数字从字符串类型转换为int类型
guess=Integer.parseInt(猜测字符串);
计数++;
如果(猜测>目标){
showMessageDialog(null,“您的猜测太高”,“提示”,
JOptionPane.普通消息);
}否则{
如果(猜测<目标){
showMessageDialog(null,“您的猜测太低”、“提示”,
JOptionPane.普通消息);
}
}
系统输出打印项次(计数);
如果(计数=6)
打破
}while(猜!=目标);
如果(猜测==目标)
showMessageDialog(null,“您通过“+count+”猜测找到它。”,
“祝贺你!”,JOptionPane。普通消息);
其他的
JOptionPane.showMessageDialog(null,“您已达到本次围棋的最大尝试次数”,
“注意”,JOptionPane。普通信息);
如果(计数<最佳分数)
最佳分数=计数;
}
}
有人能帮我学习第3部分和第4部分吗?我建议通过面向对象的设计来解决这个问题。根据你的要求,你有
- 用户-有一个名称
- 会话-会话是针对用户的
- 尝试-在游戏中用户猜测时完成
- 游戏-最大尝试次数为6次
class User
{
String name;
}
class Session
{
User user;
Game currentGame;
void startNextGame()
{
//create game, when game end, ask to continue
}
}
class Game
{
int ties = 6;
int number;
Game()
{
Random random = new Random();
number = random.nextInt();
}
void play()
{
for( int i = 0; i < tries; ++i )
{
Attempt attempt = new Attempt( number );
attempt.try();
if( attempt.guessed() )
{
//Show guessed
return;
}
}
//show unguessed
}
}
class Attempt()
{
int expectedNumber;
Attempt( int number )
{
expectedNumber = number;
}
void try()
{
//get guess
}
boolean guessed()
{
//return result of try
}
}
void main()
{
//getUser
User user;
//if I have session for user, getSession, if not create and store ex. map
//start next game in session
}
类用户
{
字符串名;
}
课堂
{
用户;
游戏当前游戏;
void startNextGame()
{
//创建游戏,当游戏结束时,要求继续
}
}
班级游戏
{
int=6;
整数;
游戏()
{
随机=新随机();
number=random.nextInt();
}
无效播放()
{
for(int i=0;i
关于第3和第4条,您是否有具体问题?否需要存储名称的原因是,当用户希望终止会话时,可以将其性能写入记录文件。