-- coding: utf-8 --

猜物价游戏 - GuessPrice项目模板

通过按钮和文本框实现输入

所有和游戏相关的输出都显示在控制台上

import math
import simpleguitk
import random

初始化全局变量

random_num = 0 # 电脑生成的随机数,初始化为0
num_range = 10 # 生成随机数的范围
remain_time = 0 # 剩余的竞猜次数,初始化为0

自定义函数,用于游戏和新一轮游戏的启动

def new_game():
global random_num, num_range, remain_time
remain_time = int(math.ceil(math.log(num_range + 1, 2)))
print("\n欢迎来到购物街!")
print("新一轮商品竞猜开始。竞猜价格范围从0到", num_range)
print("总的竞猜机会有", remain_time,"次")
random_num = random.randrange(0, num_range)

为控制面板定义事件处理程序

def range10():
# 改变竞价范围为[0,10)并重新启动游戏
global num_range
num_range = 10
new_game()

def range100():
# 改变竞价范围为[0,100)并重新启动游戏
global num_range
num_range = 100
new_game()

def range1000():
# 改变竞价范围为[0,1000)并重新启动游戏
global num_range
num_range = 1000
new_game()

def input_guess(guess):
# 游戏主要的逻辑设计在这一部分
# 首先判断竞猜机会是否已用完,如果没有用完就判断输入的价格和电脑产生的价格是否相同,
# 根据比较结果输出相应内容,并修改剩余的竞猜次数。如果用完了竞猜机会就提示用户,
# 并显示商品实际价格,然后重新开始游戏。
global remain_time
remain_time -= 1
guess_num = int(guess)
print("你的竞猜价格是:", guess_num)

if guess_num > random_num:  
    print("你的价格太高了!")  
    if remain_time > 0:  
        print("你还有", remain_time, "次机会。")  
    else:  
        print("你没有机会了!商品实际价格是:", random_num)  
        new_game()  
elif guess_num < random_num:  
    print("你的价格太低了!")  
    if remain_time > 0:  
        print("你还有", remain_time, "次机会。")  
    else:  
        print("你没有机会了!商品实际价格是:", random_num)  
        new_game()  
else:  
    print("恭喜你猜对了!商品实际价格是:", random_num)  
    new_game()  

产生竞猜数

new_game()

创建框架

frame = simpleguitk.create_frame('GuessPrice', 300, 300)

为框架添加按钮

frame.add_button('0-10', range10, 200)
frame.add_button('0-100', range100, 200)
frame.add_button('0-1000', range1000, 200)

为框架添加文本框

frame.add_input('输入你的竞猜价格:', input_guess, 200)

启动框架

frame.start()

Python 猜物价游戏:使用简单图形界面库实现

原文地址: https://www.cveoy.top/t/topic/nYXn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录