Я строю на Python реализацию пошаговой игры «Манкала» для школьного проекта. У меня уже есть базовая игра с вводом / выводом из консоли. Теперь мне нужно интегрировать графику с Kivy в проект.
Короче говоря, доска игры наследует GridLayout
Киви, а ямы - Button
Киви. Проблема, с которой я сталкиваюсь, заключается в том, что для запуска приложения Kivy мне нужно вызвать app.run()
, и этот метод работает бесконечно долго. Это проблема, потому что я уже реализовал базовую игру без графики с моим собственным петлителем здесь , поэтому, если я запускаю приложение Kivy, вся программа просто ждет и практически останавливается.
У меня вопрос, как мне интегрировать цикл Киви (app.run()
) с моим собственным циклом. Я думал о вызове всей логики игры из on_press
нажатой кнопки, но это дизайн, который я предпочитаю не использовать. Другое решение, о котором я подумал, - это использование двух отдельных потоков, один из которых запускает цикл Киви, а другой - мой цикл, но у меня нет никакого опыта работы с потоками.
Весь проект можно найти здесь (да, я знаю, что имя репо теперь неверно :-)).
Большое спасибо!