# -*- coding: utf-8 -*- import pygame from pygame import * import sys, os import threading import random import time #import de time pygame.init() #init de pygame class Moteur: """cette classe gère les fonctions vitales concernant l'affichage ...""" def __init__(self): self.sizex = 800 self.sizey = 700 #640, 480 #taille de l'écran self.screen = pygame.display.set_mode((self.sizex, self.sizey)) #création de la fenêtre graphique pygame.display.set_caption('Combat')#titre pour la fenêtre pygame.key.set_repeat(100, 200)#on active le "set repeat" return def affichage(self): black = 0, 0, 0 self.screen.fill(black) self.screen.blit(champ.background,(0,0)) for cas in champ.listcases : self.screen.blit(cas.imageload,(cas.x,cas.y)) for i in hero.creature: e=[i.caseid,i.rect] for cas in champ.listcases: if cas.ident == e[0]: self.screen.blit(e[1],(cas.x,cas.y-50)) pygame.display.update() class Cases: def __init__(self,ident,x,y,terrain,element,passe,creature): self.ident = ident self.x = x self.y = y self.terrain = terrain self.element = element self.imageload = pygame.image.load(os.path.join("decors",self.terrain+".png")).convert_alpha() #self.elementload = pygame.image.load(os.path.join("elements",self.element+".png")).convert_alpha() return class Creature: def __init__(self,caseid,typec,nombre,capacite,immunite,hero,caracteristiques): self.ximg = 0 self.yimg = 0 self.caseid = caseid self.typec = typec self.image_ = pygame.image.load(os.path.join('images','creature',self.typec+'.png')).convert_alpha() self.rect = self.image_.get_rect() pygame.transform.flip(self.image_, self.ximg, self.yimg) pygame.transform.scale(self.image_, (50,100)) #self.capacite = capacite #self.immunite = immunite self.hero = hero #self.caracteristiques = caracteristiques def change_image(self): self.rect2 = self.rect.move(self.ximg, self.yimg) self.rect2 = self.rect2.inflate(50, 100) return class Heros: def __init__(self,cote,image_,mods): self.cote = cote self.image = pygame.image.load(os.path.join('images','heros',image_+'.png')).convert_alpha() self.mods = mods self.creature = [] self.creat = Creature(1,'ab',3,{},{},self,{}) self.creature.append(self.creat) class Champs: def __init__(self,background): self.listcases = [] self.generation(16,12) self.background = pygame.image.load(os.path.join('images','background',background+'.png')) def generation(self,casesx,casesy): self.casesx = casesx self.casesy = casesy self.listcases = [] listbackground = ['herbe','desert','glace'] #listelement = ['ville','rien','foret'] z=0 x=0 y=100 self.b = True while x < casesx*50: while y < casesy*50: z+=1 case = Cases(z,x,y,'herbe','',True,None) self.listcases.append(case) y+=50 if self.b == True: y=125 self.b = False else: y=100 self.b = True x+=40 return class Gest: def __init__(self): self.xmouse = 0 self.ymouse = 0 return def evenement(self): """ici, on gere les entrées de l'utilisateur !""" global xmap global ymap continu = True while continu == True: self.xmouse, self.ymouse = pygame.mouse.get_pos() for event in pygame.event.get(): if event.type == QUIT: print"fini" continu = False pygame.quit() sys.exit() return a.affichage() a=Moteur() champ = Champs('background') hero = Heros("gauche","hero",{}) g = Gest() g.evenement()