Code: Select all
FrameLimit 50
players=1
Const x=1 'Sijainti X-akselilla
Const y=2 'Sijainti Y-akselilla
Const t=3 'sijainti kotihetkestä menneisyyteen
//TAULUKOINTI
Dim player(players,3,1500) As Float
in_past = 0 'nykyinen aika, jossa menneisyydessä ollaan
past_travel = 3 'aikamatkustusnopeus
Repeat
//LÄPIKÄYNTI
For i=1 To players
//MÄÄRITETÄÄN MENNEISYYTTÄ
For a=1500 To 1 Step -1
player(i,x,a)=player(i,x,a-1)
player(i,y,a)=player(i,y,a-1)
player(i,t,a)=player(i,t,a-1)
Next a
player(i,x,0)=player(i,x,0)+((RightKey()-LeftKey())*2)
player(i,y,0)=player(i,y,0)+((DownKey()-UpKey())*2)
player(i,t,0)=in_past
If KeyDown(cbKeyQ)=1 And KeyDown(cbKeyA)=0 Then past_travel + 1
If KeyDown(cbKeyA)=1 And KeyDown(cbKeyQ)=0 Then past_travel - 1
If KeyDown(cbKeyS)=1 And KeyDown(cbKeyW)=0 Then in_past = in_past + past_travel
If KeyDown(cbKeyW)=1 And KeyDown(cbKeyS)=0 Then in_past = in_past - past_travel
in_past - 1
If KeyDown(cbKeyE) = 1 Then in_past + 2 'Hetkeen pysähtyminen
If in_past > 1500 Then in_past = 1500
If in_past < 0 Then in_past = 0
If past_travel < 3 Then past_travel = 3
//MINÄSI
Color cbWhite
Box player(i,x,0)-5,player(i,y,0)-5,10,10
//Entiset minäsi
For j = 1 To 1500
If player (i,t,j) = in_past - j Then Box player(i,x,j)-5,player(i,y,j)-5,10,10
Next j
Next i
Text 0,20,FPS() + " " + in_past + " " + past_travel
DrawScreen
Forever
Liikkuminen: nuolet
Ajassa liikkuminen: W & S
Aikamatkustusnopeuden säätö: Q & A
Ajassa pysähtyminen: E
Miksikähän kukaan ei kommentoi?
Yleisön pyynnöstä hieman lisäselvennystä:
Tässä esimerkissä voit liikuttaa valkoista neliötä tilan lisäksi myös ajassa (aikakone-periaatteella, ei siis kelausta) ja nähdä samassa hetkessä oleskelleet aiemmat minäsi. Historia tallentuu puolen minuutin ajalta.