游戏-夺命左轮(Python)

ops/2024/11/1 7:34:53/

简介

最近B站给我推的骗子酒馆有点多,居然还有真人版,于是!🤓👆🏼

代码

python"># -*- coding: utf-8 -*-
# Environment    PyCharm
# File_name   player |User    Pfolg
# 2024/10/28 19:17
import ctypes
import random
import threading
import time
import tkinter as tk
from tkinter import ttk, simpledialog
import pygameico = ".\\source\\death.ico"
name = "搏命左轮"
loadBullets = ".\\source\\add.mp3"
null = ".\\source\\null.mp3"
shoot = ".\\source\\shoot.mp3"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(name)# 生成子弹位置def makeLocation(array: list):index = random.randint(0, len(array) - 1)array[index] = 1return arraybullets = [0 for i in range(6)]
bullets = makeLocation(bullets)# print(bullets)
pygame.mixer.init()  # 初始化pygame的声音模块
# 加载音乐
music1 = pygame.mixer.Sound(loadBullets)
music2 = pygame.mixer.Sound(null)
music3 = pygame.mixer.Sound(shoot)def delayMusic1():lb = ttk.Label(window, text="装弹中……")lb.place(relx=.4, rely=.45)time.sleep(1)music1.play()lb.place_forget()main_btu.place(relx=.38, rely=.8)def showStatus():global countif count < 6:btus[count].config(state="normal")if bullets[count]:btus[count].config(background="#f44747")btus[count].config(state="disabled")window.config(background=btus[count]["background"])main_btu.config(background=btus[count]["background"])playerLb.config(background=btus[count]["background"])count = 10music3.play()else:btus[count].config(background="#6ad4b4")btus[count].config(state="disabled")music2.play()count += 1def changName(e):# 弹出问答窗口并获取用户输入new_name = simpledialog.askstring(title="更改玩家昵称", prompt="请输入新的昵称:")if new_name:player_name.set(new_name)if __name__ == '__main__':# 窗口初始设定window = tk.Tk()window.title(name)sw, sh = window.winfo_screenwidth(), window.winfo_screenheight()ww, wh = int(sw / 5), int(sh / 4)window.geometry(f"{ww}x{wh}+{int(sw / 4)}+{int(sh / 4)}")window.resizable(False, False)window.iconbitmap(ico)window.wm_iconbitmap(ico)bullets_btu = [tk.IntVar() for _ in range(len(bullets))]for i in range(len(bullets)):bullets_btu[i].set(bullets[i])# print(bullets_btu[i].get())btus = [tk.Button(window, background="#e5c07b", width=3, relief="groove", text="", state="disabled",)for _ in range(len(bullets_btu))]for i in range(len(btus)):btus[i].place(relx=.08 + i * .15, rely=.2)count = 0main_btu = tk.Button(window, text="扣动扳机", command=showStatus)player_name = tk.StringVar()player_name.set("Player")playerLb = ttk.Label(window, textvariable=player_name, foreground="#c575a9", font=("微软雅黑 bold", 10),cursor="hand2")playerLb.bind("<Button-1>", changName)playerLb.place(relx=.4, rely=.6)threading.Thread(target=delayMusic1).start()window.mainloop()

演示

资源

我在C站上传的资源未通过审核,下面是唯一渠道,你也可以改代码

Release 左轮搏命 · Pfolg/Pfolg_Source (github.com)icon-default.png?t=O83Ahttps://github.com/Pfolg/Pfolg_Source/releases/tag/v.Max.ZLBM


http://www.ppmy.cn/ops/130075.html

相关文章

Java | Leetcode Java题解之第524题通过删除字母匹配到字典里最长单词

题目&#xff1a; 题解&#xff1a; class Solution {public String findLongestWord(String s, List<String> dictionary) {int m s.length();int[][] f new int[m 1][26];Arrays.fill(f[m], m);for (int i m - 1; i > 0; --i) {for (int j 0; j < 26; j) {…

HTML入门教程18:HTML类

一、定义类 在HTML中&#xff0c;你使用class属性来为元素分配类名。类名可以是任何你选择的名称&#xff0c;但最好使用能够描述元素用途或样式的名称。类名前面用一个点&#xff08;.&#xff09;表示&#xff0c;但在HTML中给元素分配类名时不需要这个点。 <div class&…

【力扣专题栏】重排链表,如何实现链表里面节点之间的交换?

题解目录 1、题目描述解释2、算法原理解析3、代码编写 1、题目描述解释 主要就是实现&#xff1a;第一个节点和最后一个节点交换&#xff0c;第二节点和倒数第二个节点交换&#xff0c;依次交换下去。 2、算法原理解析 3、代码编写 class Solution { public:void reorderList(…

sqlserver、达梦、mysql调用存储过程(带输入输出参数)

1、sqlserver&#xff0c;可以省略输出参数 --sqlserver调用存储过程&#xff0c;有输入参数&#xff0c;有输出参数--省略输出参数 exec proc_GetReportPrintData 1, , , 1--输出参数为 null exec proc_GetReportPrintData 1, , , 1, null--固定输出参数 exec proc_GetReport…

高效租房流程管理:Spring Boot租房系统解析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

无人机多机编队控制算法详解!

一、主要算法类型 长机-僚机法&#xff08;Leader-Follower&#xff09; 原理&#xff1a;通过设定一架无人机作为长机&#xff08;领航者&#xff09;&#xff0c;其他无人机作为僚机&#xff08;跟随者&#xff09;&#xff0c;僚机根据长机的信息来调整自身的飞行状态&#…

HTML5和CSS3常见面试题

&#x1f60a;HTML5和CSS3常见面试题 1.HTML5有哪些新特性&#xff1f;2.你是如何理解语义化标签的&#xff1f;3.CSS3有哪些新特性&#xff1f;4.rem和em的区别是什么&#xff1f;5.如何实现自适应布局&#xff1f;6.清除浮动的方法有哪些&#xff1f;7.伪元素清除的原理是什么…

微服务设计模式 — 补偿事务模式(Compensating Transaction Pattern)

微服务设计模式 — 补偿事务模式&#xff08;Compensating Transaction Pattern&#xff09; 定义 在云计算和分布式系统中&#xff0c;管理跨多个微服务或组件的事务一致性是一项极具挑战性的任务&#xff0c;补偿事务模式Compensating Transaction Pattern&#xff09;是一种…