诛仙剑

入驻时间: 2年前
诛仙剑评论的话题
诛仙剑 9小时前 评论了 雷响 创建的话题 › 谁有超自由啊嗯那个安装包。

嘿嘿,楼主多发帖子哈,让更多多人关注你,这样的话,你问问题的时候会方便很多

诛仙剑 10小时前 评论了 左手指月 创建的话题 › 有没有想学编程开发盲人游戏的?一起组队前行吧!

我可以给你看一下我的代码?这是我以前写的最新版的已经修正了,但是我现在复制下来在手机上的只有这份旧的,目前的问题,有一个地方逻辑判断错误,还有一个子线程忘记调用开始方法,就这两个问题,你忽略他们就行
init.py
"""
此开发包可以快速创建地图音频游戏
当然并非只可以创建地图游戏
看你的发挥哦
"""
from .zdsr_speak import ZDSR
import wx
import keyboard
import pygame
pygame.mixer.init()
朗读引擎 = ZDSR()
窗口引擎 = wx
键盘引擎 = keyboard
音频引擎 = pygame.mixer














class 空音频:
def init(self):
return
def play(self):
pass
zdsr_speak.py
#这个模块用于调用争渡的语音朗读api
import ctypes






#这个类用于调用争渡的朗读API
class ZDSR:
def init(self):
#初始化dll函数
zdsr_dll = ctypes.WinDLL(".\ZDSRAPI_x64.dll")
self.init = zdsr_dll.InitTTS
self.init.argtypes = (ctypes.c_int, ctypes.c_wchar_p, ctypes.c_bool)
self.init.restype = ctypes.c_int
self.speak = zdsr_dll.Speak
self.speak.argtypes = (ctypes.c_wchar_p, ctypes.c_bool)
self.speak.restype = ctypes.c_int
self.getspeakstate = zdsr_dll.GetSpeakState
self.getspeakstate.restype = ctypes.c_int
self.stopspeak = zdsr_dll.StopSpeak
地图.py
from 音频游戏.键盘监听 import 键盘监听
import time
import threading
















#这个类可以创建地图

class 地图:
def init(self, 朗读引擎, 键盘引擎, 边缘音频):
self.键盘映射 = {}
self.x, self.y, self.z = 0, 0, 0
self.跳跃高度 = 1
self.遁地深度 = 1
self.基准高度 = 0
self.引力 = False
self.跳跃遁地冷却 = False
self.引力执行间隔 = 0.1
self.跳跃遁地冷却时间 = 1
self.朗读引擎 = 朗读引擎
self.键盘引擎 = 键盘引擎
self.键盘监听 = 键盘监听
self.空间 = {}
self.名称 = ""
self.备注 = ""
self.边缘音频 = 边缘音频
self.添加映射("s", self.朗读坐标)
self.添加映射("w", self.前)
self.添加映射("x", self.后)
self.添加映射("a", self.左)
self.添加映射("d", self.右)
self.添加映射("q", self.上)
self.添加映射("z", self.下)
def 按键处理(self, event):
函数 = self.键盘映射.get(event.name)
if 函数 is None:
return
else:
函数()
def 添加映射(self, 键, 函数):
self.键盘映射[键] = 函数
def 朗读坐标(self):
地图名称 = self.名称
地图备注 = 坐标 = self.备注
self.朗读引擎.speak(f"{地图名称}:{self.x}。{self.y}。{self.z}:{地图备注}", True)
def 移动处理(self, *坐标, 禁用可移动检测=False, 禁用延迟=False):
if 坐标 in self.空间.keys():
空间 = self.空间[坐标]
空间["坐标音频"].play()
self.朗读环境(坐标)
if 空间["穿过"] or (not 禁用可移动检测):
self.x, self.y, self.z = 坐标
else:
self.边缘音频.play()
def 上下移动(self, *坐标):
空间 = self.空间.get(坐标)
if not 空间 is None:
if 空间.get("上下移动", False):
self.移动处理(坐标)
else:
空间["坐标音频"].play()
self.朗读环境(坐标)
else:
self.边缘音频.play()
def 前(self):
self.移动处理(self.x, self.y+1, self.z)
def 后(self):
self.移动处理(self.x, self.y-1, self.z)
def 左(self):
self.移动处理(self.x-1, self.y, self.z)
def 右(self):
self.移动处理(self.x+1, self.y, self.z)
def 上(self):
self.上下移动(self.x, self.y, self.z+1)
def 下(self):
self.上下移动(self.x, self.y, self.z-1)
def 朗读环境(self, 坐标):
空间 = self.空间[坐标]
self.备注 = 空间["备注"]
当前地图名 = self.名称
移动后地图名 = self.空间.get(坐标, "")["名称"]
if 当前地图名 != 移动后地图名:
self.名称 = 移动后地图名
self.朗读引擎.speak(移动后地图名, True)
def 添加空间(self, 空间字典):
for 坐标, 空间 in 空间字典.items():
self.空间[坐标] = 空间
def 启动跳跃遁地冷却线程(self):
冷却线程 = threading.Thread(target=self.跳跃遁地冷却线程)
def 启动引力线程(self):
self.引力 = True
引力线程 = threading.Thread(target=self.引力线程)
引力线程.daemon = True
引力线程.start()
def 停止引力线程(self):
self.引力 = False
def 引力线程(self):
while self.引力:
坐标 = self.空间[(self.x, self.y, self.z)]
if not 坐标["站立"]:
if self.z<self.基准高度:
self.移动处理(self.x, self.y, self.z+1)
time.sleep(self.引力执行间隔)
if self.z > self.基准高度:
self.移动处理(self.x, self.y, self.z-1)
time.sleep(self.引力执行间隔)
def 跳跃遁地冷却线程(self):
self.跳跃遁地冷却 = True
time.sleep(self.跳跃遁地冷却时间)
self.跳跃遁地冷却 =False
def 开始游戏(self):
self.键盘监听 = 键盘监听(self.键盘引擎, self.键盘映射.keys(), self.按键处理)
self.键盘监听.开始()
self.移动处理(self.x, self.y, self.z)
self.启动引力线程()
def 结束游戏(self):
self.键盘监听.停止()
self.停止引力线程()












































































































#这个类可以帮你快速生成空间字典
class 批量生成空间:
def init(self, x开始, x结束, y开始, y结束, z开始, z结束):
self.x开始 = x开始
self.x结束 = x结束
self.y开始 = y开始
self.y结束 = y结束
self.z开始 = z开始
self.z结束 = z结束
self.空间属性 = {}
self.空间属性["跳跃"] = True
self.空间属性["遁地"] = False
self.空间属性["上下移动"] = False
self.空间属性["穿过"] = True
self.空间属性["站立"] = True
self.空间属性["名称"] = ""
self.空间属性["备注"] = ""
self.空间属性["延迟"] = 0
def 生成(self):
x = 0
y = 0
z = 0
空间 = {}
while z<= (self.z结束-self.z开始):
while y<=(self.y结束-self.y开始):
while x<=(self.x结束-self.x开始):
self.创建(x, y, z, 空间)
x += 1
x = 0
self.创建(x, y, z, 空间)
y += 1
y = 0
self.创建(x, y, z, 空间)
z+= 1
return 空间
def 创建(self, x, y, z, 空间):
空间[(self.x开始+x, self.y开始+y, self.z开始+z)] = self.空间属性.copy()
键盘监听.py
#这个模块用于检测按键的监听状态





































class 键盘监听:
def init(self, 键盘引擎, 键盘映射列表, 事件回调):
self.键盘引擎 = 键盘引擎
self.键盘映射列表 = 键盘映射列表
self.事件回调 = 事件回调
def 开始(self):
self.绑定()
def 绑定(self):
for 键 in self.键盘映射列表:
self.键盘引擎.on_press_key(键, self.事件回调, True)
def 停止(self):
self.键盘引擎.unhook_all()
def 上锁键盘(self):
for 键 in self.键盘映射列表:
self.键盘引擎.block_key(键)
def 解锁键盘(self):
for 键 in self.键盘映射列表:
self.键盘引擎.unblock_key(键)
















诛仙剑 10小时前 评论了 左手指月 创建的话题 › 有没有想学编程开发盲人游戏的?一起组队前行吧!

楼主,你觉得我怎么样,本人目前编程水平python,应该算是入门了,目前会的多线程键盘检测调用dll,gui开发略懂,还有一些别的,比如说文件操作文件读写什么的都是可以的,还有重定向标准输出流和标准错误,输出流都是可以的,C加加最近学的语言,应该还没有入门,目前已经会的函数定义结构体定义多维数组定义指针,堆内存创建堆,栈,全局,代码,还有各种语句,包括跳转语句

诛仙剑 14小时前 评论了 威士忌 创建的话题 › 今天玩了一下凶宅诡咒有一些问题。

又滑是提交当前数字并跳到下一个齿轮,所以那是下一个密码字段的数字,不是你上一个的,你再调整下一个调整完之后再华继续这么整就行,最后双击输入

诛仙剑 15小时前 评论了 三cue 创建的话题 › 快应用中心可以在应用市场的我的里面卸载

直接带上苹果耳机,不就快应用无法启动了吗?这么简单都不会

诛仙剑 15小时前 评论了 三cue 创建的话题 › 一首动听的法国歌曲,赋邻家女孩介绍

应该带上苹果耳机

诛仙剑 15小时前 评论了 三cue 创建的话题 › 魔掌大半夜起来炖了一只鸡,出门邀请好朋友魔王一起去挖宝

带上苹果耳机之后在听

诛仙剑 15小时前 评论了 三cue 创建的话题 › 真正意义上的魔修

那个什么玩意儿,你也可以仿写一个主角带着苹果耳机,然后直接无敌,因为那个苹果耳机给他了无线的能量

诛仙剑 15小时前 评论了 三cue 创建的话题 › 女生动不动尖叫是不是装的

苗鎮不仅仅是一位刑警大队的队长,还是一个徒手治疗师,且平时不用苹果耳机, 作者:3cue, 694次查看 13次评论2025-03-26 01:33:06 发布于聊吧,最新回复 2025-03-27 01:47:50
给大家聊聊如何将苹果耳机转为高精度切割设备的小方法, 作者:3cue, 586次查看 13次评论2024-06-06 07:44:07 发布于聊吧,最新回复 2024-06-07 11:46:34
苹果耳机就是主动降噪最好的耳机,谁说是他的音质了, 作者:3cue, 698次查看 29次评论2024-01-26 09:39:52 发布于聊吧,最新回复 2024-01-28 10:15:36
最好的耳机是苹果耳机,最好的软件是音乐扒手,最好的论坛是争度论坛, 作者:3cue, 1266次查看 57次评论2023-10-30 01:41:46 发布于,最新回复 2023-11-01 08:41:40


诛仙剑 15小时前 评论了 三cue 创建的话题 › 女生动不动尖叫是不是装的

然后底下那还有人说什么嘴里边C1个苹果耳机,而耳朵上带个苹果耳机什么乱七八糟的,反正都是苹果的东西