Links und Funktionen
Sprachumschaltung

Navigationspfad


Inhaltsbereich

kakke

Python Source icon Jump&Run.py — Python Source, 3 KB (3834 bytes)

Dateiinhalt

from visual import *
from threading import Thread
import random


STRECKE = 0                                                                                                                  #

class figur(frame, Thread):
    def __init__(self,g=1,posx=0, posy=0, posz=0, farbe=color.white):                                           
        frame.__init__(self)
        Thread.__init__(self)
        self.kopf=sphere(frame=self, pos=(posx,44*g+posy,posz), radius=15*g, color = farbe)                     
        self.koerper=box(frame=self, pos=(posx,0+posy,posz), size=(25*g,60*g,40*g), color = farbe)              
        self.beinr=box(frame=self, pos=(posx,-40*g+posy,posz+10*g), size=(15*g,30*g,15*g), color= farbe)        
        self.beinl=box(frame=self, pos=(posx,-40*g+posy,posz-10*g), size=(15*g,30*g,15*g), color= farbe)
        self.auger=sphere(frame=self, pos=(posx+15*g, 44*g+posy, posz+7.5*g), radius=2.5*g, color = (0.5,0,0))
        self.augel=sphere(frame=self, pos=(posx+15*g, 44*g+posy, posz-7.5*g), radius=2.5*g, color = (0.5,0,0))
    def run(self):
        self.laufen()
        self.ausweichen()
    def laufen(self):
        while True:
            rate(20)
            self.x += 10
            scene.center=self.pos
            scene.autoscale = False
    def ausweichen(self):
        if scene.kb.keys:
            taste = scene.kb.getkey()
            if taste == "w" and self.z != ebene3.z:
                self.pos = self.pos + vector(0,20,-50)
                scene.center=self.pos
            elif taste == "s" and self.z != ebene1.z:
                self.pos = self.pos + vector(0,-20,50)
                scene.center=self.pos
            elif taste == " ":
                for a in range(5):
                    rate(30) 
                    self.y += 6
                    self.x += 6
                    scene.center=self.pos
                rate(20)
                for b in range(5):
                    rate(30)
                    self.y -= 6
                    self.x += 6
                    scene.center=self.pos
            

class hindernis(frame, Thread):
    def __init__(self, px=0, py=0, pz=0, x=0, y=0, z=0, farbe=color.white):
        frame.__init__(self)
        Thread.__init__(self)
        self.box = box(pos=(px,py,pz), size=(x,y,z), color = farbe)
    def run(self):
        self.hinderniserzeugen()
    def hinderniserzeugen(self):                                                                                            #
        rate(1)
        a = random.randint(0,2)
        hindernis = hindernis(px=random.randint(0,20)*50,py=a*20+35,pz=a*-50, x=50,y=50,z=50)                                #

        

class ebene(frame, Thread):
    def __init__(self, zahl=0, farbe=color.white):
        frame.__init__(self)
        Thread.__init__(self)
        self.ebene = box(frame = self, pos=(0,zahl*20,zahl*-50), size=(1000,20,50), color = farbe)
    def run(self):
        while True:
            rate(20)
            self.x += 10
            #STRECKE += 10                                                                                                   #
    

         
def gameover():
    label(pos=(0,50,0), text='Game Over')

figur1 = figur(g=1, posx=0, posy= 65, posz=0, farbe = color.red)                                                                                                                                        

ebene1 = ebene(zahl=0, farbe=color.white)
ebene2 = ebene(zahl=1, farbe=color.rgb_to_hsv((0.7,0.7,0.7)))
ebene3 = ebene(zahl=2, farbe=color.blue)



for x in range(5):
    a = random.randint(0,2)
    hindernis(px=random.randint(0,20)*50,py=a*20+35,pz=a*-50, x=50,y=50,z=50)

if __name__ == "__main__":
    ebene1.start()
    ebene2.start()
    ebene3.start()
    figur1.start()
    #hindernis1 = hindernis()
    #hindernis1.start()

Funktionsleiste