#!/usr/bin/python3 #import os from tengine.main import *#ty,tx,scene.clear,genscene,strscene,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: scene = tengine() scene.set_block(ascii.logo,[0,int(tx/2-21)]) while startscreen == True: scene.set_block(ascii.start_screen_text,[ty,int(tx/2-5)]) scene.print() sleep(0.2) clear() if key_space == True: while not key_space == False: startscreen = False scene.viereck([ty,int(tx/2-4)],11,1," ") scene.print() sleep(0.2) clear() if key_space == True: while not key_space == False: startscreen = False scene.bg_char(" ") scene.set_block(ascii.cowsay,[int(ty/2)-2,int (tx/2)-12]) cows = "🐵🐒🦍🦧🐕🐯🦝🐩🐅🐴🐎🦄🦌🐗🐂🐃🐄🐪🐫🦙🦒🐹🦘🦡🐧🕊️ 🦅🦆🦉🐍🦎🐊🦜🦚🦩🐲🐉🦕" cowlistlength = len(cows) cow = "#" #cows[random.randint(0, cowlistlength - 1)] clear() #scene[ty][tx] ### 2zeichen kuhh mach probleme while running == True: wobl = "-" * (tx - wobble_pos - 5) wobr = "-" * wobble_pos wobbl = f"{wobr}{cow}{wobl}" scene.set_block(" " * txhalb+"↓",[ty-1,0]) scene.set_block(f"[{wobbl}]",[ty,0]) scene.print() 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): scene.set_block("-"*a+cow,[0,0])#🐄️ scene.set_block(str(points_prozent)+"%",[1,int(tx/2-2)]) scene.print() sleep(0.01) clear() scene.print() exit() xsteps = int((tx+2)/2) #20#xmax xmax = tx-1 #termsize_xy[0] - 1 ymax = ty #termsize_xy[1] ymin = 0 xmin = 0 startwinkel = 70#+180 startgeschwindigkeit = 30 starthoehe = 0#int(ty/2) #### ## needed for erasing old position ## Call the function, which calculates the coordinates) ergebnis = berechneflugbahn(xmax, ymax, xsteps, startwinkel, startgeschwindigkeit, starthoehe, gravitation=1, xstep=2) # ## here we draw the cow xold = xmin yold = ymin x = xmin y = xmin for count in range(2, len(ergebnis), 2): xold, yold = x, y x, y = ergebnis[count], ergebnis[count + 1] set_block(scene,"@",[x, y]) sleep(0.1) set_block(scene,"-",[xold, yold]) #☁️ scene.print()