iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >教你用Python实现一个轮盘抽奖小游戏
  • 312
分享到

教你用Python实现一个轮盘抽奖小游戏

2024-04-02 19:04:59 312人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、python GUI 编程简介二、流行GUI框架总结三、代码演示四、界面一、Python GUI 编程简介 Tkinter 模块(Tk 接口)是 Python 的标准 Tk

一、Python GUI 编程简介

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

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

pyQt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。pyqt5作为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。

pyqt5是双重许可,开发者可以在LGPL协议和商业许可之间进行选择,也就是开源免费版本或者收费版本,商业版的 Qt 通常包含有一些开源版本所没有的库。

QT给我们带来最方便的好处,就是它有一个QT Desiginer,这个设计器可以方便我们进行页面的布局,可以说在Tkinter里面需要一坨坨的代码完成的页面布局,在QT里面只要拖一拖控件就搞定了。

二、流行GUI框架总结

QT的优点是有一个关于页面布局设计的设计器QT Desiginer,拖动控件就可以进行页面的布局设计、美化等, 界面美观,多个平台可使用,文档和教程丰富,但是有商业化使用版权问题,需要授权,体积较大。而Tkinter要设计这种页面,需要自己写代码定义按钮,使用代码完成的页面布局,因为Tkinter没有提供一个图形界面设计器,但是Tikinter的优点是容易学习、性能好。

QT可能是最强大的,但也许它也是最复杂的。如果你要在商业上推销使用Pyqt5设计的软件,那么你需要确保你有正确理解QT许可证或准备支付一笔不小的费用,但是研究学习的话,可以选择开源版本的QT。

wxPython可以说是QT和Tkinter的折衷,它是免费的,源代码是开放的,允许其应用在商业产品上,你可以免费使用它和共享它。同时它也提供类似QT Designer的设计器wxFORMbuilder。可以说是压缩版的QT,但是该有的功能却完全不缺失, 拥有成熟和丰富的包,跨平台,可在Unix,windows,MAC下运行,入门简单,文档资料很详细,又有官方Demo。

这三种主流界面GUI设计框架,在实际应用中大家可以根据自己的实际需求来进行选择使用。

三、代码演示

下面就用Tkinter定义界面控件,实现一个简单的轮盘抽奖游戏界面的设计,然后就进行游戏抽奖,如下所示:


import tkinter
import time
import threading
from random import random
from tkinter import messagebox as tkMessageBox
 
 
class choujiang:
    # 初始化魔术方法
    def __init__(self):
        # 准备好界面
        self.root = tkinter.Tk()
        self.root.title('lowB版转盘')
        self.root.minsize(300, 300)
        # 声明一个是否按下开始的变量
        self.isloop = False
        self.newloop = False
        self.value = []
        # 调用设置界面的方法
        self.setwindow()
        self.root.mainloop()
 
 
    # 界面布局方法
    def setwindow(self):
        # 开始停止按钮
     self.btn_start = tkinter.Button(self.root, text='start/stop', command=self.newtask)
     self.btn_start.place(x=125, y=125, width=70, height=70)
 
 
     self.btn1 = tkinter.Button(self.root, text='1', bg='red')
     self.btn1.place(x=20, y=20, width=50, height=50)
 
 
     self.btn2 = tkinter.Button(self.root, text='2', bg='white')
     self.btn2.place(x=90, y=20, width=50, height=50)
 
 
     self.btn3 = tkinter.Button(self.root, text='3', bg='white')
     self.btn3.place(x=160, y=20, width=50, height=50)
 
 
     self.btn4 = tkinter.Button(self.root, text='3', bg='white')
     self.btn4.place(x=230, y=20, width=50, height=50)
 
 
     self.btn5 = tkinter.Button(self.root, text='3', bg='white')
     self.btn5.place(x=230, y=90, width=50, height=50)
 
 
     self.btn6 = tkinter.Button(self.root, text='2', bg='white')
     self.btn6.place(x=230, y=160, width=50, height=50)
 
 
     self.btn7 = tkinter.Button(self.root, text='1', bg='white')
     self.btn7.place(x=230, y=230, width=50, height=50)
 
 
     self.btn8 = tkinter.Button(self.root, text='3', bg='white')
     self.btn8.place(x=160, y=230, width=50, height=50)
 
 
     self.btn9 = tkinter.Button(self.root, text='2', bg='white')
     self.btn9.place(x=90, y=230, width=50, height=50)
 
 
     self.btn10 = tkinter.Button(self.root, text='3', bg='white')
     self.btn10.place(x=20, y=230, width=50, height=50)
 
 
     self.btn11 = tkinter.Button(self.root, text='1', bg='white')
     self.btn11.place(x=20, y=160, width=50, height=50)
 
 
     self.btn12 = tkinter.Button(self.root, text='3', bg='white')
     self.btn12.place(x=20, y=90, width=50, height=50)
 
 
      # 将所有选项组成列表
     self.girlfrends = [self.btn1, self.btn2, self.btn3, self.btn4, self.btn5, self.btn6, self.btn7, self.btn8,
                         self.btn9, self.btn10, self.btn11, self.btn12]
 
 
    def rounds(self):
        # 判断是否开始循环
        if self.isloop == True:
            return
        # 初始化计数 变量
        i = 0
        # 死循环
        while True:
            if self.newloop == True:
                self.newloop = False
                self.value = self.girlfrends[i - 1]['text']
                if self.value =='1':
                    tkMessageBox.showinfo( "Winning Result", "恭喜获得一等奖 !'")
                if self.value == '2':
                    tkMessageBox.showinfo("Winning Result", "恭喜获得二等奖 !")
                if self.value == '3':
                    tkMessageBox.showinfo("Winning Result", '恭喜获得三等奖!')
                return
            # 延时操作
            time.sleep(0.1)
            # 将所有的组件背景变为白色
            for x in self.girlfrends:
                x['bg'] = 'white'
            # 将当前数值对应的组件变色
            self.girlfrends[i]['bg'] = 'red'
            # 变量+1
            i += 1
            # 如果i大于最大索引直接归零
            if i >= len(self.girlfrends):
                i = 0
    # 建立一个新线程的函数
    def newtask(self):
        if self.isloop == False:
            # 建立线程
            t = threading.Thread(target=self.rounds)
            # 开启线程运行
            t.start()
            # 设置循环开始标志
            self.isloop = True
        elif self.isloop == True:
            self.isloop = False
            self.newloop = True
#转盘效果
c = choujiang()

四、界面

到此这篇关于教你用Python实现一个轮盘抽奖小游戏的文章就介绍到这了,更多相关Python轮盘抽奖小游戏内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 教你用Python实现一个轮盘抽奖小游戏

本文链接: https://www.lsjlt.com/news/126172.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 教你用Python实现一个轮盘抽奖小游戏
    目录一、Python GUI 编程简介二、流行GUI框架总结三、代码演示四、界面一、Python GUI 编程简介 Tkinter 模块(Tk 接口)是 Python 的标准 Tk ...
    99+
    2024-04-02
  • 怎么用CSS实现一个抽奖转盘
    这篇文章主要介绍“怎么用CSS实现一个抽奖转盘”,在日常操作中,相信很多人在怎么用CSS实现一个抽奖转盘问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用CSS实现一个抽奖...
    99+
    2024-04-02
  • 用Python实现一个简单的抽奖小程序
    目录写在前面 实现结果 1 数据拉取2 数据清洗、去重3 中奖数据抽取python 相关知识点总结写在前面  因为粉丝福利,所以想自己写一个抽...
    99+
    2023-05-12
    python抽奖系统 python随机抽奖 python抽奖游戏
  • 还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
    获取评论贴的请求头与表单数据 下一篇在这里 这里,我们随便选取一个网站,获取该贴评论后的请求头,表单数据以及评论贴链接。(因为涉及敏感信息,自己看图片是哪个网址) 比如这个网站,经...
    99+
    2024-04-02
  • 教你使用python做一个“罚点球”小游戏
    在学习了一点 Python 基础之后,我们可以做一个罚点球的小游戏,大概流程是这样: 每一轮,你先输入一个方向射门,然后电脑随机判断一个方向扑救。方向不同则算进球得分,方向相同算扑救...
    99+
    2024-04-02
  • 教你用Python写一个水果忍者小游戏
    目录引言一、需要导入的包二、窗口界面设置  三、随机生成水果位置    四、绘制字体  五、玩家生命的提示六、游戏开始与结束的画面  ...
    99+
    2024-04-02
  • 基于vue3实现一个抽奖小项目
    目录前言数据保存姓名切换奖项切换历史记录数据导入结语前言 在公司年会期间我做了个抽奖小项目,我把它分享出来,有用得着的可以看下。浏览链接:http://xisite.top/orig...
    99+
    2023-01-28
    vue3抽奖项目 vue3抽奖
  • 怎么用Javascript实现一个转盘小游戏
    本篇内容主要讲解“怎么用Javascript实现一个转盘小游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Javascript实现一个转盘小游戏”吧!前...
    99+
    2024-04-02
  • 使用vue怎么实现一个转盘抽奖功能
    本篇文章为大家展示了使用vue怎么实现一个转盘抽奖功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Vue的优点Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运...
    99+
    2023-06-07
  • 教你如何用python开发一款数字推盘小游戏
    目录1、布局设计2、算法设计2.1 创建并初始化数组2.2 移动算法2.3 是否胜利检测算法3、实现3.1 框架搭建3.2 数字方块实现3.3 将数字转换成方块添加到布局3.4 初始...
    99+
    2024-04-02
  • python实现一个围棋小游戏
    一道Python课作业题,大致如下: 编写一个类: 该类Building应具有以下方法: ●一个构造函数,它根本不接受任何参数(除了通常的`self`) ●setHeightRand...
    99+
    2022-11-13
    python围棋程序 python围棋算法
  • 教你用Python写一个植物大战僵尸小游戏
    目录一、前言二、引入模块三、完整代码四、主程序五、效果演示一、前言 上次写了一个俄罗斯方块,感觉好像大家都看懂了,这次就更新一个植物大战僵尸吧 二、引入模块 import pyg...
    99+
    2024-04-02
  • python实现一个摇骰子小游戏
    目录一、程序实现二、程序优化总结一、程序实现 分析问题:骰子比大小是我们经常玩的一个小游戏也十分的简单,就是不同玩家骰子点数比较大小。 编写程序: #骰子比大小 import ran...
    99+
    2024-04-02
  • 如何使用Python实现抽奖小程序
    下面是一个简单的Python代码示例,实现一个抽奖小程序: import random participants = ['...
    99+
    2024-03-01
    Python
  • 如何使用Javascript和CSS3实现一个转盘小游戏
    这篇文章主要介绍了如何使用Javascript和CSS3实现一个转盘小游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体需要掌握的知识点...
    99+
    2024-04-02
  • 教你用Js写一个简单的五子棋小游戏
    目录棋盘绘制棋子的绘制在点击 canvas 的时候获取相对于棋盘数据的坐标点是否结束悔棋功能总结 这里的五子棋只做一些基础的功能,对于相对专业的规则不做处理。 那...
    99+
    2024-04-02
  • 一文教你用JavaScript制作个简单的大转盘游戏
    目录背景一、开始前的准备二、画出大转盘三、把奖励放上去四、让大转盘滚起来个人总结背景 日常生活中,我们经常会见到形形色色的抽奖活动,例如九宫格、大转盘等等…&helli...
    99+
    2023-02-01
    JavaScript实现大转盘游戏 JavaScript大转盘游戏 JavaScript转盘
  • python如何实现一个摇骰子小游戏
    这篇文章将为大家详细讲解有关python如何实现一个摇骰子小游戏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、程序实现分析问题:骰子比大小是我们经常玩的一个小游戏也十分的简单,就是不同玩家骰子点数比较...
    99+
    2023-06-28
  • Python中怎么实现一个猜数小游戏
    Python中怎么实现一个猜数小游戏,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。实现效果: 程序截图:点击(此处)折叠或打开from random i...
    99+
    2023-06-04
  • 手把手教你用vue3开发一个打砖块小游戏
    前言 用vue3写了几个实例,感觉Vue3的composition Api设计得还是很不错,改变了一下习惯,但写多两个就好了。 这次写一个也是儿时很觉得很好玩的游戏-打砖块, 无聊...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作