Page 1 of 3
[Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 12:37
by Persalteas
Je crée ce topic après le discution d'hier sur le chat


Le but était de réaliser ceci: une ligne qui tourne en fonction de l'angle.
Et je soutenais que c'était facile à faire en Basic...
J'ai donc essayé en Basic, et effectivement, c'est...bien trop lent.
Rien qu'avec une ligne d'affichée, ça n'atteint pas la vitesse de l'Axe.
laser.gif
Désolé Matref pour t'avoir sous-estimé :S
*Persalteas s'incline
Code AxeCode Basic:
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
ClrDraw
AxesOff
Degree
DelVar A
-.2->Xmin
.2->Xmax
-.2->Ymin
.2->Ymax
Repeat 0
A+1->A
If A=361:1->A
Line(0,0,sin(A),cos(A
Text(0,0,A
Line(0,0,sin(A),cos(A),0
End
(Bon mon code Basic est pas optimisé, mais osef, je gagnerai pas grand chose en vitesse...)
Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 12:51
by Lionel Debroux
Même en BASIC, c'est
facile à faire - c'est juste lent

Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 12:53
by Persalteas
Oui, c'est précisément la rapidité qui est difficile à faire.
Le laser en question ayant pour but d'être inclus dans le jeu IkarugaX, c'est à dire au milieu de plein d'autres explosions, lasers, et bombes, fallait que ça aille vite...
Mais l'affichage de trois lignes est impossible à 6MHz si on veut rester dans une vitesse potable.
Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 13:35
by Hayleia
Je comprends pas le but de ce topic. T'es en train de comparer du Basic à de l'Axe, évidemment que l'Axe va plus vite.
J'aurais compris si tu l'avais fait en Axe et que tu avais trouvé ton code plus lent que celui de matref, mais là, je vois pas ce que tu veux faire.
Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 13:38
by Persalteas
Le truc est que je voulais répondre à matref qui n'est pas connecté sur le chat.
Ainsi, il va tomber sur le topic.
il disait que c'était exceptionnel d'avoir fait ça en Axe en 300 octets seulement, ce qui m'avait semblé pas si exceptionnel que ça.
Je lui avait dit qu'en Basic ça se faisait en bien moins que ça.
Je lui ai donc fait en Basic, mais c'est moins rapide.
Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 13:43
by Hayleia
Ah, ben évidemment que ça se fait en moins d'octets en Basic vu que les "routines" cos et Line et les autres sont incluses dans l'OS. Si matref compilait en fusion, lui aussi le ferait en bien moins que 300 octets

Mais la différence de vitesse serait la même

Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 14:53
by Wistaro
Je comprend pas le 0 à la fin de cette ligne:
Line(0,0,sin(A),cos(A),0
La syntaxe de line() n'est t-elle pas line(x,y,x,y) ?
Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 14:56
by Persalteas
Le zéro sert à effacer la ligne au lieu de la tracer.
Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 16:24
by Wistaro
ha ok.
On peut mettre alors Text(20,10,"machin",0
?
Re: [Axe/Basic] Laser en fonction de l'angle

Posted:
11 May 2013, 16:24
by Persalteas
Non, ça marche pour Line, pas pour Text. Ni pour les autres trucs d'ailleurs.