Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MiniGames():
- def __init__(self, source=None):
- self.timeleft = 60
- self.scorepomme = 0
- self.multi = 0 #Multiplicateur
- self.varm = 1 #Variation du multiplicateur en fonction de la boule
- self.map = [] #Stockage des timers et des pos self.x
- self.cont = [] #Stockage des boules
- self.sec = 0 #Compteur de frame (taiko joueur 1 + catch)
- self.sec2 = 0 #Compteur de frame (taiko joueur 2)
- #taiko
- self.vitesse = 2 #Vitesse notes J1
- self.vitesse2 = 2 #Vitesse notes J2
- self.banana = 0 #Evenement banane J1
- self.banana2 = 0 #Evenement banade J2
- self.palier = 20 #Différences objectifs
- self.player = 1 #Nombre de joueur taiko
- self.l = [] #Contient les notes J1
- self.l2 = [] #Contient les notes J2
- self.xm = (largeurf)+30
- self.ym = (int(hauteurf/3))*2
- self.score = 0 #Score taiko
- self.objective = 20 #Objectif initial (+palier)
- self.timer = 15 #Temps restant palier 1
- #pomme
- self.x = 1000 #X RECT 1
- self.x2 = 100 #X RECT 2
- self.y = 600 #Y RECT 1
- self.y2 = 600 #Y RECT 2
- self.xmin = 0
- self.xpomme = 300 #Coordonnée X de la pomme
- self.seconde = 0 #Compteur de secondes
- self.divsec = 2 #Fréquence des pommes
- self.rip = 0 #Nombre de fails
- self.limiterip = 20 #Limite de fail (40 si J2)
- #game
- self.game = 1 #Condition principale
- self.taiko = 0 #Condition Taiko
- self.pomme = 0 #Condition Catch
- self.twop = 0 #Deux joueur
- self.choix = 0 #Menu choix jeu
- self.menu = 1 #Menu principal
- self.notreturn = True
- self.lock = False #Le joueur a-t-il choisi le jeu ?
- self.source = source
- self.taikoclick = 0 #Choix taiko
- self.pommeclick = 0 #Choix catch
- self.font = pygame.font.SysFont('Impact',100) #Police grande
- self.fontmin = pygame.font.SysFont('Impact',30) #Police petite
- self.taiko1p = pygame.image.load('texture\\screenshot\\taiko1p.png') #Image taiko 1P
- self.taiko2p = pygame.image.load('texture\\screenshot\\taiko2p.png') #Image catch 2P
- self.catch1p = pygame.image.load('texture\\screenshot\\catch1p.png') #Image taiko 1P
- self.catch2p = pygame.image.load('texture\\screenshot\\catch2p.png') #Image catch 2P
- self.color = None #Couleur note J1
- self.color2 = None #Couleur note J2
- self.colorpomme = None #Couleur de la pomme
- self.rad = None #Rayon pomme
- self.sens = 1 #Direction du x
- self.BLACK = 0,0,0 #Couleurs
- self.RED = 255,0,0
- self.GREEN = 0,255,0
- self.BLUE = 0,0,255
- self.YELLOW = 255,255,0
- self.CYAN = 0,255,255
- self.MAGENTA = 255,0,255
- self.WHITE = 255,255,255
- self.GREY = 155,155,155
- #Fonction taiko
- #Texte affichage du score
- def scoreText(self):
- pygame.draw.rect(fen1,self.BLACK,((20,20),(100,40)))
- scoretextgame = self.fontmin.render(str(self.score), 0, self.GREEN)
- fen1.blit(scoretextgame,(20,20))
- #Texte affichage de l'objectif
- def objText(self):
- pygame.draw.rect(fen1,self.BLACK,((20,220),(100,40)))
- objtextgame = self.fontmin.render(str(self.objective), 0, self.GREEN)
- fen1.blit(objtextgame,(20,220))
- #Texte affichage du timer
- def timerText(self):
- pygame.draw.rect(fen1,self.BLACK,((20,120),(100,40)))
- timertextgame = self.fontmin.render(str(self.timer), 0, self.GREEN)
- fen1.blit(timertextgame,(20,120))
- #Fonctions pomme
- #Dessine la plateforme J1
- def rect(self):
- pygame.draw.rect(fen1,self.RED,((self.x,self.y),(100,10)))
- #Dessine la plateforme J2
- def rect2(self):
- pygame.draw.rect(fen1,self.GREEN,((self.x2,self.y2),(100,10)))
- #Mouvement des barres (bonus vitesse = LSHIFT / RSHIFT)
- def movebar(self):
- pygame.draw.rect(fen1,self.BLACK,((self.x,self.y),(100,10)))
- pygame.draw.rect(fen1,self.BLACK,((self.x2,self.y2),(100,10)))
- if pygame.key.get_pressed()[K_LSHIFT]:
- # Shift Gauche préssé = bonus de self.vitesse
- if pygame.key.get_pressed()[K_d] and self.x >= self.xmin:
- self.x -= 10
- if pygame.key.get_pressed()[K_f] and self.x+100 <= largeurf:
- self.x += 10
- if pygame.key.get_pressed()[K_RSHIFT]:
- # Shift Droit préssé = bonus de self.vitesse
- if pygame.key.get_pressed()[K_j] and self.x2 >= self.xmin:
- self.x2 -= 10
- if pygame.key.get_pressed()[K_k] and self.x2+100 <= largeurf:
- self.x2 += 10
- if pygame.key.get_pressed()[K_d] and self.x >= self.xmin:
- # Déplacement normal
- self.x -= 10
- if pygame.key.get_pressed()[K_f] and self.x+100 <= largeurf:
- self.x += 10
- if pygame.key.get_pressed()[K_j] and self.x2 >= self.xmin:
- self.x2 -= 10
- if pygame.key.get_pressed()[K_k] and self.x2+100 <= largeurf:
- self.x2 += 10
- def scoretextpomme(self):
- #Texte affichage score pomme
- pygame.draw.rect(fen1,self.BLACK,((1050,20),(100,40)))
- scorepommetext = self.fontmin.render(str(self.scorepomme), 0, self.GREEN)
- fen1.blit(scorepommetext,(1050,20))
- def failtext(self):
- #Texte affichage des fails
- pygame.draw.rect(fen1,self.BLACK,((1050,60),(100,100)))
- failpommetext = self.fontmin.render(str(self.rip), 0, self.RED)
- fen1.blit(failpommetext,(1050,60))
- def multitext(self):
- #Texte affichage du multiplicateur
- pygame.draw.rect(fen1,self.BLACK,((1000,100),(200,50)))
- multiplicateurtext = self.fontmin.render('combo *' + str(self.multi), 0, self.YELLOW)
- fen1.blit(multiplicateurtext,(1000,100))
- #Boucle principale
- def run(self):
- while self.game:
- #Menu
- while self.menu:
- fen1.fill(self.BLACK)
- xmouse, ymouse = pygame.mouse.get_pos()
- if self.choix == 0:
- #Si on est pas dans le menu choix
- #Quand un élément est cliquable, on met une condition pour savoir si la souris est sur l'élément
- #Texte affichage "Jouer"
- if (xmouse >= (int(largeurf/2)-100) and xmouse <= (int(largeurf/2)+120)) and (ymouse >= (int(hauteurf/3)-80) and ymouse <= (int(hauteurf/3))):
- jouertext = self.font.render('Jouer', 0, self.CYAN)
- fen1.blit(jouertext,(int(largeurf/2)-100,int(hauteurf/3)-100))
- else:
- jouertext = self.font.render('Jouer', 0, self.WHITE)
- fen1.blit(jouertext,(int(largeurf/2)-100,int(hauteurf/3)-100))
- #Texte affichage "Players"
- playertext = self.font.render('Players:', 0, self.WHITE)
- fen1.blit(playertext,(int(largeurf/2)-250,(int(hauteurf/3)*2)-100))
- #Texte affichage "Quitter"
- if (xmouse >= 0 and xmouse <= 85) and (ymouse >= 0 and ymouse <= 35):
- quittext = self.fontmin.render('Quitter', 0, self.CYAN)
- fen1.blit(quittext,(0,0))
- else:
- quittext = self.fontmin.render('Quitter', 0, self.WHITE)
- fen1.blit(quittext,(0,0))
- #Texte affichage "Nombre de joueur"
- nbplayertext = self.font.render(str(self.player), 0, self.WHITE)
- fen1.blit(nbplayertext,(int(largeurf/2)+100,(int(hauteurf/3)*2)-100))
- #Texte affichage "Flèche pour changer le nb de joueur"
- if (xmouse >= (int(largeurf/2)+160) and xmouse <= (int(largeurf/2)+220)) and (ymouse >= ((int(hauteurf/3)*2)-80) and ymouse <= (int(hauteurf)-240)):
- flechetext = self.font.render('>', 0, self.CYAN)
- fen1.blit(flechetext,(int(largeurf/2)+160,(int(hauteurf/3)*2)-100))
- else:
- flechetext = self.font.render('>', 0, self.WHITE)
- fen1.blit(flechetext,(int(largeurf/2)+160,(int(hauteurf/3)*2)-100))
- #CHOIX
- elif self.choix == 1:
- #Si menu de choix
- #Texte affichage "Taiko"
- if self.taikoclick == 0:
- if (xmouse >= (int(largeurf/3)) and xmouse <= (int(largeurf/3)) + 80) and (ymouse >= (int(hauteurf/3)*2)-100 and ymouse <= (int(hauteurf/3)*2)-65):
- playtaikotext = self.fontmin.render("TAIKO", 0, self.CYAN)
- fen1.blit(playtaikotext,(int(largeurf/3),(int(hauteurf/3)*2)-100))
- else:
- playtaikotext = self.fontmin.render("TAIKO", 0, self.WHITE)
- fen1.blit(playtaikotext,(int(largeurf/3),(int(hauteurf/3)*2)-100))
- else:
- playtaikotext = self.fontmin.render("TAIKO", 0, self.CYAN)
- fen1.blit(playtaikotext,(int(largeurf/3),(int(hauteurf/3)*2)-100))
- #Texte affichage "Catch"
- if self.pommeclick == 0:
- if (xmouse >= (int(largeurf/3)*2) and xmouse <= (int(largeurf/3)*2) + 80) and (ymouse >= (int(hauteurf/3)*2)-100 and ymouse <= (int(hauteurf/3)*2)-65):
- playpommetext = self.fontmin.render("CATCH", 0, self.CYAN)
- fen1.blit(playpommetext,(int((largeurf/3)*2),(int(hauteurf/3)*2)-100))
- else:
- playpommetext = self.fontmin.render("CATCH", 0, self.WHITE)
- fen1.blit(playpommetext,(int((largeurf/3)*2),(int(hauteurf/3)*2)-100))
- else:
- playpommetext = self.fontmin.render("CATCH", 0, self.CYAN)
- fen1.blit(playpommetext,(int((largeurf/3)*2),(int(hauteurf/3)*2)-100))
- #Texte affichage "Jouer"
- if self.lock:
- if (xmouse >= (int(largeurf/2)-90) and xmouse <= (int(largeurf/2)+145) and (ymouse >= (int(hauteurf/3)*2)-30 and ymouse <= (int(hauteurf/3)*2)+55)):
- playplaytext = self.font.render("JOUER", 0, self.CYAN)
- fen1.blit(playplaytext,(int(largeurf/2)-90,(int(hauteurf/3)*2)-50))
- else:
- playplaytext = self.font.render("JOUER", 0, self.WHITE)
- fen1.blit(playplaytext,(int(largeurf/2)-90,(int(hauteurf/3)*2)-50))
- else:
- playplaytext = self.font.render("JOUER", 0, self.GREY)
- fen1.blit(playplaytext,(int(largeurf/2)-90,(int(hauteurf/3)*2)-50))
- #Texte affichage "Retour"
- if (xmouse >= 0 and xmouse <= 85) and (ymouse >= 0 and ymouse <= 35):
- retourplaytext = self.fontmin.render('Retour', 0, self.CYAN)
- fen1.blit(retourplaytext,(0,0))
- else:
- retourplaytext = self.fontmin.render('Retour', 0, self.WHITE)
- fen1.blit(retourplaytext,(0,0))
- #Affichage Images
- pygame.draw.rect(fen1,self.WHITE,((310,int(hauteurf/2)-160),(260,160)))
- pygame.draw.rect(fen1,self.WHITE,((710,int(hauteurf/2)-160),(260,160)))
- if self.player == 1:
- fen1.blit(self.taiko1p, (320,int(hauteurf/2)-150))
- self.taiko1p = pygame.transform.scale(self.taiko1p, (240,140))
- fen1.blit(self.catch1p, (720,int(hauteurf/2)-150))
- self.catch1p = pygame.transform.scale(self.catch1p, (240,140))
- else:
- fen1.blit(self.taiko2p, (320,int(hauteurf/2)-150))
- self.taiko2p = pygame.transform.scale(self.taiko2p, (240,140))
- fen1.blit(self.catch2p, (720,int(hauteurf/2)-150))
- self.catch2p = pygame.transform.scale(self.catch2p, (240,140))
- #CLICK EVENTS
- for event in pygame.event.get():
- if event.type == MOUSEBUTTONDOWN:
- if self.choix == 0:
- #Evenement de clic "Jouer" menu principal
- if event.button == 1 and (xmouse >= (int(largeurf/2)-100) and xmouse <= (int(largeurf/2)+120)) and (ymouse >= (int(hauteurf/3)-80) and ymouse <= (int(hauteurf/3))):
- fen1.fill(self.BLACK)
- self.choix = 1
- #Evenement de clic "NB joueur"
- elif event.button == 1 and (xmouse >= (int(largeurf/2)+160) and xmouse <= (int(largeurf/2)+220)) and (ymouse >= (int(hauteurf/3)*2)-80) and (ymouse <= (int(hauteurf)-240)):
- if self.player == 1:
- self.player = 2
- self.twop = 1
- elif self.player == 2:
- self.player = 1
- self.twop = 0
- #Evenement de clic "Quitter"
- elif event.button == 1 and (xmouse >= 0 and xmouse <= 85) and (ymouse >= 0 and ymouse <= 35):
- fen1.fill(self.BLACK)
- self.menu = 0
- self.game = 0
- if self.source != None:
- if self.source.__class__ == Adventure and self.score >= 0:
- Adventure.updateLevel(self.source)
- elif self.choix == 1:
- if event.button == 1 and (xmouse >= 0 and xmouse <= 85) and (ymouse >= 0 and ymouse <= 35):
- fen1.fill(self.BLACK)
- self.choix = 0
- self.taikoclick = 0
- self.pommeclick = 0
- self.lock = False
- #Evenement de clic "Taiko"
- elif event.button == 1 and ((xmouse >= (int(largeurf/3)) and xmouse <= (int(largeurf/3)) + 80) and (ymouse >= (int(hauteurf/3)*2)-100 and ymouse <= (int(hauteurf/3)*2)-65) or (xmouse >= 310 and xmouse <= 570 and ymouse >= int(hauteurf/2)-160 and ymouse <= int(hauteurf/2))):
- self.taikoclick = 1
- self.pommeclick = 0
- self.lock = True
- #Evenement de clic "Catch"
- elif event.button == 1 and ((xmouse >= (int(largeurf/3)*2) and xmouse <= (int(largeurf/3)*2) + 80) and (ymouse >= (int(hauteurf/3)*2)-100 and ymouse <= (int(hauteurf/3)*2)-65) or (xmouse >= 710 and xmouse <= 970 and ymouse >= int(hauteurf/2)-160 and ymouse <= int(hauteurf/2))):
- self.pommeclick = 1
- self.taikoclick = 0
- self.lock = True
- #Evenement de clic "Jouer" menu choix
- elif event.button == 1 and (xmouse >= (int(largeurf/2)-90) and xmouse <= (int(largeurf/2)+145) and (ymouse >= (int(hauteurf/3)*2)-30 and ymouse <= (int(hauteurf/3)*2)+55)):
- if self.pommeclick == 1:
- fen1.fill(self.BLACK)
- self.menu = 0
- self.choix = 0
- self.pomme = 1
- elif self.taikoclick == 1:
- fen1.fill(self.BLACK)
- self.menu = 0
- self.choix = 0
- self.taiko = 1
- else:
- self.notreturn = False
- if self.notreturn:
- # # # # # # self.choix = 0
- self.taikoclick = 0
- self.pommeclick = 0
- self.lock = False
- #Evenement de clic "Quitter"
- elif event.type == pygame.QUIT:
- self.taiko = 0
- self.pomme = 0
- self.menu = 0
- self.game = 0
- pygame.display.update()
- #Preparation Taiko (affichage cercles)
- fen1.fill(self.BLACK)
- if self.taiko == 1:
- pygame.draw.circle(fen1,self.WHITE,(int(largeurf/3),int(hauteurf/3)),50)
- pygame.draw.circle(fen1,self.BLACK,(int(largeurf/3),int(hauteurf/3)),33)
- pygame.draw.circle(fen1,self.WHITE,(int(largeurf/3),int(hauteurf/3)),30)
- pygame.draw.circle(fen1,self.RED,(self.xm,self.ym),20)
- #si 2joueurs
- if self.twop == 1:
- pygame.draw.circle(fen1,self.WHITE,(int(largeurf/3),int(hauteurf/3)*2),50)
- pygame.draw.circle(fen1,self.BLACK,(int(largeurf/3),int(hauteurf/3)*2),33)
- pygame.draw.circle(fen1,self.WHITE,(int(largeurf/3),int(hauteurf/3)*2),30)
- pygame.draw.circle(fen1,self.RED,(self.xm,self.ym),20)
- self.palier = 40
- self.objective = self.palier
- #Preparation Catch (affichage barres)
- fen1.fill(self.BLACK)
- if self.pomme == 1:
- MiniGames.movebar(self)
- MiniGames.rect(self)
- self.divsec = 2
- if self.twop == 1:
- MiniGames.rect2(self)
- self.divsec = 4
- self.limiterip = 40
- #Boucle taiko
- while self.taiko:
- xmouse, ymouse = pygame.mouse.get_pos()
- current.FPSclock.tick(current.FPS)
- self.sec += 1
- self.sec2 += 1
- if self.sec%(current.FPS/self.vitesse) == 0:
- colordm = rdm.randint(1,2)
- self.banana = rdm.randint(1,20)
- if self.banana == 20:
- self.color = self.YELLOW
- else:
- if colordm == 1:
- self.color = self.BLUE
- elif colordm == 2:
- self.color = self.RED
- self.vitesse = rdm.randint(2,4)
- self.l.append(Note(self.color,self))
- if self.sec%current.FPS == 0:
- self.timer -= 1
- if self.timer < 0 and self.score <= self.objective:
- fen1.fill(self.BLACK)
- self.taiko = 0
- self.menu = 1
- self.timer = 15
- self.score = 0
- elif self.score > self.objective:
- self.timer = 10
- self.objective += self.palier
- for a in self.l:
- Note.boule(a)
- Note.move(a)
- Note.detecBlue(a)
- Note.detecRed(a)
- Note.detecBanana(a)
- Note.fail(a)
- if self.twop == 1:
- if self.sec2%(current.FPS/self.vitesse2) == 0:
- colordm2 = rdm.randint(1,2)
- self.banana2 = rdm.randint(1,20)
- if self.banana2 == 20:
- self.color2 = self.YELLOW
- else:
- if colordm2 == 1:
- self.color2 = self.BLUE
- elif colordm2 == 2:
- self.color2 = self.RED
- self.vitesse2 = rdm.randint(2,4)
- self.l2.append(Note2(self.color2,self))
- for a2 in self.l2:
- Note2.boule(a2)
- Note2.move(a2)
- Note2.detecBlue(a2)
- Note2.detecRed(a2)
- Note2.detecBanana(a2)
- Note2.fail(a2)
- MiniGames.scoreText(self)
- MiniGames.timerText(self)
- MiniGames.objText(self)
- pygame.display.update()
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- self.taiko = 0
- self.game = 0
- #boucle pomme
- while self.pomme :
- current.FPSclock.tick(current.FPS)
- MiniGames.movebar(self)
- MiniGames.rect(self)
- self.divsec = 2
- if self.twop == 1:
- MiniGames.rect2(self)
- self.divsec = 4
- self.sec += 1
- if self.sec%(current.FPS/self.divsec) == 0:
- self.seconde += 1
- rdmval1 = rdm.randint(6,30)
- rdmval2 = rdm.randint(1,20)
- if rdmval2 == 1 or (self.xpomme <= 20) or (self.xpomme >= 900):
- self.sens = -self.sens
- self.xpomme += (self.sens*(rdmval1*10))
- if self.xpomme >= 900:
- self.xpomme = 850
- self.sens = -self.sens
- if self.xpomme <= 20:
- self.xpomme = 80
- self.sens = -self.sens
- self.rad = rdm.randint(2,5) * 10 # On multiplie par 10 pour obtenir le radius
- if self.rad == 20:
- self.colorpomme = self.RED
- self.varm = 1
- elif self.rad == 30:
- self.colorpomme = self.MAGENTA
- self.varm = 2
- elif self.rad == 40:
- self.colorpomme = self.YELLOW
- self.varm = 3
- elif self.rad == 50:
- self.colorpomme = self.CYAN
- self.varm = 4
- self.cont.append(boule(self.xpomme,self.rad,self.colorpomme,self)) # On intègre une nouvelle boule
- MiniGames.failtext(self)
- if self.rip == self.limiterip:
- self.pomme = 0
- self.menu = 1
- self.scorepomme = 0
- self.rip = 0
- self.multi = 0
- for newboule in self.cont:
- boule.move(newboule)
- boule.pfail(newboule)
- boule.pommecreate(newboule)
- boule.detec(newboule)
- MiniGames.scoretextpomme(self)
- MiniGames.multitext(self)
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- self.game = 0
- self.pomme = 0
- pygame.display.update()
- class Note():
- def __init__(self,color,obj):
- self.obj = obj
- self.x = largeurf
- self.y = int(hauteurf/3)
- self.color = self.obj.color
- def boule(self):
- #Dessine la note
- pygame.draw.circle(fen1,self.color,(self.x,self.y),20)
- def move(self):
- #Mouvement de la note
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- self.x = self.x - self.obj.speed
- pygame.draw.circle(fen1,self.color,(self.x,self.y),20)
- def detecBanana(self):
- #Detection evenement banane
- if pygame.key.get_pressed()[K_f] and pygame.key.get_pressed()[K_d]:
- pygame.draw.circle(fen1,self.obj.YELLOW,(int(largeurf/3),int(hauteurf/3)),50)
- if self.x >= (int(largeurf/3))-40 and self.x <= (int(largeurf/3))+40:
- if self.color == self.obj.YELLOW:
- self.obj.score += 10
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l.remove(self)
- except:
- pass
- elif self.color == self.obj.RED or self.color == self.obj.BLUE:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l.remove(self)
- except:
- pass
- def detecRed(self):
- #Detection note rouge
- if pygame.key.get_pressed()[K_d]:
- pygame.draw.circle(fen1,self.obj.BLACK,(int(largeurf/3),int(hauteurf/3)),33)
- pygame.draw.circle(fen1,self.obj.RED,(int(largeurf/3),int(hauteurf/3)),30)
- if self.x >= (int(largeurf/3))-40 and self.x <= (int(largeurf/3))+40:
- if self.color == self.obj.RED:
- self.obj.score += 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l.remove(self)
- except:
- pass
- elif self.color == self.obj.BLUE:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l.remove(self)
- except:
- pass
- else:
- pygame.draw.circle(fen1,self.obj.BLACK,(int(largeurf/3),int(hauteurf/3)),33)
- pygame.draw.circle(fen1,self.obj.WHITE,(int(largeurf/3),int(hauteurf/3)),30)
- def detecBlue(self):
- #Detection note bleue
- if pygame.key.get_pressed()[K_f]:
- pygame.draw.circle(fen1,self.obj.BLUE,(int(largeurf/3),int(hauteurf/3)),50)
- if self.x >= (int(largeurf/3))-40 and self.x <= (int(largeurf/3))+40:
- if self.color == self.obj.BLUE:
- self.obj.score += 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l.remove(self)
- except:
- pass
- elif self.color == self.obj.RED:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l.remove(self)
- except:
- pass
- else:
- pygame.draw.circle(fen1,self.obj.WHITE,(int(largeurf/3),int(hauteurf/3)),50)
- def fail(self):
- #Detection fail
- if self.x <= (int(largeurf/3))-40:
- if self.color == self.obj.RED or self.color == self.obj.BLUE:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l.remove(self)
- except:
- pass
- #NOTE 2 JOUEUR
- class Note2():
- #Cette classe est la même que Note() mais pour le joueur 2
- def __init__(self,color2,obj):
- self.x = largeurf
- self.y = int(hauteurf/3)*2
- self.color2 = color2
- self.obj = obj
- def boule(self):
- pygame.draw.circle(fen1,self.color2,(self.x,self.y),20)
- def move(self):
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- self.x = self.x - self.obj.speed2
- pygame.draw.circle(fen1,self.color2,(self.x,self.y),20)
- def detecBanana(self):
- if pygame.key.get_pressed()[K_k] and pygame.key.get_pressed()[K_j]:
- pygame.draw.circle(fen1,self.obj.YELLOW,(int(largeurf/3),int(hauteurf/3)*2),50)
- if self.x >= (int(largeurf/3))-40 and self.x <= (int(largeurf/3))+40:
- if self.color2 == self.obj.YELLOW:
- self.obj.score += 10
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l2.remove(self)
- except:
- pass
- elif self.color2 == self.obj.RED or self.color2 == self.obj.BLUE:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l2.remove(self)
- except:
- pass
- def detecRed(self):
- if pygame.key.get_pressed()[K_j]:
- pygame.draw.circle(fen1,self.obj.BLACK,(int(largeurf/3),int(hauteurf/3)*2),33)
- pygame.draw.circle(fen1,self.obj.RED,(int(largeurf/3),int(hauteurf/3)*2),30)
- if self.x >= (int(largeurf/3))-40 and self.x <= (int(largeurf/3))+40:
- if self.color2 == self.obj.RED:
- self.obj.score += 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l2.remove(self)
- except:
- pass
- elif self.color2 == self.obj.BLUE:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l2.remove(self)
- except:
- pass
- else:
- pygame.draw.circle(fen1,self.obj.BLACK,(int(largeurf/3),int(hauteurf/3)*2),33)
- pygame.draw.circle(fen1,self.obj.WHITE,(int(largeurf/3),int(hauteurf/3)*2),30)
- def detecBlue(self):
- if pygame.key.get_pressed()[K_k]:
- pygame.draw.circle(fen1,self.obj.BLUE,(int(largeurf/3),int(hauteurf/3)*2),50)
- if self.x >= (int(largeurf/3))-40 and self.x <= (int(largeurf/3))+40:
- if self.color2 == self.obj.BLUE:
- self.obj.score += 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l2.remove(self)
- except:
- pass
- elif self.color2 == self.obj.RED:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l2.remove(self)
- except:
- pass
- else:
- pygame.draw.circle(fen1,self.obj.WHITE,(int(largeurf/3),int(hauteurf/3)*2),50)
- def fail(self):
- if self.x <= (int(largeurf/3))-40:
- if self.color2 == self.obj.RED or self.color2 == self.obj.BLUE:
- self.obj.score -= 1
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),20)
- try:
- self.obj.l2.remove(self)
- except:
- pass
- class boule():
- def __init__(self,xpomme,rad,colorpomme,obj):
- self.obj = obj
- self.x = self.obj.xpomme
- self.y = 0
- self.rad = self.obj.rad
- self.color = self.obj.colorpomme
- def pommecreate(self):
- #Dessine la pomme
- pygame.draw.circle(fen1,self.color,(self.x,self.y),self.rad)
- def move(self):
- #Mouvement de la pomme
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),self.rad)
- self.y = self.y + 20
- def detec(self):
- #Detection de la pomme
- if ((self.x <= self.obj.x+100 and self.x >= self.obj.x) and (self.y >= self.obj.y-10 and self.y <= self.obj.y)) or ((self.x <= self.obj.x2+100 and self.x >= self.obj.x2) and (self.y >= self.obj.y2-10 and self.y <= self.obj.y2)):
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),self.rad)
- self.obj.cont.remove(self)
- self.obj.multi += self.obj.varm
- self.obj.scorepomme += self.obj.multi
- def pfail(self):
- #Detection fail
- if self.y >= 800:
- pygame.draw.circle(fen1,self.obj.BLACK,(self.x,self.y),100)
- self.obj.cont.remove(self)
- self.obj.rip += 1
- self.obj.multi = 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement