#! /usr/bin/env python # Plot random pixels on the screen. import pygame import random def StartPunkt(): x = MaxX2 #random.randint(0,200)-100 + MaxX2 return x,0 def Angekommen(x, y, maxX, maxY): if (y >= maxY-1) or (x <= 0) or (x > maxX): return True for i in range(x-1,x+2): for j in range(y,y+2): rgb = screen.get_at((i, j))[:3]# nur rgb ohne Alpha als tupel if rgb[0]+rgb[1]+rgb[2] == 255: return True return False def NeueKoordinatenBestimmen(x, y): x = x + random.randint(0,4)-2 y = y + random.randint(0,2) # nur nach oben return x,y MaxX = 640 MaxX2 = MaxX // 2 MaxY = 400 white = [255, 255, 255] green = [0, 255, 0] chr_speed = input("Geschwindigkeit [500]: ") if chr_speed == "": speed = 500 else: speed = int(chr_speed) screen = pygame.display.set_mode((MaxX, MaxY)) screen.fill(white) pygame.display.update() clock = pygame.time.Clock() running = True while running: x,y = StartPunkt() # print(x,y,Angekommen(x,y,MaxX,MaxY)) while not Angekommen(x,y,MaxX,MaxY): xNeu,yNeu = NeueKoordinatenBestimmen(x,y) # print("Neu:",x,y,Angekommen(x,y,MaxX,MaxY)) if (x < 0) or (x >= MaxX-1): xNeu,yNeu = StartPunkt() for event in pygame.event.get(): if event.type == pygame.QUIT: # warten auf beliebige Taste running = False x,y = xNeu,yNeu screen.set_at((x, y), green) # pygame.draw.rect(screen, green, pygame.Rect(MaxX2-10,0,20,10)) pygame.display.flip() clock.tick(speed) if y < 1: while True: for event in pygame.event.get(): exit() pygame.quit()