Ich bin in meine letze classe (Ich habe den Französich Abitur dieses jahr), und ich möchte eine videospil machen um meine abitur zu haben.
Mein problem ist dass mein lehrer bittet mir dass ich möchte meine programm verwandeln in objektorientierte Programmierung (class, self...), aber ich kenne nicht wo ich anfange, deshalb bitte ich ihre Hilfe. Vielen Danke schöne.
Hier du kannst meine code sehBacen :
Code: Alles auswählen
import pygame
import random
from GIFImage import *
pygame.init()
fenetre = pygame.display.set_mode( (700,400), RESIZABLE )
pygame.display.set_caption("Twisted fates")
pygame.Surface((700,400))
imageLogo = pygame.image.load("logo.png")
imageLogo = pygame.transform.scale(imageLogo,(400,150))
imagejouer = pygame.image.load("Play.png")
imagejouer = pygame.transform.scale(imagejouer,(100,50))
imagecontrol = pygame.image.load("Controls.png")
imagecontrol = pygame.transform.scale(imagecontrol,(100,50))
background = pygame.image.load("fond.jpg")
imagebs = pygame.image.load("Best_scores.png")
imagebs = pygame.transform.scale(imagebs,(100,50))
imagecarre = pygame.image.load("Carre.png")
imagecarre = pygame.transform.scale(imagecarre,(100,3))
monde=pygame.image.load("Fond2.png")
imgMarcelineDroite = GIFImage("Marceline(normal).gif")
imgMarcelineStatique = pygame.image.load("MarcelineStatique.png")
imgMarcelineJump=pygame.image.load("Marceline(Jump).png")
imgMarcelineJumpGauche=pygame.image.load("Marceline(Jump)2.png")
imgMarcelineGauche=GIFImage("Marceline(2)(normal).gif")
imgMarcelineStatiqueGauche=pygame.image.load("Marceline(2)1.png")
imagebarre = GIFImage("ajax.gif")
imagecontrolecran = pygame.image.load("controlsecran.png")
imagecoeur = pygame.image.load("heart.png")
positionbackground=(0,0)
positionlogo = (150,0)
positionjouer = (325,125)
positionbs = (325,325)
positioncontrols = (325,225)
positioncarre= (325,175)
projectile=None
xMarceline = 10
yMarceline=322
mouvementMarceline = 0
xMonde=0
etapeSaut = -1
carre=0
modedejeu=1
loading = 0
a=0
direction = 0
def dessinermenu():
global fenetre,imagejouer,imageLogo,background,positionbackground,imagebs,positionbs,imagecontrol,positioncontrols,imagecarre,positioncarre
fenetre.blit(background,positionbackground)
fenetre.blit(imageLogo,positionlogo)
fenetre.blit(imagejouer,positionjouer)
fenetre.blit(imagebs,positionbs)
fenetre.blit(imagecontrol,positioncontrols)
fenetre.blit(imagecarre,positioncarre)
pygame.display.flip()
def dessinerchargement():
global imagebarre,fenetre,background,positionbackground,loading,modedejeu
fenetre.blit(background,positionbackground)
imagebarre.render(fenetre,(325,175))
loading=loading+1
if loading==200:
modedejeu=3
pygame.display.flip()
def gererClavierEtSouris():
global positioncarre,carre,continuer,i,positioncarre1,positioncarre2,modedejeu,loading
for event in pygame.event.get():
if event.type == pygame.QUIT:
continuer = False
touchesPressees = pygame.key.get_pressed()
if touchesPressees[pygame.K_ESCAPE] == True:
modedejeu = 1
loading = 0
if carre == 1:
positioncarre = positioncarre1
if carre == 2:
positioncarre = positioncarre2
if carre == 0:
positioncarre = positioncarre
sourisXY = pygame.mouse.get_pos()
sourisBoutons = pygame.mouse.get_pressed()
if 125<sourisXY[1]<175:
if 325<sourisXY[0]<425:
positioncarre = (325,175)
if sourisBoutons[0]==1:
modedejeu = 2
if 225<sourisXY[1]<275:
if 325<sourisXY[0]<425:
positioncarre = (330,260)
if sourisBoutons[0]==1:
modedejeu = 4
if 325<sourisXY[1]<375:
if 325<sourisXY[0]<425:
positioncarre = (330,355)
def controls():
global fenetre,background,positionbackground,imagecontrolecran
fenetre.blit(background,positionbackground)
fenetre.blit(imagecontrolecran,(0,0))
pygame.display.flip()
def modemenu():
dessinermenu()
def calculerHauteurSaut(x):
return int(((-1)*((x-8)*(x-8)))+64)
def dessinerjeu():
##On génère le monde.
global monde,positionmonde, xMonde
fenetre.blit(monde,(xMonde,0))
##On définit le scrolling et on le stoppe aux deux extrêmités de l'image.
touchesPressees=pygame.key.get_pressed()
if touchesPressees[pygame.K_RIGHT]== True and xMonde>-2800:
xMonde=xMonde-4
fenetre.blit(monde,(xMonde,0))
if touchesPressees[pygame.K_LEFT]== True and xMonde<0: #On empêche le scrolling en arrière en début de monde.
xMonde=xMonde+4
fenetre.blit(monde,(xMonde,0))
##On place notre personnage dans le monde et on lui permet de sauter.
global mouvementMarceline, xMarceline, imgMarcelineDroite, imgMarcelineStatique,yMarceline,modedejeu,loading,a,imgMarcelineJump, imgMarcelineStatiqueGauche, imgMarcelineGauche, Plateformes
a=yMarceline-calculerHauteurSaut(etapeSaut)-18
if mouvementMarceline == 0:
if etapeSaut<0:
fenetre.blit(imgMarcelineStatique, (xMarceline,a))
elif etapeSaut>0:
fenetre.blit(imgMarcelineJump,(xMarceline,a))
elif mouvementMarceline == 1:
if etapeSaut<0:
imgMarcelineDroite.render(fenetre, (xMarceline,a))
elif etapeSaut>0:
fenetre.blit(imgMarcelineJump,(xMarceline,a))
pygame.display.flip() #Rafraichissement complet de la fenêtre avec les dernières opérations de dessin.
if 137<xMarceline<159 or 417<xMarceline<442 or 509<xMarceline<532:
if yMarceline == 322:
yMarceline=350
else:
yMarceline=322
if a ==349:
modedejeu = 1
loading = 0
xMarceline = 10
def ClavierEtSourisJeu():
global continuer, xMarceline, mouvementMarceline, yMarceline, etapeSaut, imgMarcelineJump, direction, mouvementMarceline, xMarceline, imgMarcelineDroite, imgMarcelineStatique, imgMarcelineJump, imgMarcelineStatiqueGauche, imgMarcelineGauche
##On crée un bouton pour quitter la fenètre.
for event in pygame.event.get():
if event.type == pygame.QUIT:
continuer = False
##On définit le déplacement.
touchesPressees = pygame.key.get_pressed()
if touchesPressees[pygame.K_RIGHT] == True:
mouvementMarceline = 1
xMarceline = xMarceline + 1
elif touchesPressees[pygame.K_LEFT] == True:
mouvementMarceline = 1
xMarceline = xMarceline - 1
else:
mouvementMarceline = 0
##On permet d'afficher un personnage qui va soit vers la gauche soit vers la droite.
if touchesPressees[pygame.K_LEFT]== True:
imgMarcelineJump=imgMarcelineJumpGauche
imgMarcelineStatique=imgMarcelineStatiqueGauche
imgMarcelineDroite=imgMarcelineGauche
elif touchesPressees[pygame.K_RIGHT]== True:
imgMarcelineJump=pygame.image.load("Marceline(jump).png")
imgMarcelineStatique=pygame.image.load("MarcelineStatique.png")
imgMarcelineDroite=GIFImage("Marceline(normal).gif")
##On active le calcul des x pour permettre le saut.
if touchesPressees[pygame.K_UP]==True and etapeSaut == -1:
etapeSaut = 0
def modejeu():
global etapeSaut
ClavierEtSourisJeu()
dessinerjeu()
if etapeSaut >= 0: #Si etapeSsaut est >0, on saute. On va faire avancer etapeSaut pas à pas de 0 à 16.
etapeSaut += 0.6
if etapeSaut > 16:#Le saut étant fini, on réinitialise à etapeSaut=-1.
etapeSaut = -1
clock = pygame.time.Clock()
continuer=True
while continuer:
clock.tick(50)
if modedejeu ==1:
modemenu()
if modedejeu == 2:
dessinerchargement()
if modedejeu == 3:
modejeu()
if modedejeu ==4:
controls()
gererClavierEtSouris()
print (a)
print (yMarceline)
pygame.quit()