Labyrinthus

Programmation avancée de jeux en PureBasic
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Labyrinthus

Message par garzul »

:D Bonjour voici enfin la présentation du jeux que je crée ainsi que ses principales fonctionalités .

Pourcentage de develloppement de l'éditeurs :

Terminer ( 100% ) Telechargeable ====> http://purebasicmeslog.chez.tiscali.fr/LabyEditor.zip

Pourcentage de develloppement du jeux :

60%

L'éditeur me permet de crée des map pour mon jeux , mais prochainement ( a la fin du develloppement du jeux ) vous pourrez placer plus de texture et jouer les map selectonner .


Liste des avantages du jeux :

* Trés petit ( Editeur = 22 Ko ) et pour l'instant l'exe fait 31 Ko .
* 1 média pour le jeux ( toute les map ) et 2 média pour l'éditeur :D

* 900 Ligne de code pour le jeux , 500 pour l'éditeur .

Liste des fonctionalité du jeux :

* Bonus a gogo ( va + vite , va - vite , Glue , teleportation ect... )
* 20 Niveaux mais vous pouvez durer plus longtemps avec vos map .

Voila l'éditeur et disponible en haut et le jeux je le code :) . @++
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Ton lien est mort, Garzul
cookie
Messages : 71
Inscription : mar. 27/janv./2004 21:08
Contact :

Message par cookie »

ça marche en faisant 'enregistrer la cible sous'
Cookie
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Oui il faut faire enregistrer la cible sous désoler :D PS : Dites moi ce que vous en pensez ?
kingo
Messages : 1
Inscription : ven. 22/oct./2004 18:03
Localisation : Belgique
Contact :

super

Message par kingo »

Excelent ton editeur :),
j'ai hate de voir le resultat avec ton jeu :)

2d ou 3d pour le jeu ?
Le monde est ce que vous en faite :)
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

j'aime bien le mode veille , c'est une jolie surprise :)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Merci à vous et pour le mode veille , c'est une petite démotouch ;) quand au jeux il inclura un effet d'étoiles 3D pour l'intro et aprés le jeux et en 2D . PS : Merci Comtois pour le mode veille ^^
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

manque plus que le jeux :D
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

He oué sa avance t'inquiete ;)
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

:D Bon j'ai un probléme avec un code car je voudrai inserer mes map faîte avec mon éditeur donc je lis le fichier que j'ai enregistrer mais j'arrive pas a faire apparaitre ma map sur mon jeux pourtant je vois pas ce qui peut clocher voici le code que j'ai inserer dans mon jeux ===>

Code : Tout sélectionner

    ;affiche la map
    For V=0 To 17
      For u=0 To 24
        DisplaySprite(Map(u,V),100+u*SpriteWidth(#Mur),138 + V*SpriteHeight(#Sol))
      Next u
    Next V
  
    OpenFile(0, "Niveaux\LabyNiv1.map")
      For V = 0 To 18 - 1
        For u = 0 To 25 - 1
          Map(u, V) = ReadLong()
        Next u
      Next V
    CloseFile(0)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Tel que tu le présentes tu affiches avant de charger :wink:
à la place de 18-1 et 25-1 essai 17 et 24
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Bonjour j'annonce une bonne et mauvaise nouvelle la mauvaise c'est que j'ai envie d'arreter ce projet qui étais bien avancer ( Il ne manquer pas beaucoup de chose ) le seul probléme c'est que je suis pas trés bon à crée des map pour un labyrinthe et que je veux me retirer vers des projet plus interessant que j'ai en tête donc ce projet tombe à l'eau et pourtant dieu sait que j'ai mis beaucoup d'ésperance , mais j'ai plus envie de m'en occuper , voila snifff :( :? :cry: :cry: , la bonne nouvelle c'est que si quelqu'un veut le reprendre à ce stade ci il peut je donne la source de suite ici c'est sans média donc lançez le et sa marcheras , pour l'éditeur voir le sujet que j'avais poster voici la source avec un petit regret mais je veux continuer d'autre bon projet que j'ai en tête ;) ===> Source :cry: :

Code : Tout sélectionner

;/*********************************************
;/*              \\ Labyrinthus //            *  
;/*       \\  crée par Garzul | 2004  //      *  
;/* \\JaPBe > 2.4.7.17 || Purebasic > 3.91 // *  
;/*********************************************  

;Ecran en 1024 * 768
#ScreenWidht = 1024
#ScreenHeight = 768

;Tableau pour les niveaux 
Dim Map(24 ,17)


;Enumeration de constant
 Enumeration

  #Police
  #Police2
  #Police3
  #Police4
  #Police5
  #Mur
  #Capture
  #Score
  #Sol
  
 EndEnumeration

;Initialisation des composant
InitSprite() : InitKeyboard() : InitMovie()

;Inclue le fichier math +
IncludeFile "Math+.pb"

;*######################################*#################*##############################################*
;/*--------------------------------------*\\* |Screen | *//*----------------------------------------------*
;*######################################*#################*##############################################*
If OpenScreen(#ScreenWidht,#ScreenHeight,32,"Labyrinthus") = 0
  
  MessageRequester("Erreur","Directx7 impossible d'initialiser directx7",0 | #MB_IconError)
  
EndIf

;Déclaration des procédure
Declare Intro()
Declare ArrierePlan()
Declare Menus()
Declare DebutJeux()
Declare Jeux()
Declare Affichscore()

;/Variable global de tout le jeux 
Global x , y , x2 , y2 , x3 , y3 , Police , Vt , AffichMenu , Police2 , x4 , y4 , AffichMenus , Police3 , Police4 , Angle , x5 , y5 , Rouge1 , Bleu1 , Vert1 , vitR , vitB , Touche , DebutJeux , AffichMenu1 , Affich3 , Police5 , Rouge2 , Vert2 , Bleu2 , Affich2 , Bleu3 , Rouge3 , Vert3 , Affich1 , Bleu4 , Rouge4 , Vert4 , Bleu5 , Rouge5 , Vert5 , sprite.f , Niveau1.l , angle2 , Affichjeux , Mury.l , Murx.l , a.l , Affichscore , Intro , AngleIntro , VitAngle , xintro , yintro , i , angleee 

;Variable de départ
x  = 0
y  = 0
x2 = 0
y2 = 0
x3 = 0
y3 = 0

;Variable du titre
Vt = -80

;Variable de basculement de procédure
AffichMenu  = 1
AffichMenus = 0
AffichMenu1 = 0

;Variable de menus
x4    = 170
Angle = 0

;Variable de selection des menus
x5     = 860
y5     = 160

;Couleur de sélection et mouvement
Rouge1 = 1
Bleu1  = 1
Vert1  = 0
vitR   = 1
vitB   = 1
Touche = 0
 
;Affichage du temps avant de commencer le jeux
Affich1    = 0
Affich3    = 0
Affich2    = 0
Affich0    = 0
Affichjeux = 0 ; Pour afficher la procedure de jeux 
AffichInt  = 1 ; Pour afficher l'intro 
Intro      = 1 ; Affiche l'intro au debut du jeux 
AngleIntro = 0 ; Angle pour effet intro
VitAngle   = 1 ; Vitesse de l'angle


;Affichage du texte de l'intro 
xintro  = 0
yintro  = -25
i       = 140

;Affichage pour les score
Affichscore = 0

;Police utiliser
Police  = LoadFont(#Police ,"WST_Czec" ,60 ,#PB_Font_Italic) 
Police2 = LoadFont(#Police2 ,"Modern" ,8 ,#PB_Font_Italic) 
Police3 = LoadFont(#Police3 ,"Modern" ,40) 
Police4 = LoadFont(#Police4 ,"Modern" ,20)
Police5 = LoadFont(#Police5 ,"Modern" ,250 ,#PB_Font_Italic)  
 
;-Gestion des particule 3d 
;Variable global des particule 3d
Global xmax.l , ymax.l , zmax.w , sspeed.w , zmin.w , num.w , centerx.w , centery.w , zoom.w , shade.w
xmax       =100000
ymax       =100000
zmax       =2000 
sspeed     =-6
zmin       =10
num        =5000

centerx.w  =#ScreenWidht/2 
centery.w  =#ScreenHeight/2 
zoom.w     =10
shade.w    =0 
Dim sx(num) 
Dim sy(num) 
Dim sz(num) 
For i=0 To num 
    sx(i)=Random(xmax)- xmax/2 
    sy(i)=Random(ymax) - ymax/2 
    sz(i)=Random(zmax) 
Next i 

;-Tableau credits (intro)
Dim story.s(19)
story(0)  = "LABYRINTHUS"
story(1)  = "Codé par Garzul (c) 2004"
story(2)  = "Version 1.0"
story(3)  = "Merci aux créateurs du language que j'utilise"
story(4)  = "Crée par Fred (Alpha SND) Laboureur"
story(5)  = "Un grand merci à tous ceux qui m'ont soutenu et aidé"
story(6)  = "En particuliers à la communauter Pure Basic"
story(7)  = "Dobro , Marcus , Buckshot , Polux , Comtois , Oliv , Heis Spiter , Le soldat inconnu , Wizard Spike"
story(8)  = "Et à tous ceux que j'ai pu oublié"
story(9)  = "Ce jeu représente :"
story(10) = "... semaines de travail"
story(11) = "... ligne de codes"
story(12) = "... procedures"
story(13) = "20 niveaux"
story(14) = "... variables"
story(15) = "Pour en savoir plus sur le : "
story(16) = "Pure Basic"
story(17) = "Allez voir sur le site officiel"
story(18) = "http://www.purebasic.com"
story(19) = "Merci à vous"


;-Tableau score 
Dim Score.s(8)
Score(1)  = "Garzul 10000"
Score(2)  = "Comtois  8000"
Score(3)  = "Marcus 6000"
Score(4)  = "Dobro  4000"
Score(5)  = "Oliv   2000"
Score(6)  = "Chris  1000"
Score(7)  = "LSI    500"
Score(8)  = "Nico   200"


;Création du sprite MUR
;-Sprite mur leve1
CreateSprite(#Mur,32,32)

  StartDrawing(SpriteOutput(#Mur))

    Box(0,0,32,32,RGB(228,128,128))
  
       For i = 0 To 150
      
         Line(Random(32),Random(32),2,10, RGB(150,30,30))
        
       Next i
      
StopDrawing()
    
    
    ;Sprite Sol
CreateSprite(#Sol,32,32)
   
   StartDrawing(SpriteOutput(#Sol))
     
     Box(0,0,32,32,RGB($FA,$3D,$3D))

       For i = 0 To 100
          
          Plot(Random(32) , Random(32) , RGB($F9,$FF,$AE))
          
       Next
       
StopDrawing()


;Procedure d'arrire plan du début : 
  Procedure ArrierePlan()

    StartDrawing(ScreenOutput())
    
      DrawingMode(1)
      
      For i = 1 To 1024 Step 10
      For e = 1 To 764  Step 10
      
        Plot(x + i ,y + e ,RGB($19,$12,$E6))
        
      Next 
      Next 

      For i = 1 To 1024 Step 20
      For e = 1 To 764  Step 20
      
        Plot(x2 + i ,y2 + e ,RGB($A5,$E3,$5A))
        
      Next 
      Next 

      For i = 1 To 1024 Step 4
      For e = 1 To 100  Step 4
      
        Plot(x3 + i ,y3 + e ,RGB($2E,$28,$D1))
 
      Next 
      Next 
      
        Vt + 1
      ;Test si Vt arrive a 15
      
        If Vt > 15
      
           Vt = 15
           AffichMenu1 = 1
           
        EndIf
        
      DrawingFont(Police)
      Locate(340, Vt)
      FrontColor($6D,$D4,$92)
      DrawText("Labyrinthus")

      DrawingFont(Police2)
      Locate(960, 750)
      FrontColor($57,$A5,$A8)
      DrawText("Garzul | 2004")
                                
    StopDrawing()
  
  EndProcedure

;-MENUS
  Procedure Menus()
  
    ;Examine keyboard  pour initialiser la suite .
    ExamineKeyboard()
    
    x4 - 2
  
      If x4 < 0
      
         AffichMenus = 1
         x4 = 0
         
      EndIf
      
    StartDrawing(ScreenOutput())
    
      DrawingMode(1)
      
      For i = 860 To 1022 Step 2
      For e = 100 To 650  Step 2
      
        Box(x4 + i  * gcos(x4) ,y4 + e * gcos(x4) ,1 ,1 ,RGB($02,$00,$FD))
       
      Next 
      Next 
      
      If AffichMenu = 1
        
        DrawingFont(Police3)
        Locate(880, 95)
        FrontColor($01,$00,$FE)
        DrawText("Menus")
        
        DrawingFont(Police4)
        Locate(890 , 160)
        FrontColor($FF,$00,$00)
        DrawText("*>Jouer<*")
        
        DrawingFont(Police4)
        Locate(890 , 220)
        FrontColor($FF,$00,$00)
        DrawText("*>Score<*")
        
        DrawingFont(Police4)
        Locate(890 , 280)
        FrontColor($FF,$00,$00)
        DrawText("*>Credits<*")
        
        DrawingFont(Police4)
        Locate(890 , 340)
        FrontColor($FF,$00,$00)
        DrawText("*>Quitter<*")

          ;Création du cadre de selection des menus + Positionement de celui - ci
          DrawingMode(4) 
             Box(x5 ,y5 ,162 ,30 ,RGB(Rouge1,Bleu1,Vert1))
             
               If Rouge1 < 0
                   
                  Rouge1 = 0 + 1
                  
               EndIf
               
                 If Bleu1  < 0
                  
                    Bleu1  = 0 + 1
                  
                 EndIf

           ;Création d'un petit dessin en bas de la barre de menus
           For i = 860 To 1022 Step 1
           For e = 430 To 650  Step 10
      
             Box(x4 + i  * gcos(y4) ,y4 + e * gcos(y4) ,1 ,1 ,RGB($79,$FF,$86))
       
           Next 
           Next 
          
             ;Création du test pour les touche.
              If Touche = 0  
                If KeyboardPushed(#PB_Key_Return) 
                   DebutJeux   = 1
                   AffichMenu  = 0
                   AffichMenu1 = 0
              
                 EndIf  
            
                  If KeyboardReleased(#PB_Key_Down)
                 
                    
                     y5     = 220
                     Touche = 1
                    
                  EndIf               
               EndIf 
             
                   If Touche = 1    

                     If KeyboardReleased(#PB_Key_Return) 
                          
                        Affichscore = 1
                        AffichMenu  = 0
                        AffichMenu1 = 0
                            
                     EndIf  
                     If KeyboardReleased(#PB_Key_Down)
               
                   y5     = 280
                   Touche = 2
                  
                     EndIf                              
                   EndIf 
                   
                        If Touche = 2  
                          
                          If KeyboardReleased(#PB_Key_Return) 
                          
                            Affichscore = 0
                            Intro       = 1
                            AffichMenu  = 0
                            AffichMenu1 = 0
                            
                          EndIf  
                          If KeyboardReleased(#PB_Key_Down)
                            
                            y5     = 340
                            Touche = 3
                          EndIf                              
                        EndIf 
                     
                     
                     ;*---------------* /\ ********************** /\ *--------------------------------*          
                     ;***************** || Test dans l'autre sens || **********************************
                     ;*---------------* \/ ********************** \/ *--------------------------------*        
                       If Touche = 1        
                         If KeyboardReleased(#PB_Key_Up)
               
                           y5     = 160
                           Touche = 0
                  
                         EndIf               
                       EndIf 
                       
                         If Touche = 2        
                           If KeyboardReleased(#PB_Key_Up)
               
                             y5     = 220
                             Touche = 1
                  
                           EndIf               
                         EndIf 
                         
                           If Touche = 3      
                             If KeyboardReleased(#PB_Key_Up)
               
                               y5     = 280
                               Touche = 2
                  
                             EndIf               
                           EndIf    
                           
                             ;Quand on appui sur entrer on lance le programme citer.                             
                            ;    If KeyboardReleased(#PB_Key_Return) And Touche = 0 ;Jouer
                               
                             ;      DebutJeux   = 1
                               ;    AffichMenu  = 0
                              ;     AffichMenu1 = 0
                                  
                               ; EndIf   
                                
                                If KeyboardPushed(#PB_Key_Return) And Touche = 3 ;Fin
                                  
                                  CloseScreen()
                                  End
                                  AffichMenu  = 0
                                  AffichMenu1 = 0
                                   
                                EndIf    

                              
      EndIf
      
      ;Scintillement de la sélection
             Rouge1 - vitR
             Bleu1  - vitB
      
    StopDrawing()

  EndProcedure
   
   
  ;-Debut jeux
  Procedure DebutJeux()
    
    Affich3 = 1
    Rouge2  + 7
    Bleu2   + 7

    ; Test si la couleur arrive jusqu'a 255
      If Rouge2 > 255
      
         Rouge2 = 255
         
      EndIf
      
        If Bleu2 > 255
        
           Bleu2 = 255
           Vert2 + 7
           
        EndIf
          
          If Vert2   > 255
            
            Vert2   = 255
            Affich2 = 1
            Affich3 = 0
            Rouge3  + 7
            Vert3   + 7
            
          EndIf
          
            If Rouge3 > 255
            
               Rouge3 = 255
            
            EndIf
        
              If Vert3 > 255
              
                Vert3 = 255
                Bleu3 + 7
              
              EndIf
        
                If Bleu3 > 255
                 
                  Bleu3   = 255
                  Affich2 = 0
                  Affich1 = 1
                  Bleu4   + 7
                  Vert4   + 7
                
                EndIf
                
                  If Bleu4 > 255
                  
                     Bleu4 = 255
                  
                  EndIf
                
                    If Vert4 > 255
                    
                       Vert4 = 255
                       Rouge4 + 7
                    EndIf
                  
                      If Rouge4  > 255
                      
                         Rouge4  = 255
                         Affich1 = 0
                         Affich0 = 1
                         Bleu5   + 7
                         Rouge5  + 7
                         Vert5   + 7
                      
                      EndIf
                      
                        If Bleu5 > 255 And Rouge5 > 255 And Vert5 > 255
                        
                          Affichjeux = 1  ; apres le goo on lance le jeux :) et on efface le goo
                          Bleu5   = 255
                          Rouge5  = 255
                          Vert5   = 255
                         Affich0 = 0
                      
                        EndIf
                       
    StartDrawing(ScreenOutput())
    
      DrawingMode(1)
      Box(102 , 150 , 800 , 570 ,RGB($00,$00,$00))
      
         If Affich3 = 1
       
           DrawingFont(Police5)
           Locate(350 , 260)
           FrontColor(Rouge2,Vert2,Bleu2)
           DrawText("3")
         
         EndIf
    
          If Affich2 = 1
          
            DrawingFont(Police5)
            Locate(350 , 260)
            FrontColor(Rouge3,Vert3,Bleu3)
            DrawText("2")
            
          EndIf
      
           If Affich1 = 1
        
             DrawingFont(Police5)
             Locate(350 , 260)
             FrontColor(Rouge4,Vert4,Bleu4)
             DrawText("1")
        
           EndIf
      
             If Affich1 = 1
        
                DrawingFont(Police5)
                Locate(350 , 260)
                FrontColor(Rouge4,Vert4,Bleu4)
                DrawText("1")
        
              EndIf
              
                If Affich0 = 1
                
                  For i = 0 To 5
                    
                    DrawingFont(Police5)
                    Locate(200 + i, 260)
                    FrontColor(Rouge5,Vert5,Bleu5)
                    DrawText("Goo")
                
                  Next
                
                EndIf
          
    StopDrawing()
  
  EndProcedure 
  
  ;On peut jouer :)
  ;- JEUX (on joue) level 1
  Procedure Jeux()
   
    ;Affiche la map
    For V=0 To 17
      For u=0 To 24
        DisplaySprite(Map(u,V),1+u*32,138 + V*32)
      Next u
    Next V
  
    OpenFile(0, "Niveaux\LabyNiv.map")
      For y1 = 0 To 18 - 1
        For x1 = 0 To 25 - 1
          Map(x1, y1) = ReadLong()
        Next x1
      Next y1
    CloseFile(0)
              
  EndProcedure
   
  
  ;-Affichage des score
  ;Affichage des score
  Procedure Affichscore() 
        
    If KeyboardReleased(#PB_Key_Return)
      
      Affichscore = 0
      AffichMenu  = 1
      AffichMenu1 = 1
      angleee     = 0
    
    EndIf
    
    StartDrawing(ScreenOutput())
    
       DrawingMode(1)
       
       Box(102 , 150 , 800 , 570 ,RGB($00,$00,$00)) 
       Line(105,250,805,0,RGB($25,$3F,$F1))
      
       For i = 0 To 200
         
        Line(175,250,i * Cos(i) + Sqr(i),i * Sin(i) - Sqr(i),RGB($E4,$E9,$2E))
        Line(820,250,i * Cos(i) + Sqr(i),i * Sin(i) - Sqr(i),RGB($E4,$E9,$2E))
        
       Next i
      
       For i = 0 To 200 Step 2
        
        Box(angleee * Cos(i) * Sin(angleee) + Sqr(i),angleee * Sin(i) * Cos(angleee) - Sqr(i),2,2,RGB($3A,$DC,$D8))
        Box(angleee * Cos(angleee) + Sqr(i),angleee * Sin(angleee) - Sqr(i),2,2,RGB($FA,$1D,$22))
        
       Next i
       
         DrawingFont(Police3)
         Locate(440,180)
         DrawingMode(1)
         FrontColor(100,0,255)
         DrawText("SCORE")
         DrawingFont(Police1)
         FrontColor(100 , 255 , 255)
         
           For s = 0 To 8
           
              Locate(375, (225 + 50 * s))
              DrawText(Score(s))
              
           Next
            
         DrawingFont(Police2)
         Locate(3, 750)
         FrontColor($57,$A5,$A8)
         DrawText("Tous les effets de ce jeux ont étais coder par garzul")
            
            
         Locate(905,150)
         ;DrawText("Herbe")
         Locate(890,200)
         ;DrawText("Pointeur")
       
    StopDrawing()
        
        angleee + 1
    
  EndProcedure
  
  
  ;-Affichage de l'intro au debut
  Procedure Intro()
   
    If KeyboardPushed(#PB_Key_Return) And Intro = 1
    
      Intro       = 0
      AffichInt   = 0
      AffichMenu  = 1
      
      ;On réinitialise tout pour apres
      AngleIntro  = 0
      xintro      = 0
      yintro      = 0
      Vt          = -80
      x4          = 170
      Angle       = 0
      zmax        = 5550
      
    EndIf
    
    ;Incrémentation pour l'angle
    AngleIntro + VitAngle
    
    ;Variable de la vitesse du texte
    yintro + 1
    
    ;Test si AngleIntro arrive au bord gauche si il y arrive il decremente de 1
       If AngleIntro > 100
       
            For i = 0 To 1
       
                VitAngle = 0 - i
       
            Next
          
         ElseIf AngleIntro < 0
          
            For i = 0 To 1
       
               VitAngle = 0 + i
       
            Next
          
       EndIf
       
    ;Création si le texte arrive a zero lancer le jeux 
       If yintro  > 1700
    
                Intro       = 0
                AffichInt   = 0
                AffichMenu  = 1
      
               ;On reinitialise tout pour apres
                AngleIntro  = 0
                xintro      = 0
                yintro      = 0
                Vt          = -80
                x4          = 170
                Angle       = 0
                zmax        = 2000
                
       EndIf
       
    StartDrawing(ScreenOutput())
    
      DrawingMode(1)
    
      ;On crée l'effet de particule
      ;-Particule 3D
        For i=0 To num 
    sz(i)=sz(i) + sspeed
    If sz(i)<=zmin 
      sz(i)=zmax 
      sx(i)=Random(xmax)-xmax/2 
      sy(i)=Random(ymax)-ymax/2 
    EndIf 
    screenx.w=(sx(i)* zoom) / sz(i) + centerx
    screeny.w=(-sy(i)* zoom)/ sz(i) + centery
    shade=Int(255/zmax* -sz(i)) 
    If screenx < #ScreenWidht 
      If screeny < #ScreenHeight 
        If screenx > 0 
          If screeny > 0 
           Plot(screenx,screeny,RGB(shade,shade,shade))
           Plot(screenx+1,screeny,RGB(shade,shade,shade))
           Plot(screenx-1,screeny,RGB(shade,shade,shade))
           Plot(screenx,screeny+1,RGB(shade,shade,shade))
           Plot(screenx,screeny-1,RGB(shade,shade,shade))
          EndIf 
        EndIf 
      EndIf 
    EndIf 
  Next i 
 zmax + 4
    
 If zmax > 5000
 
    zmax - 4
    
 EndIf
       
 If zmax < 1500
 
    zmax + 6
    
 EndIf
           DrawingFont(Police4)
        
           FrontColor(0,255,0)
        
             ;Affichage du texte defilant de haut en bas 
             For s = 0 To 18

               ;Affichage du texte en decaler vers la gauche de plus en + vite
               Locate(xintro, (yintro - 50 * s))
               DrawText(story(s))
               
             Next

    StopDrawing()
    
  EndProcedure
  
;*______________________________________*__**__*__**__*__**__*___________________________________________*
;/****************************************  //\\ BOUCLE //\\  *********************************************
;/****************************************  \\//*||**||*\\//  *********************************************
;*______________________________________*__**__*__**__*__**__*___________________________________________*
Repeat

  ClearScreen(Rouge,Vert,Bleu)
  
  ;Procedure :
  If Intro = 0
    
    ArrierePlan()
    
  EndIf
  
  If AffichMenu = 1  And AffichMenu1 = 1 And Intro = 0
     
        Menus()

     EndIf
     
    If DebutJeux = 1 And AffichMenu1 = 1 And AffichMenu = 0 And Intro = 0
       
          DebutJeux()
          
       EndIf
        
          If Affichjeux = 1 And  Intro = 0
        
            Jeux()
        
          EndIf

          
            If Affichscore = 1
            
               Affichscore()
            
            EndIf
          
            
              If Intro = 1
                  
                Intro()
              
              EndIf
          
          FlipBuffers()

;Fin du programme
ExamineKeyboard()

  ;Creation d'un capture d'ecran si on appui sur r
  If KeyboardPushed(#PB_Key_S)
  GrabSprite(500,0,0,1024,768)
  SaveSprite(500,"screengame.bmp")
  EndIf
  
Until KeyboardPushed(#PB_Key_Escape)
End
800 et quelques lignes pour sa voila :cry: j'espere que sa pourra aider certain débutant , c'est du 100 % Garzul alors c'est peut - êtres mal fait mais bon voila je me consacre à de meilleur projet maintenant vous pouvez en faire ce que vous voulez même le terminer il reste juste à placer les map quand on va sur jouer puis à placer le jouer et à faire jouer le joueur voila le code est donner :cry: . ( Regarder les effet quand on va sur score :) ) .
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

et ben alors, fainéant :lol:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Je suis pas fainéant c'est que je veux allez vers d'autre projet mieux .
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

il y a de bonnes idées , c'est chouette .
J'attends ton prochain projet.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Répondre