A retro game engine for Python
Project description
[ 中文 ]
Pyqie是一个 python 的经典的量化策略引擎。
由于这只是一个简单的策略运行套件,所以并不推荐在实际的工作中使用。
说明
- 支持调用 pyqie 的指标计算库
- 支持在 python 环境下调用 pyqie 的数学库
- 支持使用简单的 python 环境下的 ECS 启发 pyqie 的指标计算
如何安装
Windows
在安装Python3 (3.7 或更高版本) 之后,执行以下命令:
pip install -U pyqie
如果你使用官方安装程序安装 Python,请勾选Add Python 3.x to PATH
复选框以启用pyqie
命令。
Mac
在安装Python3 (3.7 或更高版本) 之后,执行以下命令:
python3 -m pip install -U pyqie
如果你使用默认安装在 Mac 上的 Python3,请在上述命令的开头添加sudo
以启用pyqie
命令。
Linux
Python3 (3.7 或更高版本),以及python3-pip
这三个包之后,执行以下命令:
sudo pip3 install -U pyqie
如果上述方法不奏效,请根据Makefile中的说明尝试自我构建。
尝试 Pyqie 例程
以 Python 包版本为例,安装 Pyqie 后,用以下命令将 Pyxe 例程复制到当前文件夹:
pyqie copy_examples
例程包含:
01_hello_pyqie.py | 最简单的应用 | Code |
02_hello_esper.py | 自带 python 风格的 ECS | Code |
运行例程,可以使用以下命令:
cd pyqie_examples
pyqie run 01_hello_pyqie.py
pyqie play 30SecondsOfDaylight.pyxapp
使用教程
创建 Pyqie 应用
在 python 文件中导入 Pyqie 包后,首先使用init
函数指定窗口大小,然后使用run
函数启动 Pyqie 应用。
import pyqie
pyqie.init(160, 120)
def update():
sq4 = pyqie.sqrt(4)
print(sq4)
print("update")
def draw():
print("draw")
def close():
print("close")
pyqie.run(update, draw,close)
run
函数的两个参数update
函数和draw
函数分别用来在需要时更新帧和绘制画面。
实际应用中,建议将 pyqie 代码封装成如下类:
import pyqie
import asyncio
class App:
def __init__(self):
pyqie.init(1000)
pyqie.run(self.update, self.draw,self.close)
def update(self):
sq4 = pyqie.sqrt(4)
print(sq4)
print("update")
def draw(self):
print("draw")
loop = asyncio.get_event_loop()
loop.run_until_complete(self.consumer())
def close(self):
print("close")
async def consumer(self):
print("consumer")
App()
运行 Pyqie 应用
创建的 Python 脚本可以使用以下命令执行:
pyqie run PYTHON_SCRIPT_FILE
它也可以像普通的 Python 脚本一样被执行:
python3 PYTHON_SCRIPT_FILE
如何发布应用
Pyqie 支持跨平台的应用文件格式 (Pyqie 应用文件)。
使用以下命令创建 Pyqie 应用文件 (.pyxapp):
pyqie package APP_DIR STARTUP_SCRIPT_FILE
如果应用程序应包括资源或其他模块,请将它们放在应用程序目录中。
创建好的应用文件使用以下命令执行:
pyqie play PYQIE_APP_FILE
Pyqie 应用程序文件也可以通过pyqie app2exe
或pyqie app2html
命令转换为可执行文件或 HTML 文件。
API 参考手册
系统
-
width
,height
画面的宽和高 -
frame_count
目前为止,经过的总帧数 -
init(width, height, [title], [fps], [quit_key], [display_scale], [capture_scale], [capture_sec])
使用屏幕尺寸 (width
,height
) 初始化 Pyqie 应用。以下属性为可选配置项:窗口标题title
,帧率fps
,应用退出按键quit_key
,用 "display_scale "来决定显示的比例,用 "capture_scale "来决定屏幕捕捉的比例,以及屏幕捕获的最长记录时间capture_sec
。
示例:pyqie.init(160, 120, title="My Pyqie App", fps=60, quit_key=pyqie.KEY_NONE, capture_scale=3, capture_sec=0)
-
run(update, draw)
启动 Pyqie 应用,并调用update
函数刷新画面帧,并使用draw
函数渲染画面。 -
show()
显示屏幕直到Esc
键被按下。 -
flip()
将屏幕重新调整一帧。当按下Esc
键时,应用程序退出。该功能在网络版中不起作用。 -
quit()
退出 Pyqie 应用。
数学
-
ceil(x)
返回大于或等于x
的最小的整数。 -
floor(x)
返回小于或等于x
的最大整数。 -
sgn(x)
当x
是正数时返回 1,当它是零时返回 0,当它是负数时返回 1。 -
sqrt(x)
返回x
的平方根。 -
sin(deg)
返回deg
度的正弦。 -
cos(deg)
返回deg
度的余弦。 -
atan2(y, x)
返回y
/x
的正切,单位是度。 -
rseed(seed)
设置随机数发生器的种子。 -
rndi(a, b)
返回一个大于或等于a
且小于或等于b
的随机整数。 -
rndf(a, b)
返回一个大于或等于a
且小于或等于b
的随机小数。 -
nseed(seed)
设置佩林噪声的种子。 -
noise(x, [y], [z])
返回指定坐标的佩林噪声值。
许可证
Pyqie 遵循MIT License。您可以在专利软件中重复使用,前提是该软件的所有副本或重要部分均包含 MIT 许可条款的副本和版权声明。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pyqie-0.0.4-cp37-abi3-win_amd64.whl
.
File metadata
- Download URL: pyqie-0.0.4-cp37-abi3-win_amd64.whl
- Upload date:
- Size: 210.2 kB
- Tags: CPython 3.7+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99c41418055564f92cf56da630e370babf30134253466dcdf0280e0f7f346622 |
|
MD5 | 0afd224cffbdb66902c89173171d6ef4 |
|
BLAKE2b-256 | e8fe5c736efbe6e44053e39a482443f648a596fba6d7ed3904b7cfc514b43e76 |