#!/usr/bin/python3 #import os from tengine.main import *#ty,tx,clear,genfeld,strfeld,change_char,bg_char from pynput import keyboard from time import sleep #from physics.parabelfunc import berechneflugbahn import ascii import random def on_press(key): global key_space if key == keyboard.Key.space: key_space = True def on_release(key): global running,key_space if key == keyboard.Key.space: key_space = False if key == keyboard.Key.esc: # Stop listener running = "finito" key_space = None listener = keyboard.Listener(on_press=on_press, on_release=on_release) listener.start() txhalb = int(tx / 2)-2 wobble_speed = 0.01 wobble_pos = 0 wobble_way = "right" points = 0 startscreen = True running = True if not ty >= 11 : running = False print("please resize you teerminal over 11 lines") if __name__ == "__main__" and running == True: feld = genfeld() feld = change_block(feld,ascii.logo,[0,int(tx/2-21)]) while startscreen == True: feld = change_block(feld,ascii.start_screen_text,[ty,int(tx/2-5)]) prfeld(feld) sleep(0.2) clear() if key_space == True: while not key_space == False: startscreen = False feld = viereck(feld,[ty,int(tx/2-4)],11,1," ") prfeld(feld) sleep(0.2) clear() if key_space == True: while not key_space == False: startscreen = False feld = bg_char(feld," ") feld = change_block(feld,ascii.cowsay,[int(ty/2)-2,int (tx/2)-12]) cows = "🐵🐒🦍🦧🐕🐯🦝🐩🐅🐴🐎🦄🦌🐗🐂🐃🐄🐪🐫🦙🦒🐹🦘🦡🐧🕊️ 🦅🦆🦉🐍🦎🐊🦜🦚🦩🐲🐉🦕" cowlistlength = len(cows) cow = "#" cows[random.randint(0, cowlistlength - 1)] clear() #feld[ty][tx] ### 2zeichen kuhh mach probleme while running == True: wobl = "-" * (tx - wobble_pos - 5) wobr = "-" * wobble_pos wobbl = f"{wobr}{cow}{wobl}" feld = change_block(feld," " * txhalb+"↓",[ty-1,0]) feld = change_block(feld,f"[{wobbl}]",[ty,0]) prfeld(feld) if wobble_pos > txhalb: wobble_site = "left" else: wobble_site = "right" if wobble_way == "right": wobble_pos += 1 if wobble_site == "right": points += 1 else: points -= 1 else: wobble_pos -= 1 if wobble_site == "right": points -= 1 else: points += 1 if wobble_pos >= tx - 5: wobble_way = "left" elif wobble_pos == 0: wobble_way = "right" sleep(wobble_speed) clear() if key_space == True: break points_prozent = int((points/txhalb)*100) clear() for a in range(int(points*2)-2): feld = change_block(feld,"-"*a+"🐄️",[0,0]) feld = change_block(feld,str(points_prozent)+"%",[1,int(tx/2-2)]) prfeld(feld) sleep(0.01) clear() prfeld(feld) ## Randomly choose a cow #cows = "🐵🐒🦍🦧🐕🐯🦝🐩🐅🐴🐎🦄🦌🐗🐂🐃🐄🐪🐫🦙🦒🐹🦘🦡🐧🕊️ 🦅🦆🦉🐍🦎🐊🦜🦚🦩🐲🐉🦕" #cowlistlength = len(cows) #cow = cows[random.randint(0, cowlistlength - 1)] ## Needed: find our screensize. We are in textmode here ##termsize_xy = os.get_terminal_size() #### I m p o r t a n t p a r a m e t e r s ### ## X-Resolution of the display #xmax = tx-1 #termsize_xy[0] - 1 #xsteps = 20#xmax #ymax = ty #termsize_xy[1] #ymin = 0 #xmin = 0 #startwinkel = 70 #startgeschwindigkeit = 60 #starthoehe = 0 #schlafzeit = 0.05 #### ## needed for erasing old position #xold = xmin #yold = ymin #x = xmin #y = xmin ## Call the function, which calculates the coordinates) #ergebnis = berechneflugbahn(xmax, ymax, xsteps, startwinkel, startgeschwindigkeit, starthoehe, gravitation=1, xstep=2) # #feld = bg_char(feld,"-") # ## here we draw the cow #for count in range(xmin, len(ergebnis), 2): # xold, yold = x, y # x, y = ergebnis[count], ergebnis[count + 1] # change_block(feld,"@",[x, y]) # sleep(schlafzeit) # change_block(feld,"#",[xold, yold]) #☁️ # prfeld(feld) # print() #sleep(2) ##sys.exit(home + curon)