实现一个具有图形用户界面的猜数游戏_Javascript语言实现玩家猜数游戏

今天我们通过玩家猜数游戏来学习js中的循环语句:

1. 题目:系统随机生成一1-100内的随机数,让用户猜这个数字。

如果用户猜对:游戏结束;

如果用户猜的不对,提示用户猜的数字是大了还是小了。

然后提示用户是否要继续游戏。

c56f41371814b6d98e881ca77f260ef0.png

玩家输入数字

dd6345c0381b384020463a311ffcca31.png

提示数字是大了还是小了

7980f7fab83c0760d8cbdd28e40668c7.png

是否继续游戏

396170197ea2ead4103a5982e17813d9.png

数字猜对

2. 分析:

(1)系统产生一个 随机数

Math.round(Math.random()*100+1);

因为产生的随机数有可能是小数,如85.6,所以需要将产生的数取整,即用Math.round()进行四舍五入取整。

(2)将用户猜的数和系统产生的随机数比较:

  • if 猜数
  • else if 猜数>随机数 输出:你猜的数太大;你要继续游戏吗?
  • else 输出:你猜对了; 游戏结束。

这里我们需要用一个变量isCon来控制用户是继续游戏。

且上面这个过程会一直循环进行,所以需要用到do ….while语句。当isCon为false时,便退出循环。(也就是当用户选择了取消按钮时,退出循环

355602ec48aad53238b1e510524a683c.png

实现代码

(3) parseInt函数:prompt函数返回的是字符串,所以需要将字符串函数转化成整数类型,就需要用到parseInt函数了;

parseInt():字符串转换为整数。例如:

parseInt("123bcdef45"); //返回123

parseInt("bcdef45"); //返回NaN

注意:parseInt函数转换的是参数的开头部分,并不是对整个参数进行转化。

parseFloat():字符串转换为浮点数,例如:

parseFloat("123.45abc") //返回123.45,同样只针对开头部分转换。

Number():值转换为数字,例如:

Number("1.2.3") //返回NaN。

parseInt("1.2.3") //返回1

parseFloat("1.2.3") //返回1.2

注意: Number()函数转换的是整个参数,注意与parseInt和parseFlloat函数的区别。

今天我们就讲到这里,欢迎有问题继续关注我!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的Java猜数游戏的图形界面实现代码: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GuessNumberGUI extends JFrame implements ActionListener { private JTextField inputField; private JLabel outputLabel; private int randomNumber; private int numGuesses; public GuessNumberGUI() { super("游戏"); randomNumber = (int) (Math.random() * 100) + 1; numGuesses = 0; JPanel panel = new JPanel(); panel.setLayout(new GridLayout(3, 1)); JLabel promptLabel = new JLabel("输入一个 1 到 100 之间的整:"); inputField = new JTextField(10); inputField.addActionListener(this); outputLabel = new JLabel("你还没有过。"); outputLabel.setHorizontalAlignment(SwingConstants.CENTER); panel.add(promptLabel); panel.add(inputField); panel.add(outputLabel); setContentPane(panel); pack(); setVisible(true); } public void actionPerformed(ActionEvent e) { int guess; String inputString = inputField.getText().trim(); try { guess = Integer.parseInt(inputString); } catch (NumberFormatException ex) { outputLabel.setText("输入必须是一个。"); return; } numGuesses++; if (guess == randomNumber) { outputLabel.setText("恭喜你对了!你一共了 " + numGuesses + " 次。"); inputField.setEnabled(false); } else if (guess < randomNumber) { outputLabel.setText("你小了。你已经了 " + numGuesses + " 次。"); } else { outputLabel.setText("你大了。你已经了 " + numGuesses + " 次。"); } inputField.setText(""); } public static void main(String[] args) { new GuessNumberGUI(); } } ``` 这个程序使用了Java的Swing库来创建一个简单的图形用户界面。程序生成一个 1 到 100 之间的随机,并要求用户输入一个测这个随机。每次用户测时,程序会告诉用户他们字是太大了还是太小了,直到用户对为止。程序还会记录用户测的次,并在用户对时显示出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值