Тема: Безперервний ввід вивід інформації.
Коротше так, коли пес не знає, що робити то... Ну то та сама ситуація. Хочу перенести оце https://replace.org.ua/topic/10799/
з плюсів на Python. Хочу реалізувати ввід та вивід в окремих потоках. Але, проблема в тому, що програма все-одно чекає на ввід, і тому вивід продовжується тільки після того як натискається клавіша.
#-*- coding: utf-8 -*-
from threading import Thread
import subprocess
import platform
import getch
import time
#import msvcrt # for windows
from graphikcs import Graphics
def output_func():
while True:
for row in g.road:
print(row)
#time.sleep(1)
if platform.system == "Windows":#clear if youre os is windows
subprocess.Popen("cls", shell=True).communicate()
else:
print("\033c")
def input_func():
while True:
car_position = 0
if platform.system == "Windows":
char = msvcrt.getche()
else:
char = getch.getch()
if char in ['d','D','В','в']:
pass
if char in ['a','A','ф','Ф']:
if car_position > -3:
car_position -=1
g.car_left()
char = None
if char in ['W','w','Ц','ц']:
pass
if char in ['S','s','І','і','Ы','ы']:
pass
if __name__=="__main__":
g = Graphics()
thread1 = Thread(target=output_func)
thread2 = Thread(target=input_func)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
Пробував конструкцію
char = getch.getch()|""
Так не працює ввід, і ще кілька конструкцій з іфами теж не працювало. Хтось може робив щось подібне, поділіться досвідом?