Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Kivy构建基于回合的游戏_Python_Kivy - Fatal编程技术网

Python 使用Kivy构建基于回合的游戏

Python 使用Kivy构建基于回合的游戏,python,kivy,Python,Kivy,我正在为学校的一个项目构建基于回合的游戏“Mancala”的Python实现。我已经有了一个从控制台输入输出的基本游戏。现在我需要将图形与Kivy集成到项目中。 简而言之,游戏的棋盘继承了Kivy的GridLayout,而凹坑则是Kivy的按钮。我遇到的一个问题是,要运行Kivy应用程序,我需要调用app.run(),此方法将无限期运行。这是一个问题,因为我已经用自己的活套实现了一个没有图形的基本游戏,所以如果我运行Kivy应用程序,整个程序只是等待,实际上停止了。 我的问题是如何将Kivy的循

我正在为学校的一个项目构建基于回合的游戏“Mancala”的Python实现。我已经有了一个从控制台输入输出的基本游戏。现在我需要将图形与Kivy集成到项目中。 简而言之,游戏的棋盘继承了Kivy的
GridLayout
,而凹坑则是Kivy的
按钮。我遇到的一个问题是,要运行Kivy应用程序,我需要调用
app.run()
,此方法将无限期运行。这是一个问题,因为我已经用自己的活套实现了一个没有图形的基本游戏,所以如果我运行Kivy应用程序,整个程序只是等待,实际上停止了。 我的问题是如何将Kivy的循环(
app.run()
)与我自己的循环集成。我想在按下按钮的时候从
调用游戏的所有逻辑,但我不喜欢这样的设计。我想到的另一个解决方案是使用两个独立的线程,一个运行Kivy的循环,另一个运行我的循环,但我对线程没有任何经验

可以找到整个项目(是的,我知道回购协议的名称现在不正确:-)。
非常感谢

如果你在Kivy中使用Clock类定期运行你的游戏,则是一种快速而肮脏的方法。_turn()方法

from kivy.clock import Clock
以及: 时钟。计划时间间隔(游戏时间,0.1)