Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss19:erstes_pygame_simulation_alex

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

ss19:erstes_pygame_simulation_alex [2019/06/04 14:30]
alexanderdross angelegt
ss19:erstes_pygame_simulation_alex [2019/06/20 14:45] (aktuell)
alexanderdross
Zeile 1: Zeile 1:
 <​code>​ <​code>​
-import pygame 
 import random import random
 +import pygame
 +import time
 import math import math
 pygame.init() pygame.init()
-screen = pygame.display.set_mode((400,​ 300)) 
-done = False 
-is_blue = True 
-x = 30 
-y = 30 
-clock = pygame.time.Clock() 
-walls=[] 
  
-class Wall(object)+#Klasse Objekt. Zunächst für alle Objekte auf der Map 
-    ​size=5 + 
-    def __init__(self, ​pos): +class player
-        walls.append(self) + 
-        self.x=pos[0] +    ​#​Initialisiert den Spieler 
-        self.y=pos[1+ def __init__(self,​x,​y,​angle,​speed,​name): 
-        self.rect = pygame.Rect(pos[0]pos[1], self.size,​self.size) + self.x=x #x-Pos 
-animals=[] + self.y=y #y-Pos 
-class Creature(object):​ + self.size 5 #Größe 
-    size=5 + self.status = True #Aktiv oder nicht 
-    sight=5 + self.chunkpos ​= [] #Speichert die Position des Chunks 
-    food=0 + self.speed = 5 #​Geschwindigkeit 
-    ​veränderungx=0 + self.stamina = 250 #Ausdauer 
-    ​veränderungy=0 + self.angle = angle #​Laufwinkel ​        
-    def __init__(self,x,y,angle,speed): + self.sight = 10 #​Sichtweite 
-        ​animals.append(self) + self.rect=pygame.Rect(int(self.x),int(self.y),​self.size,​self.size)#Rechteck in Pygame ​       ​ 
-        self.x1=x + self.name=name #ID        ​ 
-        self.y1=y         + self.vx = 0#?? 
-        self.speed=5 + self.vy ​0 
-        self.stamina=250 + self.v ​False 
-        self.angle=angle + self.viewangle ​60 
-    def inrange(self): + self.objangle ​= 0 
-        self.rect=pygame.Rect(int(self.x1)-int(self.sight),int(self.y1)-int(self.sight),self.sight*2+self.size,self.sight*2+self.size+ self.runlength=[] 
-        if(self.rect.collidelist(walls)>-1):+ self.runangle=[] 
 +  
 +    ​#Löscht den Spieler 
 + def __del__(self):​ 
 +  
 + a=0 
 +  
 +  
 + def sightcheck(self,dist,alpha): 
 + self.objangle = alpha 
 + #​print(dist) 
 + if dist<​=self.sight:​ 
 + #​print(self.angle%360,alpha) 
 + if self.angle-self.viewangle<​0:​ 
 + if (self.angle%360-self.viewangle)+360 <= alpha or alpha <= self.angle+self.viewangle:​ 
 + self.v = True 
 + self.angle=alpha 
 + #​print("​2"​,self.v) 
 + elif self.angle-self.viewangle>​360
 + if (self.angle%360-self.viewangle)-360 <= alpha or alpha <= self.angle+self.viewangle:​ 
 + self.v = True 
 + #print(self.v
 + self.angle=alpha 
 + else: 
 + if self.angle%360-self.viewangle <= alpha <= self.angle+self.viewangle:​ 
 + self.v = True 
 + #​print(self.v) 
 + self.angle=alpha 
 +    #bewegt den Spieler 
 + def move(self):​ 
 + #if self.name == 0 : 
 + #self.x+=5 
 + #if self.name == 1 : 
 + #​ self.x-=5 
 + #if self.name == 2 : 
 + # self.y+=5 
 + #if self.name == 3 : 
 + #self.y-=5 
 + if self.== False: 
 + self.angle+=random.randint(-45,​45)%360 
 + self.speed=random.randint(0,​5) 
 + self.x+=self.speed*math.cos(self.angle/​180*math.pi) 
 + self.y+=self.speed*math.sin(self.angle/​180*math.pi
 + self.rect=pygame.Rect(int(self.x),int(self.y),self.size,self.size) 
 + pygame.draw.rect(screen,​ (255, 0, 0),self.rect) 
 + self.stamina-=1 
 + self.runlength.append(self.speed
 + self.runangle.append(self.angle)
   
-            ​self.veränderungx=walls[self.rect.collidelist(walls)].x-self.x1 + else: 
-            self.veränderungy=walls[self.rect.collidelist(walls)].y-self.y1 + self.speed=random.randint(0,5
-            #self.x1=walls[self.rect.collidelist(walls)].x + self.x+=self.speed*math.sin(self.angle/​180*math.pi) 
-            #self.y1=walls[self.rect.collidelist(walls)].y  + self.y+=self.speed*math.cos(self.angle/​180*math.pi) 
-i=0 + self.rect=pygame.Rect(int(self.x),int(self.y),self.size,self.size
-anzahlrect=150 + pygame.draw.rect(screen, (255, 0, 0),self.rect
-while(i<​anzahlrect)+ self.stamina-=1 
- x=random.randint(0,398+ self.runlength.append(self.speed
- y=random.randint(0,298) + self.runangle.append(self.angle)
- Wall((x,y)+
- i+=1 +
-j=0 +
-anzahlanimal=50 +
-while(j<​anzahlanimal): +
-    ​x=200 +
-    y=150 +
-    speed=5 +
-    angle=random.randint(0,360) +
-    Creature(x,​y,​angle,speed) +
-    j+=1+
  
-moveframes=5 +class object:
-while not done: +
-        clock.tick(50) +
-        for event in pygame.event.get():​ +
-                if event.type == pygame.QUIT:​ +
-                        done = True +
-        i=0 +
-        durchlaeufe=0 +
-        screen.fill((0,​100,​50)) +
-        while(i<​1):​ +
-             +
-            for animal in animals: ​   +
-                animal.angle=random.randint(animal.angle-45,​animal.angle+45) +
-                 +
-                #​if(moveframes==5):​ +
-                #    moveframes=0 +
-                if(durchlaeufe%5==0):​ +
-                     +
-                    x2=animal.x1+animal.speed*math.sin((animal.angle/​180)*math.pi) +
-                    y2=animal.y1+animal.speed*math.cos((animal.angle/​180)*math.pi) +
-                    animal.veränderungx=x2-animal.x1 +
-                    animal.veränderungy=y2-animal.y1 +
-                    animal.inrange() +
-                #​pygame.draw.line(screen,​(255,​0,​0),​(animal.x1,​animal.y1),​(x2,​y2)) +
-                animal.x1+=animal.veränderungx/​moveframes +
-                animal.y1+=animal.veränderungy/​moveframes +
-                #​pygame.draw.circle(screen,​(255,​0,​0),​(int(animal.x1),​int(animal.y1)),​5) +
-                arect=pygame.Rect(int(animal.x1),​int(animal.y1),​animal.size,​animal.size) +
-                if arect.collidelist(walls)>​=0:​ +
-                    animal.food+=1 +
-                    del(walls[arect.collidelist(walls)]) +
-                    animal.stamina+=50 +
-                    if(animal.food%2==0):​ +
-                        Creature(animal.x1,​y,​animal.angle,​animal.speed) +
-                            +
-                pygame.draw.rect(screen,​(255,​0,​0),​arect) +
-                animal.stamina-=animal.speed/​5 +
-            j=0 +
-            durchlaeufe+=1 ​   +
-            while j< len(animals):​ +
-                if(animals[j].stamina<​=0):​ +
-                    del(animals[j]) +
-                     +
-                j+=1      +
-              +
-            i+=1 +
-        for wall in walls: +
-            pygame.draw.rect(screen,​ (255, 0, 255), wall.rect)+
  
 +    #​Initialisiert den Spieler
 + def __init__(self,​x,​y,​sizex,​sizey,​name):​
 + self.x=x #x-Pos
 + self.y=y #y-Pos
 + self.status = True #Aktiv oder nicht
 + self.name = name #ID
 + self.chunkpos = [] #Speichert die Koordinaten des Chunks
 + self.size = 5 #Größe
 + self.rect = pygame.Rect(x,​ y, self.size,​self.size) #Rechteck in Pygame
 +
 +    #Löscht das Objekt
 + def __del__(self):​
 + a=0
 +
 +#Klasse Chunk
 +class chunk:
 + x = 0 #x-Position
 + y = 0 #y-Position
 + food=0 #???
 + length = 0 #​Länge(x-Richtung)
 + height = 0 #​Breite(y-Richtung
 + overlay = 0 #Wie stark sich die verschiedenen Chunks überlappen
 + name = 0 # ID
 +
 +    #​Initilisiert den Chunk
 + def __init__(self,​x,​y,​length,​height,​overlay,​name):​
 + self.x = x
 + self.y = y
 + self.length = length
 + self.height = height
 + self.overlay = overlay
 + self.objects = [] #Liste der festen Objekte
 + self.density = 0.7 #​Wahrscheinlichkeit für neue Objekte ​       ​
 + self.name = name
 +
 +    #Fügt der Objektliste ein neues Element hinzu
 + def newobj(self,​obj):​
 + self.objects.append(obj) ​
 +
 +    #Übergibt die maximale x-Position
 + def getendx(self):​
 + return self.x+self.length
 +
 +    #Übergibt die maximale y-Position
 + def getendy(self):​
 + return self.y+self.height
 +
 +    #löscht das Objekt
 + def __del__(self):​
 + a = 0
 +
 +    #generiert zufällig verteilte Objekte in dem Chunk
 + def generate(self,​numb,​length,​height,​name):​
 + for i in range(numb):​
 + if random.random()<​=self.density:​
 + self.objects.append(object(random.randint(self.x,​self.getendx()),​random.randint(self.y,​self.getendy()),​random.randint(0,​length),​random.randint(0,​height),​name))
 +
 +#Gesamte Map
 +class map:
 + objects = 0
 + worldsize = 0 
 + chunksize = 0
 + overlay = 0
 +
 +    #​Initilisiert die Map
 +    #​def__init__(Liste der Objekte,​Liste der Spieler,​Gesamtgröße der Map,Größe der Chunks)
 + def __init__(self,​listobj,​playerlist,​size,​sizechunk):​
 + self.objects = listobj
 + self.worldsize = size #Worldsize
 + self.chunksize = sizechunk #Chunksize wird später static
 + self.overlay = sizechunk*0.1 #Overlay der Chunks(10%)
 + self.player = playerlist #​Spielerliste
 + self.faktor = int(size/​sizechunk) #​Faktor(für einige Berechnungen)
 + self.maplist = [] #2-Dim Liste der Chunks
 + self.initiate()
 + self.playerinitiate()
 +
 +    #​Initilisiert die Grundmap, sowie weist jedem Chunk die Objekte hinzu
 + def initiate(self):​
 + preobject = self.objects.copy()
 + factor = int(self.worldsize/​self.chunksize)
 + print(factor)
 + R = 0
 + #​Durchläuft die y-Richtung der Chunks
 + for i in range(factor):​
 + line = []
 +
 +
 + #​Durchläuft die x-Richtung der Chunks
 + for e in range(factor): ​
 + line.append(chunk(self.chunksize*e,​self.chunksize*i,​self.chunksize,​self.chunksize,​self.overlay,​e+i*factor))
 + #​print("​(",​a.x,"/",​a.y,"​) - ","​(",​a.getendx(),"/",​a.getendy(),"​)"​)
 + #​Durchläuft alle festen Objekte
 + for qq in range(len(preobject)):​
 +
 + #Wenn die Objekte in einem bestimmten Chunk sind, werden diese in dem Chunk gespeichert
 +
 + if ​ (line[e].x) <= preobject[qq].x <= (line[e].getendx()) and (line[e].y) <= preobject[qq].y <= (line[e].getendy()):​
 + R+=1
 + line[e].newobj(preobject[qq])
 + preobject[qq].status = False
 +
 + #​Entfernt alle Objekteaus der Liste, die in einem Chunk sind
 + for qq in range(len(preobject)):​
 + k = len(preobject)
 + J = True
 + for qqq in range(len(preobject)):​
 + k-=1
 + if preobject[qqq].status == False:
 + del preobject[qqq]
 + break
 + if k==0:
 + J = False
 + break
 + if J == False:
 + break
 +
 + self.maplist.append(line)
 + del line
 + print("​Objects ready!"​)
 + print(""​)
 +
 +    #weist jedem Spieler den Chunk hinzu in welchem dieser sich befindet
 + def playerinitiate(self):​
 + #​Durchläuft die Liste der Player
 + for q in range(len(self.player)):​
 + #​Durchläuft die x-Richtung der Chunks
 + for i in range(len(self.maplist)):​
 + qq = False
 + #​Durchläuft die y-Richtung der Chunks
 + for e in range(len(self.maplist[i])):​
 + if self.maplist[i][e].x <= self.player[q].x <= self.maplist[i][e].getendx() and self.maplist[i][e].y <= self.player[q].y <= self.maplist[i][e].getendy():​
 + self.player[q].chunkpos.append(i)
 + self.player[q].chunkpos.append(e)
 + qq = True
 + break
 + if qq == True:
 + break
 + print("​Player Ready!"​)
 +
 +    #​überprüft die Chunkposition des Spielers
 + def playerupdate(self):​
 +
 + #​Durchläuft die Liste der Player
 + for q in range(len(self.player)):​
 +
 +            #​Chunkposition in der Liste
 + i = self.player[q].chunkpos[0]
 + e = self.player[q].chunkpos[1]
 + #Wenn der Player immernoch im gleichen Chunk ist, passiert nichts,...
 + if self.maplist[i][e].x <= self.player[q].x <= self.maplist[i][e].getendx() and self.maplist[i][e].y <= self.player[q].y <= self.maplist[i][e].getendy():​
 + a=0
 + #​...sonst berechnet er den Chunk.
 + else:
 + x = self.player[q].x #x-Pos des Spielers
 + y = self.player[q].y #y-Pos des Spielers
 + x0 = self.maplist[0][0].x #kleinste x-Pos der Chunks
 + y0 = self.maplist[0][0].y #kleinste y-Pos der Chunks
 + xn = self.maplist[0][len(self.maplist[0])-1].getendx() #größte x-Pos der Chunks
 + yn = self.maplist[len(self.maplist)-1][0].getendy() #größte x-Pos der Chunks
 +
 +                #Falls der Spieler außerhalb der Map ist, wird diese erweitert.
 + if x < x0:
 + #​self.map_increase(q)
 + x = int(self.worldsize/​2)
 + x0 = self.maplist[0][0].x
 + elif xn < x:
 + #​self.map_increase(q)
 + x = int(self.worldsize/​2)
 + xn = self.maplist[0][len(self.maplist[0])-1].x
 + if y < y0:                    ​
 + #​self.map_increase(q)
 + y = int(self.worldsize/​2)
 + y0 = self.maplist[0][0].y
 + elif yn < y:
 + #​self.map_increase(q)
 + y = int(self.worldsize/​2)
 + yn = self.maplist[len(self.maplist)-1][0].y
 +
 + x_neu=int(x/​10) #neue x-Chunkposition
 + y_neu=int(y/​10) #neue y-Chunkposition
 +                #Da sich die Map auch in den negativen Bereich erweitert, erhalten alle Chunks einen Shift.
 + if x<0:
 + self.player[q].chunkpos[1] = x_neu-1-int(x0/​10)
 + elif x>=0:
 + self.player[q].chunkpos[1] = x_neu-1-int(x0/​10)
 + if y<0:
 + self.player[q].chunkpos[0] = y_neu-1-int(y0/​10)
 + elif y>=0:
 + self.player[q].chunkpos[0] = y_neu-1-int(y0/​10)
 +
 +    #​Hitboxberechung der Objekte und den Spielern
 + def hitbox(self):​
 + #​Durchläuft jeden Spieler
 + for i in range(len(self.player)):​
 +            #​Chunkposition in der Liste
 + q = self.player[i].chunkpos[0]
 + w = self.player[i].chunkpos[1]
 +            #Falls die Liste leer ist
             ​             ​
-        ​pygame.display.flip()+ 
 + #​print(q,​w) 
 + if not self.maplist[q][w].objects:​ 
 + a = 0 
 + else: 
 + a=len(self.maplist[q][w].objects) 
 +     #​Durchläuft die Liste der Objekte im Chunk mit den der Spieler kollidieren kann 
 + e=0 
 + while e<​(len(self.maplist[q][w].objects)):​ 
 + dist = ((self.player[i].x-self.maplist[q][w].objects[e].x)**2+(self.player[i].y-self.maplist[q][w].objects[e].y)**2)**(1/​2) 
 + #​print(dist) 
 + #​print((self.player[i].y-self.maplist[q][w].objects[e].y)) 
 + alpha = math.acos(((self.player[i].y-self.maplist[q][w].objects[e].y)/​dist)) 
 + self.player[i].sightcheck(dist,​alpha) 
 + if self.player[i].rect.collidelist(self.maplist[q][w].objects)>​-1:​ 
 + print("​Treffer!"​) 
 + print("​Position:​ (",​self.player[i].x,"/",​self.player[i].y,"​)"​)  
 + del self.maplist[q][w].objects[e] 
 + #​print(self.player[i].v) 
 + self.player[i].v = False 
 + e-=1 
 + self.player[i].stamina+=250 
 + e+=1 
 +    #Gibt die Liste der Spieler aus 
 + def showp(self):​ 
 + for i in range(len(self.player)):​ 
 + q = self.player[i].chunkpos[0] 
 + w = self.player[i].chunkpos[1] 
 + a=len(self.maplist[q][w].objects) 
 + #​Durchläuft die Liste der Objekte im Chunk mit den der Spieler kollidieren kann 
 + print("​Player",​i) 
 + #​print("​Anzahl der Objekte:",​len(self.maplist[q][w].objects)) 
 + for t in range(len(self.maplist[q][w].objects)):​  
 + #Gibt die Koordinaten des Objektes aus 
 + print("​(",​self.maplist[q][w].objects[t].x,"/",​self.maplist[q][w].objects[t].y,"​)"​) 
 + print("​-----"​) 
 + 
 +    #Gibt die Liste der Objekte aus 
 + def showc(self):​ 
 + #​Durchläuft die Liste der Chunks 
 + print(len(self.maplist)) 
 + for i in range(len(self.maplist)):​ 
 + print(len(self.maplist[i])) 
 + for e in range(len(self.maplist[i])):​ 
 + #Gibt die Koordinaten des Objektes aus 
 + print("​(",​self.maplist[i][e].x,"/",​self.maplist[i][e].y,"​) - ","​(",​self.maplist[i][e].getendx(),"/",​self.maplist[i][e].getendy(),"​)"​) 
 + print(len(self.maplist[i][e].objects)) 
 + 
 +    #Zeichnet alle Objekte auf dem Hauptbildschirm  
 + def drawobj(self):​ 
 + for q in self.maplist:​ 
 + for w in q: 
 + for i in w.objects:​ 
 + pygame.draw.rect(screen,​ (255, 0, 255), i.rect) 
 + 
 +    #Zeichnet die Chunks in einem weiteren Bildschirm 
 + def drawchunks(self):​ 
 + for q in self.maplist:​ 
 + for w in q: 
 + pygame.draw.rect(screen,​ (255, 0, 255), i.rect) 
 + 
 +    #erweitert die Karte falls ein Spieler außerhalb der derzeitigen Karte ist 
 + def map_increase(self,​pos):​ 
 + 
 +        #erweitert die Karte nach links 
 + if (self.player[pos].x<​self.maplist[0][0].x):​ 
 + #​print(self.player[pos].x,"<",​self.maplist[0][0].x) 
 + i = 0 
 + k = self.maplist[0][0].x-self.chunksize 
 + l = self.maplist[0][0].y 
 + for list in self.maplist:​ 
 + list.insert(0,​chunk(k,​l+i*self.chunksize,​self.chunksize,​self.chunksize,​self.overlay,​5))#​neuer Chunk 
 + list[0].generate(2,​random.randint(0,​5),​random.randint(0,​5),​len(self.objects)) #chunk generiert 
 + value = True 
 + print("​Map wird nach links erweitert."​) 
 + 
 +        #erweitert die Karte nach rechts 
 + if (self.player[pos].x>​self.maplist[0][len(self.maplist[0])-1].getendx()):​ 
 + #​print(self.player[pos].x,">",​self.maplist[0][len(self.maplist[0])-1].getendx()) 
 + i = 0 
 + k = self.maplist[0][len(self.maplist[0])-1].x+self.chunksize 
 + l = self.maplist[0][0].y 
 + for list in self.maplist:​ 
 + list.append(chunk(k,​l+i*self.chunksize,​self.chunksize,​self.chunksize,​self.overlay,​5)) 
 + list[len(list)-1].generate(2,​random.randint(0,​5),​random.randint(0,​5),​len(self.objects)) 
 + i+=1 
 + value = True 
 + print("​Map wird nach rechts erweitert."​) 
 + 
 +        #erweitert die Karte nach unten 
 + if (self.player[pos].y<​self.maplist[0][0].y):​ 
 + #​print(self.player[pos].y,"<",​self.maplist[0][0].y) 
 + i = 0 
 + k = self.maplist[0][0].x 
 + l = self.maplist[0][0].y-self.chunksize 
 + list = [] 
 + for i in range(len(self.maplist[0])):​ 
 + list.append(chunk(k+i*self.chunksize,​l,​self.chunksize,​self.chunksize,​self.overlay,​5))#​neuer Chunk 
 + list[i].generate(2,​random.randint(0,​5),​random.randint(0,​5),​len(self.objects)) 
 + value = True 
 + self.maplist.insert(0,​list) 
 + print("​Map wird nach unten erweitert."​) 
 + 
 +        #erweitert die Karte nach oben 
 + if (self.player[pos].y>​self.maplist[len(self.maplist)-1][len(self.maplist[len(self.maplist)-1])-1].getendy()):​ 
 + #​print(self.player[pos].y,">",​self.maplist[len(self.maplist)-1][len(self.maplist[len(self.maplist)-1])-1].getendy()) 
 + i = 0 
 + k = self.maplist[0][0].x 
 + l = self.maplist[len(self.maplist)-1][len(self.maplist[len(self.maplist)-1])-1].y+self.chunksize 
 + list = [] 
 + for i in range(len(self.maplist[len(self.maplist)-1])):​ 
 + list.append(chunk(k+i*self.chunksize,​l,​self.chunksize,​self.chunksize,​self.overlay,​5)) 
 + list[i].generate(2,​random.randint(0,​5),​random.randint(0,​5),​len(self.objects)) 
 + self.maplist.append(list) 
 + value = True 
 + print("​Map wird nach oben erweitert."​) 
 + 
 +mapsize=1000 #Mapsize 
 +listobj = [] #​Objektliste 
 +playerl = [] #​Spielerliste 
 + 
 +clock = pygame.time.Clock() 
 + 
 + 
 + 
 +for i in range(500):#​erstellt X Spieler 
 + playerl.append(player(random.randint(0,​mapsize),​random.randint(0,​mapsize),​0,​0,​i)) 
 + 
 +for i in range(500):#​erstellt Y Objekte(Futter) 
 + listobj.append(object(random.randint(0,​mapsize),​random.randint(0,​mapsize),​random.randint(0,​5),​random.randint(0,​5),​i)) 
 + 
 +listobj.sort(key=lambda k: k.x, reverse = True) #sortiert die Objekte 
 + 
 +map01 = map(listobj,​playerl,​mapsize,​int(0.01*mapsize)) #erstellt die Map 
 + 
 +screen = pygame.display.set_mode((500,​500)) #erstellt den Hauptbildschirm 
 + 
 +moveframes = 5 #Anzahl der Frames 
 +i=0 #Zählt die Schleifendurchläufe 
 +done = False #Falls True beendet das Programm 
 + 
 +while not done: 
 + clock.tick(50) #Für größere Pausen zwischen den Runden 
 +     
 +    #Beendet das Programm falls ... 
 + for event in pygame.event.get():​ 
 + if event.type == pygame.QUIT:​ 
 + done =True 
 + 
 + screen.fill((255,​255,​255)) #Setzt die Hintergrundfarbe 
 + 
 +    #Lässt die Spieler einen move machen oder löscht diese 
 + e = 0 
 + while e <​len(map01.player) and e>=0: 
 + if map01.player[e].stamina>​0:​ 
 + map01.player[e].move() 
 + e+=1 
 + else: 
 + del map01.player[e] 
 + e-=1 
 + 
 + 
 + print("​------------"​) 
 +    #Falls nur noch ein Spieler existiert, wird seine Lebensdauer ausgegeben 
 + if len(map01.player)==1:​ 
 + print("​Stamina:",​ map01.player[0].stamina) 
 + time.sleep(0.1) 
 +    #Bei keine Spieler wird das Programm beendet 
 + if len(map01.player)==0:​ 
 + break 
 +        #Für die Map reichen diese drei Funktionen 
 + map01.playerupdate() #​Überprüft alle Spieler auf ihren Chunk 
 + map01.hitbox() #​Überprüft die Hitbox zu allen Objekten in diesem Chunk 
 + map01.drawobj() #Zeichnet alle Objekte 
 + 
 + pygame.display.flip() 
 + 
 + print("​Runde:​ ",i) #Gibt die Rundenanzahl aus 
 + i+=1 
 + 
 + 
 +print("​Finished"​) #Programm ist beendet 
 </​code>​ </​code>​
ss19/erstes_pygame_simulation_alex.1559651449.txt.gz · Zuletzt geändert: 2019/06/04 14:30 von alexanderdross