3e planète après le soleil

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

3e planète après le soleil

Message par Dr. Dri »

je m'ennuyait alors voila un petit code...

Code : Tout sélectionner

#PI_180 = 0.017453

Structure point2D
  d.l ;distance (en pixels)
  a.l ;angle (en degrés)
  r.l ;epaisseur du point
      ;rayon en pixels
  g.l ;Centre de gravité
      ;pointeur vers 'point2D'
  x.l ;à utiliser si g est nul
  y.l ;à utiliser si g est nul
  c.l ;couleur
EndStructure

Procedure mod(a.l, b.l)
  If b <> 0
    a % b
    If a < 0 : a + Abs(b) : EndIf
  EndIf
  ProcedureReturn a
EndProcedure

Procedure afficherPoint2D(*p.Point2D)
  r.l = *p\r
  g.l = *p\g
  
  If g <> #NULL
    
    rad.f = *p\a * #PI_180
    
    x.l = Cos(rad) * *p\d
    y.l = Sin(rad) * *p\d
    
    While g <> #NULL
      CopyMemory( g, p.Point2D, SizeOf(Point2D) )
      
      rad = p\a * #PI_180
      
      xx = Cos(rad) * p\d
      yy = Sin(rad) * p\d
      
      x + xx
      y + yy
      
      g = p\g
    Wend
    
    x + p\x
    y + p\y
    
  Else
    
    x = *p\x
    y = *p\y
    
  EndIf
  
  x - r
  y - r
  Circle(x, y, r << 1, *p\c)
EndProcedure

Soleil.Point2D
Soleil\r = 8
Soleil\g = #NULL
Soleil\x = 400
Soleil\y = 300
Soleil\c = RGB(255, 255, 0)

Mercure.point2D
Mercure\d = 60
Mercure\a = 0
Mercure\r = 2
Mercure\g = @Soleil
Mercure\c = RGB(150, 150, 150)

Venus.point2D
Venus\d = 150
Venus\a = 0
Venus\r = 3
Venus\g = @Soleil
Venus\c = RGB(250, 150, 50)

Terre.point2D
Terre\d = 200
Terre\a = 0
Terre\r = 4
Terre\g = @Soleil
Terre\c = RGB(0, 0, 255)

Lune.point2D
Lune\d = 20
Lune\a = 0
Lune\r = 2
Lune\g = @Terre
Lune\c = RGB(250, 200, 100)

InitSprite()
InitKeyboard()
OpenScreen(800, 600, 32, "")

Repeat
  ExamineKeyboard()
  ClearScreen(0, 0, 0)
  
  If StartDrawing( ScreenOutput() )
    afficherPoint2D(Soleil)
    afficherPoint2D(Mercure)
    afficherPoint2D(Venus)
    afficherPoint2D(Terre)
    afficherPoint2D(Lune)
    StopDrawing()
  EndIf
  
  Mercure\a + 3
  Venus\a + 2
  Terre\a + 1
  Lune\a + 5
  
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Dri ^^
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

Sympa! C'est pas mal car de tête, la distance Venus/Soleil c'est 0.72 fois celle Terre/Soleil et tu as mis 0.75.
Vous s'aviez que sur Venus une année etait plus courte qu'une journée ? :jesors:
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message par Dräc »

Du coup je ne sais pas si, pour les habitants de Venus, il faudra leur fêter une bonne année ou une bonne journée !?! :mrgreen:
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

lol
Pour les proportions on est forcément loin du compte....
Donc j'ai fait ca tres au feeling...

Dri ;)
mangatome
Messages : 80
Inscription : mer. 29/déc./2004 13:19
Contact :

Message par mangatome »

en tout cas c'est sympa :) ça montre aux noobs comme moi comment gérer la 2d.
http://www.cybisoft.net - mes jeux, mods, tools en PB et autres languages :)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Bah c'est surtout du bidouille bidouille...
Un peu de maths, un peu d'algo et voila le résultat

Dri ;)
Avatar de l’utilisateur
Ouaf-Ouaf
Messages : 212
Inscription : dim. 11/juil./2004 9:07

Message par Ouaf-Ouaf »

marrant ^^
Le problème n'est tant pas tant la dette.. que les paradis fiscaux !
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

c'est amusant :D :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

cool

manque les orbites elliptique

la simulation de la vrais position en fonction de la date ! :lol: :lol:


sinon je supose que tu as du te faire la meme chose en dark en 3D :D
mangatome
Messages : 80
Inscription : mer. 29/déc./2004 13:19
Contact :

Message par mangatome »

darkbasic? pouah!
http://www.cybisoft.net - mes jeux, mods, tools en PB et autres languages :)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Amusant
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)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

darkbasic? pouah!
vais pas te faire la tirade du nez !!

mais DRI se debrouille plutot bien en Dark
(moi aussi d'ailleurs)

a lors peut etre que ton " pouah! " viens de ton incompetence :D

c'est pas les outils qui font le mauvais ouvrié !! :lol:


(whooaaa je suis en forme moi ! :D )
(redonne moi de ton paté "fois gras et de tes petit machin noir qui on un gout salée et une odeur de poisson )

( purée j'ai les doigts qui glisse sur le clavier maintenant )

( heu !! ... Isabelle t'es sur ? maintenant la devant tout le monde qui nous lisent ? )
Dernière modification par Backup le ven. 31/déc./2004 19:01, modifié 1 fois.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Dobro a écrit :cool

manque les orbites elliptique

la simulation de la vrais position en fonction de la date ! :lol: :lol:


sinon je supose que tu as du te faire la meme chose en dark en 3D :D
Manqué ^^
je touche pas à la 3D mouah :P
Sinon pour une trajectoire elliptique il suffit de changer le champ d en deux champs dx et dy ^^ et d'adapter les formules de rotation...

Aussi je m'ennuyais vraiment donc c'est pas un de mes anciens codes en DB :P

Dri ;)
mangatome
Messages : 80
Inscription : mer. 29/déc./2004 13:19
Contact :

Message par mangatome »

disons que j'ai vu nombre de codeurs DB cracher littéralement sur darkbasic après avoir testé blitz3d ... j'ai regardé DB (syntaxe surtout) et je me suis dit pouah. voila tout :) après question de goût.
http://www.cybisoft.net - mes jeux, mods, tools en PB et autres languages :)
Répondre