# on rajoute random
import pyxel, random

#ressource
class jeu:
    def __init__(self):
        pyxel.init(128,128,title="Race party")
        self.voiture_bleue_x = 55
        self.voiture_bleue_y = 75
        self.voiture_rouge_x = 75
        self.voiture_rouge_y = 75
        self.obstacle_liste = []
        self.compteur_bleu = 0
        self.compteur_rouge = 0
        pyxel.load("res.pyxres")
        pyxel.run(self.update,self.draw)

    def voiture_deplacement_bleue(self):
        if pyxel.btn(pyxel.KEY_RIGHT):
            if (self.voiture_bleue_x+16 < 120):                                 
                self.voiture_bleue_x+=1
        if pyxel.btn(pyxel.KEY_LEFT):
            if (self.voiture_bleue_x > 8):          
                self.voiture_bleue_x-=1
        if pyxel.btn(pyxel.KEY_DOWN):
            if (self.voiture_bleue_y+20 < 128):
                self.voiture_bleue_y+=1
        if pyxel.btn(pyxel.KEY_UP):
            if (self.voiture_bleue_y > 0):
                self.voiture_bleue_y-=1

    
    def voiture_deplacement_rouge(self):
        if pyxel.btn(pyxel.KEY_D):
            if (self.voiture_rouge_x+16 < 120):
                self.voiture_rouge_x+=1
        if pyxel.btn(pyxel.KEY_Q):
            if (self.voiture_rouge_x > 8):
                self.voiture_rouge_x-=1
        if pyxel.btn(pyxel.KEY_S):
            if (self.voiture_rouge_y+20 < 128):
                self.voiture_rouge_y+=1
        if pyxel.btn(pyxel.KEY_Z):
            if (self.voiture_rouge_y > 0):
                self.voiture_rouge_y-=1
    

    
    
    def obstacles(self):
      
        if (pyxel.frame_count % 45 == 0): #toutes les secondes ils se passe :
            self.obstacle_liste.append([random.randint(8, 100),-10])

        
        for obstacle in self.obstacle_liste:
            obstacle[1] += 1
            if  obstacle[1]>128:
                self.obstacle_liste.remove(obstacle)
         
           
        for obstacle in self.obstacle_liste:
            if obstacle[0] <= self.voiture_bleue_x+16 and obstacle[1] <= self.voiture_bleue_y+20 and obstacle[0]+20 >= self.voiture_bleue_x and obstacle[1] >= self.voiture_bleue_y:
                self.compteur_bleu+=1
                self.obstacle_liste.remove(obstacle)
                
            if obstacle[0] <= self.voiture_rouge_x+16 and obstacle[1] <= self.voiture_rouge_y+20 and obstacle[0]+20 >= self.voiture_rouge_x and obstacle[1] >= self.voiture_rouge_y:
                self.compteur_rouge+=1
                self.obstacle_liste.remove(obstacle)
                
    
        
        
    
    def update(self):
        self.voiture_deplacement_rouge()
        self.voiture_deplacement_bleue()
        self.obstacles()
        
    			
    

    
    def draw(self):
       
        pyxel.cls(0)
        pyxel.bltm(0,0,0,0,192- pyxel.frame_count % 192,128,128)
        pyxel.blt(self.voiture_bleue_x,self.voiture_bleue_y,0,0,8,16,20,2)
    

        pyxel.blt(self.voiture_rouge_x,self.voiture_rouge_y,0,16,8,16,20,2)
    
        
        for obstacle in self.obstacle_liste:
            pyxel.blt(obstacle[0], obstacle[1],0,0,32,20,16,1) 
        
        pyxel.text(0,5, 'accidents :'+ str(self.compteur_bleu), 5)
        pyxel.text(55,5, ''+  str(self.compteur_rouge),8)
    
jeu()