Problème de conversion

Sujets variés concernant le développement en PureBasic
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Problème de conversion

Message par Good07 »

Bonjour à tous ! :D

Un petit sujet de réflexion: 8O

J'ai trouvé un petit programme écrit en javascript (en fait en JamajicSript).Je me suis dit vu la longueur du programme qu'il serait très facile de le transformer en Pure Basic. En fait je me heurte à un petit problème de tableau. Je ne vois pas comment passer un tableau (myattractors) dans les paramètres d'une procedure. je m'explique peut être mal et un bon exemple vaut mieu qu'un long discours.

Merci d'avance pour vos explications.

André.

[/code]

// listing Jamajic....

Var x=0;
Var y=0;

Function Sierpinski(attr,loops)
{
x=attr[0,0];
y=attr[0,1];
While(loops--)
{
attr_choisi=Random(3);
x=(attr[attr_choisi,0]+x)/2;
y=(attr[attr_choisi,1]+y)/2;
SetPixel(x,y);
}
}

Function SetArrayPoints(attr,x1,y1,x2,y2,x3,y3)
{
attr[0,0]=x1;
attr[1,0]=x2;
attr[2,0]=x3;
attr[0,1]=y1;
attr[1,1]=y2;
attr[2,1]=y3;
}

myattractors[0,0]=0;
SetArrayPoints(myattractors,0,480,320,0,640,480);
Sierpinski(myattractors,100000);
While(TRUE);

Le mien en Pure....

Code : Tout sélectionner


; La convertion en Pure Basic ?
; 
;
Dim  attr.b(2,2)
Dim myattractors.b(2,2)


If OpenWindow(0, 0, 0, 640, 480, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Sierpinski") = 0 Or CreateGadgetList(WindowID()) = 0
  End
EndIf

Procedure Sierpinski(attr,loops)
x=attr(0,0)
y=attr(0,1)
StartDrawing(WindowOutput())
While loops<>0
attr_choisi=Random(2)
x=(attr(attr_choisi,0)+x)/2
y=(attr(attr_choisi,1)+y)/2
Plot(x,y,RGB(0,0,0))
loops=loops-1
Wend
StopDrawing()
EndProcedure

Procedure Setarraypoints(attr,x1,y1,x2,y2,x3,y3)
attr(0,0)=x1
attr(1,0)=x2
attr(2,0)=x3
attr(0,1)=y1
attr(1,1)=y2
attr(2,1)=y3
EndProcedure



Setarraypoints(myattractors(),0,480,320,0,640,480)
Sierpinski(myattractors(),100000)


Repeat
  Event = WaitWindowEvent()
Until Event = #PB_EventCloseWindow
End


; ExecutableFormat=Windows
; CursorPosition=4
; FirstLine=1
; EOF
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

C'est vraiment très bien traduit, juste deux rectifications:

Code : Tout sélectionner

Dim  attr.l(2,2) 
Dim myattractors.l(2,2) 
car les variables Byte(.b) limite les nombres à (-128 à +127)

Sympa!

:)
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Message par Good07 »

Ne cherchez plus j'ai trouvé la réponse. Ou plutôt j'ai trouvé pourquoi mon listing en PureBasic ne fonctionnait pas. En première ligne j'avais dimensionné mon tableau (Dim attr.b(2,2)) en byte alors que celui-ci reçoit des valeurs supérieures à 256. :oops:
Donc vous supprimez le .b et ça fonctionne sans problème, même si je n'ai pas tout compris...

Merci :D

André.
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Message par Good07 »

Merci Nico

On a posté les réponses ensemble et tu as tout juste.

Merci pour ton aide. :D

Par contre il faudra remettre à l'heure l'horloge du forum elle a deux heures de retard :mad:
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Good07 a écrit :Merci Nico

On a posté les réponses ensemble et tu as tout juste.

Merci pour ton aide. :D

Par contre il faudra remettre à l'heure l'horloge du forum elle a deux heures de retard :mad:
Le forum n'a pas deux heures de retard, l'heure est donnée au format GMT (heure du méridien de Greenwitch).

C'est nous qui avons deux heure d'avance.
Une heure à cause du décalage horaire, et une à cause de l'heure d'été.

Par contre, tu peux aller modifier ça dans ton profil.

Chris :)
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

et tu peut metre GMT +2 dan ton profil ;)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

C'est exactement ce que je viens de dire! :lol:

Chris :)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oui mais l'heure n'a de sens que si on se base tous sur la même référence sinon ça devient n'importe quoi!

:)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

nico a écrit :Oui mais l'heure n'a de sens que si on se base tous sur la même référence sinon ça devient n'importe quoi!

:)
Pas du tout, parce que le code du forum convertit l'heure à laquelle tu poste en GMT, et la reconvertit ensuite selon l'affichage que chaque client choisit.

Si tu poste un message à 12 h chez toi, avec GMT+2h, un client qui a GMT+6 heures verra que tu as posté un message à 16 heures

Et si il te réponds à 16h05 chez lui, tu verras son message posté à 12h05 chez toi.

Chris ;)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

OOOuupsssss....... :oops:

Ce serait bien quand même que l'on soit tous par défaut lorsqu'on s'inscrit à l'heure nationale.

:)
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

nico a écrit :OOOuupsssss....... :oops:

Ce serait bien quand même que l'on soit tous par défaut lorsqu'on s'inscrit à l'heure nationale.

:)
Oui, mais bon! Tu fais le changement une fois dans ton profil, et après t'est tranquille, ca reste d'une session à l'autre.

Chris :)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oui mais pour tout le monde (enfin pour tous les Fr)

c'est pas que c'est gênant, ce serait juste bien!

:)
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Message par Good07 »

Bonsoir à tous !

Désolé pour la polémique sur l'heure, mais je n'avais pas fait le rapprochement avec l'heure d'été. OK pour GMT+2 mais au mois d'octobre il faudra faire GMT+1.
Je reste donc à l'heure GMT l'essentiel est de le savoir.

A plus et merci encore.

Ce forum est vraiment super et les membres vraiment sympatiques. :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Chris a écrit : C'est nous qui avons deux heure d'avance.
Une heure à cause du décalage horaire, et une à cause de l'heure d'été.

Le forum n'a pas deux heures de retard, l'heure est donnée au format GMT (heure du méridien de Greenwitch).
les anglais et nous les français avont le meme méridien !!!
avant ce meridien, on l'appelait "Méridien de Paris" !!!! :D
ont etaient chauvin avant !

l'explication viens qu'en heure d'hiver = zoulou+1 (zoulou etant l'heure solaire)
nous en france on a l'heure qui nous a été imposé par l'allemagne nazi !!!
c'est la raison pour laquelle les anglais vivent en hiver a l'heure solaire
car comme vous le savez, les allemands n'ont pas reussi a l'epoque, a envahir leur ile (aux anglais)

et que depuis la fin de la guerre (temporaire puisque ça n'est qu'un armistice,en effet le traité de paix n'ayant toujours pas encore été signé, officiellement ont est toujours en guerre avec l'allemagne, on a fait une treve c'est tout!) , nous avons gardé l'heurs imposé par l'allemagne nazi ..
nous y avont peut etre vu un avantage !!!????

voici donc l'explication du decalage d'une heure que nous avons en hivers
pour l'heure d'été, c'est une raison pseudo economique !

:D

puisqu'on est dans les méridien je vais sortir ma science !!

la definition du metre etalon est :
la un dix millionieme partie du quard du méridien terrestre de green sandwich .. :D
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

(temporaire puisque ça n'est qu'un armistice,en effet le traité de paix n'ayant toujours pas encore été signé, officiellement ont est toujours en guerre avec l'allemagne, on a fait une treve c'est tout!)
Faux, la paix est signée quand un armistice est signé, pusique le pays qui demande et qui signe reconnait sa faiblesse et rend les armes ! Ce n'est pas une trève.
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Répondre