Forum » » Création-Développement » » Outrun Holly démo ;-)
Posté : 27-02-2011 17:03
Hello,
@DISPLAY {width=640, height=480}
BeginDoubleBuffer
Dim ZMap[200]
;Initialize ZMap
For A = 1 To 200
ZMap[A] = 1/ (A - 240)
Next
; Normalize ZMap so the Line with the  ;player on it is
;scale=1 (Or would be
; If we had a player sprite :))
Local b = 1 / ZMap[8]
Local b = b * 100 ;in percents becaus e QBasic's MOD is lame
For Local A = 1 To 200
ZMap[A] = ZMap[A] * b
Next
; Draw the road
TexOffset = 100
SegY = 200
CreateBrush(1,320,1,#GRAY)
SelectBrush(1)
Line(0,0,20,0,#WHITE)
Line(300,0,320,0,#WHITE)
EndSelect
CreateBrush(2,320,1,#GRAY)
SelectBrush(2)
Line(0,0,20,0,#RED)
Line(300,0,320,0,#RED)
Line(158,0,162,0,#WHITE)
EndSelect
SetFillStyle(#FILLGRADIENT, #LINEAR, $002266, $00AAFF)
CreateBrush(3,640,280,#BLACK)
SelectBrush(3)
Box(0,0,640,280)
EndSelect
Repeat
StartTimer(1)
If IsKeyDown("UP")
scrollspeed=Min(scrollspeed+0 .05,20)
Else
scrollspeed=Max(scrollspeed-0 .2,0)
EndIf
; Set up the frame
Local X = 320
Local HalfWidth = 220
Local ScreenLine = 480
Local MX=(MouseX()-512)/512
For Local A = 0 To 200< br /> X = X + M X
Local Calcule=(ZMap[A]&n bsp;+ TexOffset) % 100
If Calcule> 50
Grass Color = #GREEN
RoadC olor = #GRAY
br=1< br /> Else
Grass Color = #OLIVE
RoadC olor = #SILVER
br=2< br /> EndIf
Local sx=((X + HalfWidth)-(X -&nb sp;HalfWidth))/320
DisplayBrush (br,X - HalfWidth, S creenLine,{scalex=sx,smoothscale=False})
Line (0, ScreenLine, X - Hal fWidth, ScreenLine,GrassColor)
Line (X + HalfWidth, ScreenLine,& nbsp;639,ScreenLine, GrassColor)
HalfWidth = HalfWidth - 1
ScreenLine = ScreenLine - 1
Next
; Wrap positions (fractional):
TexOffset=Wrap(TexOffset + ScrollSpeed,&nbs p;0, 100)
DisplayBrush (3,0,0)
; On récupère le te mps du chrono
Local Temps=GetTimer(1)
; On affiche la vitesse en&n bsp;FPS
TextOut(0,0,Round((1/Temps)*1000))
TextOut(30,0,"Images par seconde")
TextOut(#CENTER,20,"APPUYER sur la tou che Fleche HAUT pour accélérer")
TextOut(#CENTER,50,"--------------------------------- -----")
TextOut(#CENTER,60,"- Programme original&nb sp;de Lazar Zoltan -")
TextOut(#CENTER,70,"- Code sour ce original en QBasic -")
TextOut(#CENTER,80,"- Modifié & optimiser par Artblink -")
TextOut(#CENTER,90,"--------------------------------- -----")
; On remet le chronomètre& nbsp;à zéro
ResetTimer(1)
Flip
Cls
Forever
Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1008&forum=14