一些编程初学者的痛点在于认识的英语单词太少,不知道程序在运行过程中需要什么?通过开发游戏学习编程,是一个快速但又不会觉得枯燥的方法;在这篇简单的猜数字游戏中,来看看程序开发过程中逻辑是怎样形成的?为了达到期望的结果,需要做哪些工作?
猜数字游戏过程: 用户自己输入一个数字A和程序中产生的一个数字B进行比较,如果A大于B则提示太大了,否则提示太小了,直到输入的数字A与产生的数字B相等,游戏结束,程序还需要设置一个猜的次数,如果超过次数则没猜中则游戏失败,否则成功。
猜数字游戏
一、问题
- 程序中需要哪些变量?
- 用户要怎样输入?
- 怎样产生随机数字 ?
- 怎样使用循环和判断 ?
- 怎样创建对象 ? 它是用来干嘛的 ?
二、解决问题
使用Scanner对象获取玩家的输入,当然还需要System.in
定义变量input用于存储用户输入的数字,定义number存储计算机生成的随机数
为了控制循环和判断的逻辑还需要两个控制变量 running 和 guessed
为了控制玩家输入的次数,需要定义count计数器变量计数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| package top.coolcode;
import java.util.Scanner; public class GuessNumber { public static void main( String[] args ) { Scanner sc = new Scanner(System.in); boolean running = true; boolean guessed = true; int number = 0; int input = 0; int count = 1;
while(running) { if(count>3) { System.out.println("三次机会已用完,游戏失败. 您可以继续游戏;退出输入-1"); guessed = true; } if(guessed==true) { System.out.println("计算机已经随机产生一个数,范围是0~20"); System.out.println("您可以猜猜看, 退出输入 -1"); number = getRandom(20); guessed = false; } input = sc.nextInt(); if(input == -1) { running = false; } else if(input > number) { System.out.println("输入的数字太大了,退出输入 -1"); } else if(input < number) { System.out.println("输入的数字太小了,退出输入 -1"); } else if(input == number){ System.out.println("您猜对了,您可以继续游戏;退出输入 -1"); guessed = true; } count++; } }
public static int getRandom(int max) { return (int)(Math.random()*max) + 1; } }
|
简单的猜数字游戏,重要的是知道如何定义和使用程序运行过程中需要的要素(变量),以及程序的执行流程。