All pastes #469369 Raw Edit

Something

public text v1 · immutable
·published 2007-05-03 18:31 UTC
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()