ça y est je les ai laché !!!!!

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
chikun
Messages : 185
Inscription : sam. 21/juin/2008 13:36

ça y est je les ai laché !!!!!

Message par chikun »

Code : Tout sélectionner



OpenConsole()
RandomSeed(ElapsedMilliseconds())



;-Initialisation & creation structure
;{;
;10	neu		code de conduite:1  =normal   ;vert (3,252,85)
;4	med		code de conduite:2  =docteur  ;jaune (252,249,3)
;2	psy		code conduite:3     =psy      ;bleu (0,255,255)
;32	bad	  code conduite:4     =mechant  ;orange (255,100,0)
;2  kil	  code de conduite:5  =tueur    ;rouge (255,0,0)


InitSprite()
OpenScreen(1024, 768, 32, "squelette ecran") 
InitKeyboard()
InitMouse()

Structure ent 
   xe.w 
   ye.w 
   nom.s
   cc.w         ;code de conduite
   vi.w         ;nb vie
   cr.w         ; r couleur RGB
   cg.w         ; g      "
   cb.w         ; b      "
EndStructure 

nbent=50 
Dim ent.ent(nbent) 
;}

;-charge les données des entitées:
;{
dnb=1:fnb=10:cd=1:rr=3:rg=252:rb=85:n$="neu"
Gosub charge  ;pour les 10 neutres 
dnb=11:fnb=14:cd=2:rr=255:rg=249:rb=3:n$="doc"
Gosub charge  ;pour les 04 docteurs
dnb=15:fnb=16:cd=3:rr=0:rg=255:rb=255:n$="psy"
Gosub charge  ;pour les 02 psy
dnb=17:fnb=48:cd=4:rr=255:rg=100:rb=0:n$="bad"
Gosub charge  ;pour les 32 mauvais
dnb=49:fnb=50:cd=5:rr=255:rg=0:rb=0:n$="kill"
Gosub charge  ;pour les 2 tueurs

;}


;-creation des entitées
;{
For i=1 To nbent 
  
    CreateSprite( i,32,32) ; on cree un sprite (une balle) 
    StartDrawing(SpriteOutput(i) ) ; on va dessiner dans le sprite 
        Circle(16, 16, 16, RGB(ent(i)\cr,ent(i)\cg,ent(i)\cb)) ; on dessine un rond dedans(dans le sprite)  
        DrawText(4,8,ent(i)\nom,RGB(0,0,125),RGB(ent(i)\cr,ent(i)\cg,ent(i)\cb)) ; on ecrit l'identité sur le sprite ! 
    StopDrawing()
    
Next i
;}


;-boucle principale
Repeat

RandomSeed(ElapsedMilliseconds())

  ExamineKeyboard() 
  ExamineMouse() 
  
  For i=1 To nbent
    DisplayTransparentSprite(i,ent(i)\xe,ent(i)\ye) ; affichage des entitées
  
  Next i
  
  
;-determine la direction
;{

For i=1 To nbent
  ;If ent(i)\vi=0 : Goto cont ; si il est crevé , lache l'affaire...



  d=Random(7)+1; choix de la direction

  If d=1 And ent(i)\ye>0: ent(i)\ye=ent(i)\ye-1 
  EndIf ; nord

  If d=2 And ent(i)\ye>0 And ent(i)\xe<736 : ent(i)\ye=ent(i)\ye-1 : ent(i)\xe=ent(i)\xe+1
  EndIf ; nord/est

  If d=3 And ent(i)\xe<736: ent(i)\xe=ent(i)\xe+1 
  EndIf ; est

  If d=4  And ent(i)\ye>32 And ent(i)\xe<737 : ent(i)\ye=ent(i)\ye-1 : ent(i)\xe=ent(i)\xe+1
  EndIf ; sud/est

  If d=5 And ent(i)\ye<736: ent(i)\ye=ent(i)\ye+1 
  EndIf ; sud

  If d=6  And ent(i)\ye<736 And ent(i)\xe>0 : ent(i)\ye=ent(i)\ye+1 : ent(i)\xe=ent(i)\xe-1
  EndIf ; sud/ouest

  If d=7 And ent(i)\xe>0: ent(i)\xe=ent(i)\xe-1 
  EndIf ; ouest

  If d=8  And ent(i)\ye>0 And ent(i)\xe>0 : ent(i)\ye=ent(i)\ye-1 : ent(i)\xe=ent(i)\xe-1
  EndIf ; nord/ouest

cont:
Next i
;}

    FlipBuffers() ; affiche le resultat a l'ecran ! 
    ClearScreen(RGB(0, 0,0)) ; nettoie l'ecran apres affichage 
Until KeyboardPushed(#PB_Key_Escape) Or MouseButton(2) 
End 

  
;**************************************************************************
;-sp: chargement des données
;{

charge:
For i=dnb To fnb
ent(i)\vi=10

x=Random(992) : y=Random(736)
ent(i)\xe=x : ent(i)\ye=y
ent(i)\nom=n$
ent(i)\cc=cd
ent(i)\cr=rr:ent(i)\cg=rg:ent(i)\cb=rb
Next

Return

;}




:idea: mais keeki font :roll:

dobro help
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

..........
Dernière modification par Backup le mar. 19/août/2014 12:54, modifié 1 fois.
chikun
Messages : 185
Inscription : sam. 21/juin/2008 13:36

Message par chikun »

:D

approche que je te fasse un bisou :oops:

l'élève n'est pas si mauvais (?)

je continue....
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Code : Tout sélectionner

        If ent(i)\xe<0 
            ent(i)\xe=1024 
            
        EndIf 
        If ent(i)\xe>1024 
            ent(i)\xe=0 
            
        EndIf 
        If ent(i)\ye<0 
            ent(i)\ye=768 
            
        EndIf 
        If ent(i)\ye>768 
            ent(i)\ye=0 
        EndIf 
        
Méfiance... S'il s'agit de variables ayant un rapport avec l'affichage (vu les parametres, je pense que oui), remplace les 768 par des 767 et les 1024 par des 1023
chikun
Messages : 185
Inscription : sam. 21/juin/2008 13:36

Message par chikun »

c remplaçé , merci
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

SPH a écrit :

Code : Tout sélectionner

        If ent(i)\xe<0 
            ent(i)\xe=1024 
            
        EndIf 
        If ent(i)\xe>1024 
            ent(i)\xe=0 
            
        EndIf 
        If ent(i)\ye<0 
            ent(i)\ye=768 
            
        EndIf 
        If ent(i)\ye>768 
            ent(i)\ye=0 
        EndIf 
        
Méfiance... S'il s'agit de variables ayant un rapport avec l'affichage (vu les parametres, je pense que oui), remplace les 768 par des 767 et les 1024 par des 1023
sert a rien de remplacer !! :?
parce qu'il s'agit de coordonnées pour les Sprites , et les Sprites on peut les envoyer en dehors de l'écran !!

Heureusement d'ailleurs !! sinon adieux les Scrolling :lol:

par contre s'il avait s'agit de faire des PLOT() , ou POINT() là SPH avait raison :)
chikun
Messages : 185
Inscription : sam. 21/juin/2008 13:36

Message par chikun »

j'avais compris ça monsieur Dobro, disons que je me suis empressé d'executer et devenir repondre ici avant d'avoir vu toutes tes modifs qui optimisent le codage. le probleme du "sortie d'ecran n'est plus d'actualité..

j'y retourne apres avoir fait une pause en me consacrant à la colision

ah! g diminuer de moitié le temps de changement de direction; tu ne m'en voudras pas :lol:
chikun
Messages : 185
Inscription : sam. 21/juin/2008 13:36

Message par chikun »

pffffff en plein boulot sur les test de colision que ma cop m'appele pour
qu'on passe la soirée ensemble. :cry:

vivement demain apres le boulot :roll:
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

T'es peut-être pas obligé de nous raconter ta vie, non plus. :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Chris a écrit :T'es peut-être pas obligé de nous raconter ta vie, non plus. :lol:
c'est clair ! :lol:
Stefou
Messages : 234
Inscription : jeu. 18/janv./2007 14:08

Message par Stefou »

Fait attention Chikun y'a une tripoté de célibataire grincheux içi ! :D :D
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Stefou a écrit :Fait attention Chikun y'a une tripoté de célibataire grincheux içi ! :D :D
Je connais pas mal de mariés qui sont nettement plus grincheux que nous.
(D'ailleurs, c'est peut-être dû au fait qu'ils soient mariés, justement.) :roll:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Elle est gentille ?
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Je connais pas mal de mariés qui sont nettement plus grincheux que nous.
(D'ailleurs, c'est peut-être dû au fait qu'ils soient mariés, justement.)
Aaaaahhh !!!! les femmes........difficile de vivre avec, tres dur de vivre sans .........:roll:
Répondre