rendered paste body# -*- 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()