【发布时间】:2020-04-28 22:48:36
【问题描述】:
我正在尝试用一些漂亮的 3D 图形统一创建 nim 游戏。对于那些不知道的人来说,nim 是一个已解决的游戏,这意味着,假设两个玩家都玩得很好,我们可以知道谁会在第一回合获胜。
我想做4种游戏模式:
- 两个互相对战的玩家。
- 玩家与完美游戏的电脑对战。
- 计算机与用户用 python 编写的机器人进行对抗。
- 玩家与他用 python 编写的机器人对战。
我在高中的计算机科学课上了解了这个游戏,我们得到了一个练习来编写一个程序来赢得这个游戏的更简单版本。
这就是我想要包含最后两种模式的原因:让学生用 python 编写他们的机器人并在我的游戏中进行测试。我认为它会变得非常酷。
但是,这意味着我需要弄清楚如何从 c# 脚本统一运行 python 脚本。我知道我可以在 c# 中使用Process 来运行外部 python 脚本,但这需要我知道 python 可执行文件的位置。
我可以做一个设置菜单,这样用户就可以在那里设置 python 的路径,但我不喜欢用户必须处理路径设置的事实。
我了解到,在 Windows 上,我可以下载一个包含 python 解释器 (python.exe) 的可嵌入 zip,然后简单地将其与游戏一起发布,这样用户甚至不需要在他们的机器上安装 python。但是,我找不到其他平台的类似 zip,特别是 linux 和 mac。
那么,我的问题是我应该如何统一运行 python 脚本?有没有办法为 windows、mac 和 linux 嵌入 python 解释器,或者我应该制作一个设置菜单来配置 python 路径和使用进程? 如果有人能给我一个关于如何在统一中使用 python 的想法,我真的很感激。
注意:我想使用 python 3 编写脚本,因此仅适用于 python 2 的解决方案对我没有帮助。
提前致谢。
【问题讨论】:
-
嘿,shai avr,您找到解决方案了吗?一个问题是,如果 Unity 已经有一个解释器,它包含在构建中,它将受 unit'ys 许可协议的约束,因此不能将它用于播放器可编辑脚本