Skip to content
Snippets Groups Projects
Commit a7797c1b authored by Léo Duchmann's avatar Léo Duchmann
Browse files

Modifs*

parent 324c69af
No related merge requests found
Léo/Champs.py 100644 → 100755
import pygame import pygame
police = pygame.font.SysFont("Alef", 18) #pygame.font.get_fonts() -> liste des fonts police = pygame.font.SysFont("Alef", 22) #pygame.font.get_fonts() -> liste des fonts
class Champs: class Champs:
def __init__ (self, tempature, humidite, tempsAvantMaturation, pos, image): def __init__ (self, tempature, humidite, tempsAvantMaturation, pos, image):
self.temperature = tempature self.temperature = tempature
self.humidite = humidite self.humidite = humidite
self.TAM = tempsAvantMaturation self.TAM = tempsAvantMaturation
self.pos = pos self.pos = pos
self.image = image self.image = image
self.rect = pygame.rect.Rect(self.pos, self.image.get_rect().size) self.rect = pygame.rect.Rect(self.pos, self.image.get_rect().size)
def showInfo (self, screen): def draw (self, screen):
#afficher à l'endroit de self.x et self.y screen.blit(self.image, self.pos)
text = police.render("Température : " + str(self.temperature), False, (0,0,0)) #prix d'achat si buisson
class Houblon (Champs):
pygame.draw.rect(screen, (255, 255, 255), pygame.rect.Rect(self.pos,(100,100))) def __init__ (self, pos):
screen.blit(text, self.pos) super().__init__(0, 0, 0, pos, pygame.image.load('../assets/champ.png'))
def draw (self, screen): def showInfo (self, screen):
screen.blit(self.image, self.pos) text = police.render("Température : " + str(self.temperature), False, (0,0,0))
class Houblon (Champs): pygame.draw.rect(screen, (255, 255, 255), pygame.rect.Rect(self.pos, (self.rect.width*0.75, self.rect.height*0.75)))
def __init__ (self, pos): screen.blit(text, self.pos)
super().__init__(0, 0, 0, pos, pygame.image.load('../assets/champ.png'))
class Buisson (Champs):
class Buisson (Champs): def __init__ (self, pos, prix = 10000):
def __init__ (self, pos): super().__init__(0, 0, 0, pos, pygame.image.load('../assets/buisson.png'))
super().__init__(0, 0, 0, pos, pygame.image.load('../assets/buisson.png')) self.prix = prix
\ No newline at end of file
def showInfo (self, screen):
text = police.render("Champ disponible à l'achat : " + str(self.prix), False, (0,0,0))
pygame.draw.rect(screen, (255, 255, 255), pygame.rect.Rect(self.pos, (self.rect.width*0.75, self.rect.height*0.75)))
screen.blit(text, self.pos)
Léo/Game.py 100644 → 100755
import pygame import pygame
from Champs import * from Champs import *
class Game: police = pygame.font.SysFont("Alef", 30)
def __init__ (self, screen):
self.screen = screen class Game:
self.score = 0 def __init__ (self, screen):
self.money = 10000 self.screen = screen
self.month = "janvier" self.score = 0
self.champs = [Buisson((0,0)),Houblon((800,500))] self.money = 10000
self.clock = pygame.time.Clock() self.month = "janvier"
self.selectedChamp = None self.champs = [Houblon((100,100)), Houblon((400,100)), Houblon((700,100)), Houblon((100,300)), Houblon((400,300)), Houblon((700,300)), Houblon((100,500)), Houblon((400,500)), Buisson((700,500))]
self.clock = pygame.time.Clock()
def gameLoop (self): self.selectedChamp = None
while True: self.imageMoney = pygame.image.load("../assets/money.png")
self.screen.fill((0,0,0))
isChamp = False def gameLoop (self):
#ici il faudra charger les textures du jeu while True:
for champ in self.champs: self.screen.fill((0,0,0))
champ.draw(self.screen)
isChamp = False
for event in pygame.event.get(): #ici il faudra charger les textures du jeu
if event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: for champ in self.champs:
exit() champ.draw(self.screen)
elif event.type == pygame.MOUSEMOTION:
for champ in self.champs: # somme ajoutée ou enlevée au-dessus puis s'ajoute
if champ.rect.contains(*event.pos,0,0): textMoney = police.render(str(self.money), True, (255,255,255))
self.selectedChamp = champ self.screen.blit(textMoney, (0, self.screen.get_height()-textMoney.get_height()*2))
isChamp = True self.screen.blit(self.imageMoney, (textMoney.get_width(), self.screen.get_height()-self.imageMoney.get_height()))
if not isChamp:
self.selectedChamp = None for event in pygame.event.get():
if event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
if self.selectedChamp: exit()
self.selectedChamp.showInfo(self.screen) elif event.type == pygame.MOUSEMOTION:
for champ in self.champs:
if champ.rect.contains(*event.pos,0,0):
pygame.display.update() self.selectedChamp = champ
self.clock.tick(60) isChamp = True
\ No newline at end of file
if not isChamp:
self.selectedChamp = None
if self.selectedChamp:
self.selectedChamp.showInfo(self.screen)
pygame.display.update()
self.clock.tick(60)
Léo/T3.py 100644 → 100755
import pygame, time import pygame, time
pygame.init() pygame.init()
from datetime import date from datetime import date
import Game import Game
pygame.display.set_caption("Climate Simulator : Global Organization") pygame.display.set_caption("Climate Simulator : Global Organization")
screen = pygame.display.set_mode((0,0), pygame.FULLSCREEN) screen = pygame.display.set_mode((0,0), pygame.FULLSCREEN)
#on récupère le mois actuelle pour le faire commencer à ce moment #on récupère le mois actuelle pour le faire commencer à ce moment
class month: class month:
def __init__ (self, str): def __init__ (self, str):
self.month = str self.month = str
current_month = month(date.today().strftime("%b")) current_month = month(date.today().strftime("%b"))
#background (2è scène) #background (2è scène)
background = pygame.image.load('../assets/accueil.jpg') background = pygame.image.load('../assets/accueil.jpg')
background = pygame.transform.scale(background, (screen.get_width(), screen.get_height())) background = pygame.transform.scale(background, (screen.get_width(), screen.get_height()))
#bannière #bannière
banner = pygame.image.load('../assets/banner.png') banner = pygame.image.load('../assets/banner.png')
banner = pygame.transform.scale(banner, (500,500)) banner = pygame.transform.scale(banner, (500,500))
banner_rect = banner.get_rect() banner_rect = banner.get_rect()
banner_rect.x = screen.get_width() / 4 banner_rect.x = screen.get_width() / 4
#bouton #bouton
play_button = pygame.image.load('../assets/button.png') play_button = pygame.image.load('../assets/button.png')
play_button = pygame.transform.scale(play_button,(400,150)) play_button = pygame.transform.scale(play_button,(400,150))
play_button_rect = play_button.get_rect() play_button_rect = play_button.get_rect()
play_button_rect.x = screen.get_width() / 2.8 play_button_rect.x = screen.get_width() / 2.8
play_button_rect.y = screen.get_height() / 2.4 play_button_rect.y = screen.get_height() / 2.4
#buisson #buisson
bush = pygame.image.load('../assets/buisson.png') bush = pygame.image.load('../assets/buisson.png')
#cadenas #cadenas
lock = pygame.image.load('../assets/cadenas.png') lock = pygame.image.load('../assets/cadenas.png')
screen.blit(background, (0,0)) screen.blit(background, (0,0))
screen.blit(play_button, play_button_rect) screen.blit(play_button, play_button_rect)
screen.blit(bush, (100,100)) #screen.blit(bush, (100,100))
screen.blit(lock, (bush.get_width()/2,bush.get_height()/2+40)) #screen.blit(lock, (bush.get_width()/2,bush.get_height()/2+40))
pygame.display.update() pygame.display.update()
inMenu = True inMenu = True
while inMenu: while inMenu:
for event in pygame.event.get(): for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN and play_button_rect.contains(*event.pos,0,0): if event.type == pygame.MOUSEBUTTONDOWN and play_button_rect.contains(*event.pos,0,0):
print("LANCEMENT") inMenu = False
inMenu = False elif event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
elif event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: exit(0)
exit(0)
Game.Game(screen).gameLoop()
Game.Game(screen).gameLoop()
#après l'appui de start
#après l'appui de start #time.sleep(2)
#time.sleep(2) #screen.fill((0,0,0))
#screen.fill((0,0,0)) #pygame.display.flip()
#pygame.display.flip()
#time.sleep(2) #time.sleep(2)
\ No newline at end of file
Léo/Temps.py 100644 → 100755
import random import random
class Temps: class Temps:
climats = { climats = {
"janvier" : { "janvier" : {
"temp" : [20,40], "temp" : [20,40],
"humidité" : [0,10] "humidité" : [0,10]
}, },
"février" : { "février" : {
}, },
"mars" : { "mars" : {
}, },
"avril" : { "avril" : {
}, },
"mai" : { "mai" : {
}, },
"juin" : { "juin" : {
}, },
"juillet" : { "juillet" : {
}, },
"août" : { "août" : {
}, },
"septembre" : { "septembre" : {
}, },
"octobre" : { "octobre" : {
}, },
"novembre" : { "novembre" : {
}, },
"décembre" : { "décembre" : {
} }
} }
def _init_ (self): def _init_ (self):
self.temperature self.temperature
self.humidite self.humidite
self.neige self.neige
self.currentMonth = "janvier" self.currentMonth = "janvier"
def randomTemp (self): def randomTemp (self):
intervalleTemp = self.climats[self.currentMonth]["temp"] intervalleTemp = self.climats[self.currentMonth]["temp"]
return random.randint(*intervalleTemp) # *intervalleTemp = intervalleTemp[0], intervalleTemp[1] return random.randint(*intervalleTemp) # *intervalleTemp = intervalleTemp[0], intervalleTemp[1]
def randomHumidite (self): def randomHumidite (self):
intervalleHumidite = self.climats[self.currentMonth]["humidité"] intervalleHumidite = self.climats[self.currentMonth]["humidité"]
return random.randint(*intervalleHumidite) return random.randint(*intervalleHumidite)
File added
No preview for this file type
File added
No preview for this file type
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment