Code convert from blitz3D

BlitzMax Forums/BlitzMax Programming/Code convert from blitz3D

Filax(Posted 2007) [#1]
Hi :)

I got a problem with this code converted from blitz3D
but i don't find the problem :/ ??? Anybody can help me :) ?

Blitzmax Code :
SuperStrict

Graphics 1024,768,0


Global q:Float=0
Global w:Float=0
Global xm:Float=0
Global ym:Float=0
Global xn:Float=0
Global yn:Float=0
Global dx:Float=0
Global dy:Float=0
Global sq:Float=0
Global fa:Float=0
Global st:Float=400

Global xp:Float[st+1]
Global yp:Float[st+1]
Global xg:Float[st+1]
Global yg:Float[st+1]

For q=1 To st
 xp[q]=Rnd(-120,120)+Rnd(-120,120)
 yp[q]=Rnd(-120,120)+Rnd(-120,120)
'xp[q)=(Rand(0,1)*800)+Rnd(-40,40)
'yp[q)=Rnd(-40,40)
 xg[q]=(+yp[q]/160)
 yg[q]=(-xp[q]/160)
Next

SetOrigin 512,384


While Not KeyHit(KEY_ESCAPE)
 xm=0
 ym=0
 Cls

 For q=1 To st
  For w=1 To st
   If Not q=w Then
    dx=xp[q]-xp[w]
    dy=yp[q]-yp[w]
    sq=Float(0.01/(dx*dx+dy*dy))
    xg[q]=xg[q]-(dx*sq*1.21)
    yg[q]=yg[q]-(dy*sq*1.21)
   End If
  Next

 xg[q]=xg[q]*0.95
 yg[q]=yg[q]*0.95
 xp[q]=xp[q]+xg[q]
 yp[q]=yp[q]+yg[q]
 xm=xm+xp[q]
 ym=ym+yp[q]

 Next

 xn=xn+xm
 yn=yn+ym
	

 SetColor 24,24,24

 For q=-512 To 512 Step 200
  DrawRect -512,q-(yn/st) Mod 200,1024,1
  DrawRect q-(xn/st) Mod 200,-512,1,1024
 Next

 For q=1 To st
  xp[q]=xp[q]+xg[q]-Float(xm/st)
  yp[q]=yp[q]+yg[q]-Float(ym/st)

  fa=Abs(Sqr((xg[q]^2)+(yg[q]^2)))

  If fa>5 Then fa=5
  SetColor 150+fa*20,50+fa*40,100-fa*10
	
  Plot xp[q],yp[q]
 Next

 Flip 

Wend
End 


Blitz3D Code :

Graphics 1024,768,16,1
SetBuffer BackBuffer()
Origin 512,384

q%=0
w%=0
xm#=0
ym#=0
xn#=0
yn#=0
dx#=0
dy#=0
fa%=0
st%=400

Dim xp#(st)
Dim yp#(st)
Dim xg#(st)
Dim yg#(st)

For q=1 To st
 xp(q)=Rnd(-120,120)+Rnd(-120,120)
 yp(q)=Rnd(-120,120)+Rnd(-120,120)
;xp(q)=(Rand(0,1)*800)+Rnd(-40,40)
;yp(q)=Rnd(-40,40)
 xg(q)=(+yp(q)/160)
 yg(q)=(-xp(q)/160)
Next




While Not KeyHit(1)
 xm=0
 ym=0

 For q=1 To st
  For w=1 To st
   If Not q=w Then
    dx=xp(q)-xp(w)
    dy=yp(q)-yp(w)
    sq#=0.01/(dx*dx+dy*dy)
    xg(q)=xg(q)-(dx*sq*1.2)
    yg(q)=yg(q)-(dy*sq*1.2)
   End If
  Next
 xg(q)=xg(q)*0.8
 yg(q)=yg(q)*0.8
 xp(q)=xp(q)+xg(q)
 yp(q)=yp(q)+yg(q)
 xm=xm+xp(q)
 ym=ym+yp(q)
 Next

 xn=xn+xm
 yn=yn+ym
 Color 24,24,24
 For q=-512 To 512 Step 200
  Rect -512,q-(yn/st) Mod 200,1024,1
  Rect q-(xn/st) Mod 200,-512,1,1024
 Next

 For q=1 To st
  xp(q)=xp(q)+xg(q)-(xm/st)
  yp(q)=yp(q)+yg(q)-(ym/st)
  fa=Abs(Sqr((xg(q)^2)+(yg(q)^2)))
  If fa>5 Then fa=5
  Color 150+fa*20,50+fa*40,100-fa*10
  Plot xp(q),yp(q)
 Next

 Flip 0
 Cls
Wend
End 



fredborg(Posted 2007) [#2]
Salut!

Not(q=w)

Ca c'est la probleme, en fait!


Filax(Posted 2007) [#3]
Ah ok ! Merci Fredborg ! :)

I see that Fredborg want to learn french :)