bonk/bonk.py
2023-09-30 17:31:49 +02:00

92 lines
1.9 KiB
Python
Executable file

#!/usr/bin/python3
# -*- coding: utf-8 -*-
""" Ein hilfloser Versuch, Tasteneingaben abzufragen. Man kann auch in Python C schreiben. Ein Thread wär evtl besser. """
import os, sys, termios, tty, time
esc = chr(27)
bracket = chr(91)
c_up = chr(65)
c_down = chr(66)
c_right = chr(67)
c_left = chr(68)
x, xold, y, yold = 15, 15, 15, 15
clear = "'\x1b[2J\x1b[H"
car = "🚜"
replstring = " "
termsize_xy = os.get_terminal_size()
frame = 0
xmax = termsize_xy[0] - frame
ymax = termsize_xy[1] - frame
ymin = 1 + frame
xmin = 1 + frame
street = "# #"
streetwidth=len(street)
streetymax=ymax-streetwidth
def curpos(x, y):
print("\033[%d;%dH" % (y, x), end="", flush=True)
def cursoroff():
sys.stdout.write("\033[?25l")
def cursoron():
sys.stdout.write("\033[?25h")
def getkey():
getkey_buffer = 1
fd = sys.stdin.fileno()
remember_attributes = termios.tcgetattr(fd)
tty.setraw(sys.stdin.fileno())
taste = sys.stdin.read(getkey_buffer)
termios.tcsetattr(fd, termios.TCSADRAIN, remember_attributes)
return taste
def zeichnestrasse():
xstreet=xstreet+(int(random(ymin, (ymax-
print(street)
print(clear)
cursoroff()
taste = ""
while taste != "q":
# taste = ""
# while taste == "":
taste = getkey()
if taste == esc:
taste = getkey()
if taste == bracket:
taste = getkey()
yold = y
xold = x
if taste == c_right:
if x < xmax and y < ymax:
x += 1
elif taste == c_left:
if x > xmin:
x -= 1
curpos(xold, yold)
print(replstring, end="")
curpos(x, y)
print(car, end="")
curpos(1, 1)
print("x = ", x, " \ny = ", y, " ")
curpos(1, 3)
print("xold = ", xold, " \nyold = ", yold, " ")
curpos(ymax, 10)
print (street)
cursoron()
sys.exit("Schulz nun.")