java猜数字游戏注解_2D开发游戏作业:图形界面设计——猜数字游戏

8a198938097f3fa9ab41f9ccbce8b9f2.png

1.游戏介绍

在游戏中,程序随机生成1024以内的数字,再让玩家去猜,如果猜的数字过大过小都会进行提示,程序还会统计玩家猜的次数。使用Tkinter开发猜数字游戏

2.python图形界面设计

Python提供了多个图形开发界面的库,几个常用Python GUI库如下。

Tkinter: Tkinter模块(TK接口)是Python的标准Tk GUI工具包的接口。Tkinter可以在大多数的UNIX平台下使用,同样可以应用在Windows和Macintosh系统里。Tk 8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

vxPython: wxPython是一款开源软件,是Python语言的一套优秀的GUI图形库,允许用户方便地创建完整的、功能健全的GUI用户界面。

Jython: Jython程序可以与Java无缝集成。除了一些标准模块外,Jython使用Java的模块,Jython几乎拥有标准的Python中不依赖于C语言的全部模块。比如,Jython的用户界面使用Swing、AWT或者SWT呈现。Jython可以被动态或静态地编译成Java字节码。

3.部分代码注释

1.猜数字函数的编写

b4d451bf2e983d6b30c153e9928fa291.png

2.猜的次数

cd117d83dff2a11708502d5635f64651.png

3.关闭窗口

6422b249ad434dbe73ce0a4d64c12487.png

4.代码参考

import sys

import random

import re

number=random.randint(0,1024)

running =True

num=0

nmaxn=1024

nminn=0

def eBtnClose(event):

root.destroy()

def eBtnGuess(event):

global nmaxn

global nminn

global num

global running

if running:

val_a = int(entry_a.get())

if val_a == number:

labelqval("恭喜答对了!")

num += 1

running = False

numGuess()

elif val_a < number:

if val_a >nminn:

nminn = val_a

num += 1

labelqval("小了,请输入" + str(nminn) + "到" + str(nmaxn) + "之间任意整数:")

else:

if val_a < nmaxn:

nmaxn = val_a

num += 1

labelqval("大了,请输入" + str(nminn) + "到" + str(nmaxn) + "之间任意整数:")

else:

labelqval("你答对了")

def numGuess():

if num == 1:

labelqval("一次答对")

elif num < 10:

labelqval("十次以内就答对了,尝试次数:" + str(num))

else:

labelqval("尝试次数:" + str(num))

def labelqval(vText):

label_val_q.config(label_val_q, text = vText)

root = tk.Tk(className = "猜数字游戏")

root.geometry("400x90+200+200")

line_a_tip=tk.Frame(root)

label_tip_max=tk.Label(line_a_tip,text=nmaxn)

label_tip_min=tk.Label(line_a_tip,text=nminn)

label_tip_max.pack(side="top",fill="x")

label_tip_min.pack(side="bottom",fill="x")

line_a_tip.pack(side="left",fill="y")

line_question = tk.Frame(root)

label_val_q = tk.Label(line_question, width = "80")

label_val_q.pack(side = "left")

line_question.pack(side = "top",fill = "x")

line_input = tk.Frame(root)

entry_a = tk.Entry(line_input, width = "40")

btnGuess = tk.Button(line_input, text = "猜")

entry_a.pack(side = "left")

entry_a.bind("", eBtnGuess)

btnGuess.bind("", eBtnGuess)

btnGuess.pack(side = "left")

line_input.pack(side = "top",fill = "x")

line_btn = tk.Frame(root)

btnClose = tk.Button(line_btn, text = "关闭")

btnClose.bind("", eBtnClose)

btnClose.pack(side = "left")

line_btn.pack(side="top")

labelqval("请输入0到1024之间任意整数:")

entry_a.focus_set()

print(number)

root.mainloop()

5.游戏展示

4f63799c32fd6d5d5f13af3a824844f7.png

db40c96e1b9e4e66bcc201e27ac6846b.png

7374430d64bf79a863d5b827f02906fa.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值