济南市个人网站制作网络营销的目标
数字炸弹【猜数字游戏】
目录
文章目录
- 数字炸弹【猜数字游戏】
- 目录
- 游戏规则
- 类设计
- 初始化基本信息:
- 将接受用户输入封装在函数中:
- 逻辑处理:
- 启动器设计
- 主函数
- 结果展示
游戏规则
数字炸弹是一种猜数字的游戏,游戏规则如下:
- 游戏开始时,假设游戏边界为1-100,生成一个随机由1 - 100范围的数字。
- 玩家循环猜测答案,每次猜测后都会得到一些提示。
- 假如玩家猜测答案为 50, 游戏答案为80。系统提示 50 - 100
- 假如玩家猜测答案为 90 , 游戏答案为80。系统提示 50 - 90。
- 以此类推直至猜出与答案相符。
类设计
初始化基本信息:
self.userNum
为用户输入的信息。self.left
为游戏下边界,实例化获取。self.right
为游戏上边界。
# -*- coding: utf-8 -*-
# @Time : 2023/8/30 15:01
# @Author : Relieved
import randomclass GuessNumberGame:def __init__(self, left, right):self.userNum = 0self.left = leftself.right = right
将接受用户输入封装在函数中:
def get_user_input(self):self.userNum = int(input(f"> 请输入[{self.left:^3}] - [{self.right:^3}]以内的数字 "))return self.userNum
逻辑处理:
def play_game(self):print(">>> GuessNumberGame <<<")self.get_user_input()randomNumber = random.randint(self.left, self.right)while self.userNum != randomNumber:if self.userNum > randomNumber:print(f">> {self.left} - {self.userNum} ")self.right = self.userNumelif self.userNum < randomNumber:print(f">> {self.userNum} - {self.right}")self.left = self.userNumself.get_user_input()print(f"> Guessed It Right: {randomNumber}")
启动器设计
def launcher():init_left, init_right = input(f"> 输入猜数字游戏范围, 使用空格隔开[1 100]: ").split(" ")try:init_left, init_right = int(init_left), int(init_right)game = GuessNumberGame(init_left, init_right)game.play_game()except ValueError:print("> 输入的参数不是整数类型")launcher()
主函数
if __name__ == '__main__':launcher()
结果展示
> 输入猜数字游戏范围, 使用空格隔开[1 100]: 1 100
>>> GuessNumberGame <<<
> 请输入[ 1 ] - [100]以内的数字 50
>>Number in: [ 1 - 50 ]
> 请输入[ 1 ] - [50 ]以内的数字 25
>>Number in: [ 1 - 25 ]
> 请输入[ 1 ] - [25 ]以内的数字 15
>>Number in: [ 1 - 15 ]
> 请输入[ 1 ] - [15 ]以内的数字 7
>>Number in: [ 1 - 7 ]
> 请输入[ 1 ] - [ 7 ]以内的数字 3
>>Number in: [ 1 - 3 ]
> 请输入[ 1 ] - [ 3 ]以内的数字 2
>>Number in: [ 1 - 2 ]
> 请输入[ 1 ] - [ 2 ]以内的数字 1
> Guessed It Right: 1进程已结束,退出代码为 0