Ce jeu a ete programe par moi en blitz basic (http:\\www.blitzbasic.com) c'est un clone de space invaders avec des powerups,missile, aliens et des boss.
Ne soyez pas trop dur avec moi car c'est ma 1ere source mais si vous trouvez que vous devez me critiquer n'ayez pas peur.
Si vous voulez compiler le jeu aller sur le site de blitz basic (http:\\www.blitzbasic.com)et telecharge BlitzPlus ou Blitz3D.
Source / Exemple :
; /----------------------------------------\
; | |
; | Mission: Pluto 2.0.1 |
; | Georges |
; | Revised 15/04/06 ____________________|
; |___________________|georges023@gmail.com|
Graphics 640, 480, 16, 1
AppTitle "Mission: Pluto 2.0 by Georges"
SetBuffer BackBuffer()
SeedRnd MilliSecs()
; * GFX *
;mets les images su jeu en memoire
Global Ships = LoadAnimImage("player2v1.jpg", 30, 37, 0, 7): MaskImage Ships, 0, 0, 0
Global Enemy = LoadAnimImage("Enemy.jpg", 40, 45, 0, 3): MaskImage Enemy, 0, 0, 0
Global Enemy2 = LoadAnimImage("ships.jpg", 24, 28, 0, 1): MaskImage Enemy2, 0, 0, 0
Global Enemy3 = LoadAnimImage("ships2.JPG", 68, 63, 0, 3): MaskImage Enemy3, 0, 0, 0
Global Power = LoadAnimImage("Powerups.jpg", 30, 38, 0, 4): MaskImage Power, 0, 0, 0
Global Boss = LoadAnimImage("boss.JPG", 158, 136, 0, 3): MaskImage Boss, 255, 0, 255
Global Asteroids = LoadAnimImage("Asteroids.bmp", 32 ,28, 0, 5): MaskImage Asteroids, 255, 0, 255
Global Explode = LoadAnimImage("explode.jpg", 32, 32, 0, 19)
Global Shots = LoadAnimImage("Shots 2.bmp",7, 12, 0, 3): MaskImage Shots, 255, 0, 255
Global EShots = LoadAnimImage("EShots.jpg", 30, 19, 0, 3): MaskImage EShots, 0, 0, 0
Global Orb = LoadAnimImage("Orb.jpg", 64, 64, 0, 2)
Global Logo = LoadImage("Logo.jpg"): MaskImage Logo, 0, 0, 0
Global Laser1 = LoadImage("laser.jpg")
splashscreenimage = LoadImage("splashscreen.jpg"):MaskImage splashscreenimage, 0, 0, 0 ;the splash screen
Global font_one=LoadFont( "Halo",20 )
; * SFX *
;mets les sons en memoire
Global Shot1SFX = LoadSound("bomb.wav")
Global Shot5SFX = LoadSound("shot5.wav")
Global DiveSFX = LoadSound("Dive.wav")
Global ExploSFX = LoadSound("Explode.wav")
Global PowerSFX = LoadSound("Power.wav")
Global PulseSFX = LoadSound("Pulse.wav")
Global LaserSFX = LoadSound("Laser.wav")
Global explosionsound = LoadSound("explode.wav")
Global bulletsound = LoadSound("zing.wav")
Global Laser1SFX = LoadSound("Zing.wav")
;Music
;Joue la musique du fond
backgroundmusic = PlayMusic ("Mars.mp3")
Global mapwidth,mapheight,maposx,maposy,space
; * Vars *
.Reset
FlushKeys()
Global EFrame = 0, EFMax = 3, AW = 32, AH = 30
mapwidth=32:mapheight=32:space=33
Global P1X, P1Y, P1Score = 0 ; Player 1
Global FPS = 0, Frames = 0, Time# = MilliSecs() + 1 ; FPS Counter
Global BulletTime = MilliSecs()
Global AnimTimer = MilliSecs(), MainTimer = MilliSecs()
Global AlienNum = 30, AX = 32, AY = 32, AType = 1, Amax = 1, ADir = 0, I, ADive = 0, DiveMax = 1
Global Level = 30, Weap = 1, WeapFrame = 0, EWeapFrame = 0
Global P1Lives = 6, PlayerHit = 0, JustRun = 1
Global Line1$, Line2, Line3$, Line4, Line5$, Line6, Line7$, Line8, Line9$, Line10
Global Difficulty = 990, Diff2 = 100
Global EType = 1, AKill = 0, BlastTimer = MilliSecs(), BTR = 1750, BFlag = 0, LaserTime = MilliSecs()
Global TempM, LSF = 0, DFlag1 = 0, DFlag2 = 0, DFlag3 = 0
;dimension map And score table
Dim map(mapwidth,mapheight)
Type Stars
Field X
Field Y
Field C
Field S
Field T
Field F
End Type
Type players ; you the hero
Field x,y,sx,sy,dx,dy,frame,image,dest,dir,speed,bored,state
End Type
Type flys ; fireflys and butterflys
Field x,y,sx,sy,dx,dy,sort,frame,image,dest,dir,speed,state
End Type
;
Type objects ; boulders and diamonds ect ect
Field x,y,sx,sy,dx,dy,frame,image,dest,dir,speed,sparkle#,state
End Type
;
Type explosions ; explosions
Field x,y,sx,sy,frame,image,speed
End Type
Type Bullet
Field X
Field Y
Field T
End Type
Type EParticle
Field X
Field Y
Field L
End Type
Type Alien
Field X
Field Y
Field T
Field S
Field D
Field ID
Field Dive
End Type
Type Explosion
Field X
Field Y
Field F
Field T
End Type
Type PowerUp
Field X
Field Y
Field S
Field T
End Type
Type Boss1
Field X
Field Y
Field S
Field L
Field D
Field F
End Type
Type Bull
Field X
Field Y
Field A
Field D
Field F
Field T
Field K
End Type
level = 1
DrawImage(splashscreenimage, 165, 180)
Flip
Delay 3000
Font = LoadFont("halo", 14, False, False, False)
SetFont Font
For h.Boss1 = Each Boss1
Delete H
Next
.Level
LSF = 1
For b.Bullet = Each Bullet
Delete b
Next
For e.EParticle = Each EParticle
Delete E
Next
For a.Alien = Each Alien
Delete A
Next
For bb.Bull = Each Bull
Delete BB
Next
If Level = 7 And DFlag1 = 0 Then DiveMax = DiveMax + 1: DFlag1 = 1
If Level = 14 And DFlag2 = 0 Then DiveMax = DiveMax + 1: DFlag2 = 1
If Level = 21 And DFlag3 = 0 Then DiveMax = DiveMax + 1: DFlag3 = 1
TempX = 255: TempY = 0
While Not KeyHit(28)
Cls
Repeat
Until MilliSecs()-MainTimer>=13
CStars()
RStars()
RExplo()
RPower()
If Level > 9 Then ; Set 2
EType = 2: EFrame = 0: EFMax = 4: AW = 32: AH = 44
EndIf
If Level > 19 Then ; Set 3
EType = 3: EFrame = 0: EFMax = 3: AW = 32: AH = 30
EndIf
If JustRun = 1 Then DrawImage Logo, 165, 180: DisplayHiScores()
AlienNum = 30
If Diff2 <= 8 Then Diff2 = 8
AX = 32
AY = 32
AMax = 1
ADir = 0
ADive = 0
P1X = 320 - 24
P1Y = 480 - 80
If Level <> 10 And Level <> 20 And Level <> 30 Then AKill = 0
PlayerHit = 0
Color TempX, TempX, TempX
If KeyHit(70) Then P1Lives = 3: PlaySound PowerSFX
If KeyHit(1) Then End
If JustRun = 0 And Level <> 10 And Level <> 20 And Level <> 30 And Level <> 15 Then Text 297, 230, "Dimension " +" "+ Level
If Level = 10 Or Level = 20 Or Level = 30 Then Text 273, 230, "Kuiper BELT"
If Level = 15 Then Text 305, 230, "Master"
If TempY = 0 Then TempX = TempX - 5
If TempY = 1 Then TempX = TempX + 5
If TempX <= 5 Then TempY = 1
If TempX >= 250 Then TempY = 0
Flip
Wend
JustRun = 0
If Level = 10 Or Level = 20 Or Level = 30 Then Goto Main ; Asteroid Belt
If Level = 15 Then
If BFlag = 0 Then CBoss(): BFlag = 1
Goto Main ; Boss
EndIf
For I = 1 To AlienNum
CAlien()
AX = AX + 48
If I = 10 Then AY = AY + 48: AX = 32
If I = 20 Then AY = AY + 48: AX = 32
Next
.Main
MainTimer = MilliSecs()
LSF = 0
While Not KeyHit(1)
Cls
Repeat
Until MilliSecs()-MainTimer>=13
MainTimer = MilliSecs()
CStars()
CEngine()
frames=frames+1
RStars()
RBullet()
REngine()
RPower()
RAlien()
If Level = 15 Then RBoss(): RBBull()
RExplo()
DrawImage Ships, P1X, P1Y, 0
If MilliSecs() >= Time Then FPS = Frames: Frames = 0: Time = Time + 1000
Color 255, 255, 0
;Text 1, 1, "FPS: " + FPS
Text 20, 456, "Score: " + P1Score
Text 560, 456, "Lives: " + P1Lives
If ADir = 0 Then Amax = AMax + 1
If ADir = 1 Then Amax = Amax - 1
If AMax > 70 Then ADir = 1
If AMax < -15 Then ADir = 0
If Weap = 1 Then WeapFrame = 0
If Weap = 2 Then WeapFrame = 1
If Weap = 3 Then WeapFrame = 2
If EType = 2 Then EWeapFrame = 1
If EType = 3 Then EWeapFrame = 2
If ChannelPlaying(Channel) = 0 Then
StopChannel Channel
If TempM = 1 Then TempM = 2: Channel = PlayMusic("track2.mod"): Goto LeaveMusic
If TempM = 2 Then TempM = 3: Channel = PlayMusic("track3.mod"): Goto LeaveMusic
If TempM = 3 Then TempM = 4: Channel = PlayMusic("track4.mod"): Goto LeaveMusic
If TempM = 4 Then TempM = 1: Channel = PlayMusic("track1.mod"): Goto LeaveMusic
EndIf
snnum = "1"
If KeyHit(68)
SaveBuffer(BackBuffer(), "screenshots\" + "screenshot"+ snnum +".bmp")
EndIf
snnum = snnum + "1"
.LeaveMusic
If AlienNum <= 0 Then Level = Level + 1: Difficulty = Difficulty + 90: Diff2 = Diff2 + 4: Goto Level
If AKill >= 150 Then Level = Level - 1: Difficulty = Difficulty - 6: Diff2 = Diff2 - 4: Goto Level
If PlayerHit = 1 Then
P1Lives = P1Lives - 1
Weap = 1
PlaySound ExploSFX
If P1Lives < 0 Then Goto GameOver
Goto Level
EndIf
If KeyDown(203) Then P1X = P1X - 3
If KeyDown(205) Then P1X = P1X + 3
If KeyDown(200) Then P1Y = P1Y - 3
If KeyDown(208) Then P1Y = P1Y + 3
If KeyHit(57) And MilliSecs() >= BulletTime + 250 Then CBullet(Weap): PlaySound Shot1SFX
If P1X <= 1 Then P1X = 2
If P1X >= 614 Then P1X = 613
If P1Y >= 427 Then P1Y = 426
If P1Y <= 300 Then P1Y = 301
Flip
Wend
End
Function CStars()
s.Stars = New Stars
s\X = Rand(1, 640)
s\Y = -29
s\C = Rand(1, 4)
s\S = Rand(1, 3)
s\T = 0
TempA = Rand(1, Diff2): TempB = Rand(1, Diff2)
If TempA = TempB Then s\T = Rand(1, 4): s\S = Rand(2, 5): s\F = Rand(0, 4)
If Level = 10 Or Level = 20 Or Level = 30 Then
TempA = Rand(1, 2): TempB = Rand(1, 2)
If TempA = TempB Then
s\T = Rand(1, 4)
s\F = Rand(0, 4)
If Level = 10 Then s\S = Rand(3, 6)
If Level = 20 Then s\S = Rand(4, 7)
If Level = 30 Then s\S = Rand(5, 8)
EndIf
EndIf
End Function
Function CBullet(BType)
If Btype = 1 Then
b.Bullet = New Bullet
b\X = P1X + 10
b\Y = P1Y
b\T = BType
BulletTime = MilliSecs()
EndIf
If Btype = 2 Then
b.Bullet = New Bullet
b\X = P1X + 2
b\Y = P1Y + 5
b\T = 2
b.Bullet = New Bullet
b\X = P1X + 19
b\Y = P1Y + 5
b\T = 2
BulletTime = MilliSecs()
EndIf
If BType = 3 Then
b.Bullet = New Bullet
b\X = P1X + 10
b\Y = P1Y
b\T = 1
b.Bullet = New Bullet
b\X = P1X + 3
b\Y = P1Y + 5
b\T = 3
b.Bullet = New Bullet
b\X = P1X + 18
b\Y = P1Y + 5
b\T = 3
BulletTime = MilliSecs()
EndIf
If Btype = 5 Then
b.Bullet = New Bullet
For a.Alien = Each Alien
If a\S = 1 Then
b\X = a\X + 15
b\Y = a\Y + 30
b\T = BType
a\S = 0
EndIf
Next
EndIf
End Function
Function CBBull(BX, BY, Num)
If Num = 1 Then
bb.Bull = New Bull
bb\X = BX
bb\Y = BY
bb\A = 0
bb\K = 1
bb.Bull = New Bull
bb\X = BX
bb\Y = BY
bb\A = 1
bb\K = 1
bb.Bull = New Bull
bb\X = BX
bb\Y = BY
bb\A = 2
bb\K = 1
bb\T = MilliSecs()
EndIf
If Num = 2 Then
bb.Bull = New Bull
bb\X = BX
bb\Y = BY
bb\K = 2
EndIf
End Function
Function CEngine()
e.EParticle = New EParticle
TempY = Rand(1, 2)
If TempY = 1 Then e\X = P1X + Rand(5, 9)
If TempY = 2 Then e\X = P1X + Rand(14, 18)
e\Y = P1Y + 27
e\L = Rand(20, 30)
End Function
Function CAlien()
a.Alien = New Alien
a\X = AX
a\Y = AY
a\T = AType
a\S = 0
a\D = 0
a\ID = I
a\Dive = 0
End Function
Function CExplo(EX, EY)
x.Explosion = New Explosion
x\X = EX
x\Y = EY
x\F = 0
x\T = MilliSecs()
End Function
Function CPower(PX, PY, PS)
p.PowerUp = New PowerUp
p\X = PX
p\Y = PY
p\S = PS
TempA = Rand(1, 2): TempB = Rand(1, 2)
If TempA = TempB Then p\T = 3 Else p\T = Rand(0, 1)
End Function
Function CBoss()
h.Boss1 = New Boss1
h\X = 640 /2 - 96 / 2
h\Y = 25
h\S = 0
h\D = 1
h\L = 200
h\F = 0
AnimTimer = MilliSecs()
End Function
Function RStars()
For s.Stars = Each Stars
s\Y = s\Y + s\S
If s\T = 0 Then
If s\C = 1 Then Color 255, 255, 255
If s\C = 2 Then Color 128, 128, 128
If s\C = 3 Then Color 192, 192, 192
If s\C = 4 Then Color 80, 80, 80
Rect s\X, s\Y, 1, 1
EndIf
If s\T > 0 Then ; Asteriod
DrawImage Asteroids, s\X, s\Y, s\F
For b.Bullet = Each Bullet
If ImagesCollide(Shots, b\X, b\Y, WeapFrame, Asteroids, s\X, s\Y, s\F) And B\T <> 5 Then
CExplo(s\X, s\Y): PlaySound ExploSFX
P1Score = P1Score + 999999
TempA = Rand(1, 6): TempB = Rand(1, 6)
If TempA = TempB And Level <> 10 And Level <> 20 And Level <> 30 Then CPower(s\X, s\Y, s\S)
Delete b
Delete s
If Level = 10 Or Level = 20 Or Level = 30 Then Akill = Akill + 1
Goto Leave
EndIf
Next
If ImagesCollide(Ships, P1X, P1Y, 0, Asteroids, s\X, s\Y, s\F) And LSF = 0 Then
CExplo(P1X -3, P1Y + 15)
PlayerHit = 1
Goto Leave
EndIf
EndIf
If s\Y > 480 Then Delete S
.Leave
Next
End Function
Function RBullet()
For b.Bullet = Each Bullet
If b\T = 1 Then
b\Y = b\Y - 4
DrawImage Shots, b\X, b\Y, WeapFrame
If b\Y < 0 Then Delete b: Goto leave
EndIf
If b\T = 2 Then
b\Y = b\Y - 4
DrawImage Shots, b\X, b\Y, WeapFrame
If b\Y < 0 Then Delete b: Goto Leave
EndIf
If b\T = 3 Then
b\Y = b\Y - 5
DrawImage Shots, b\X, b\Y, WeapFrame
If b\Y < 0 Then Delete B: Goto Leave
EndIf
If b\T = 5 Then
b\Y = b\Y + 4
DrawImage EShots, b\X, b\Y, EWeapFrame
If b\Y > 480 Then Delete B: Goto leave
EndIf
.Leave
Next
End Function
Function REngine()
For e.EParticle = Each EParticle
e\X = e\X + Rand(-2, 2)
e\Y = e\Y + Rand(1, 2)
If e\L > 20 Then Color 156, 255, 255
If e\L > 10 And e\L < 20 Then Color 0, 150, 150
If e\L > 0 And e\L < 10 Then Color 56, 100, 100
Rect e\X, e\Y, 1, 1
e\L = e\L - 1
If e\L <= 0 Or e\Y > 480 Then Delete e
Next
End Function
Function RAlien()
For a.Alien = Each Alien
If a\Dive = 0
If a\D = 0 Then a\X = a\X + 2
If a\D = 1 Then a\X = a\X - 2
If ADir = 0 Then a\D = 0
If ADir = 1 Then a\D = 1
EndIf
If ADive < DiveMax Then Choose()
If a\Dive = 1 Then
If P1X > a\X Then a\X = a\X + 2
If P1X < a\X Then a\X = a\X - 2
a\Y = a\Y + Rand(3, 4)
EndIf
TempA = Rand(1, Difficulty): TempB = Rand(1, Difficulty)
If TempA = TempB And a\S = 0 Then a\S = 1: CBullet(5): PlaySound Shot5SFX
If a\T = 1 Then
If EType = 1 Then DrawImage Enemy, a\X, a\Y, EFrame
If Etype = 2 Then DrawImage Enemy2, a\X, a\Y, EFrame
If EType = 3 Then DrawImage Enemy3, a\X, a\Y, EFrame
If MilliSecs() >= AnimTimer + 300 Then EFrame = EFrame + 1: AnimTimer = MilliSecs()
If EFrame = EFMax Then EFrame = 0
EndIf
If ImageRectCollide(Ships, P1X, P1Y, 0, a\X, a\Y, AW, AH) Then CExplo(a\X - 3, a\Y + 15): PlayerHit = 1: Goto Leave
For b.Bullet = Each Bullet
If ImageRectCollide(Shots, b\X, b\Y, WeapFrame, a\X, a\Y, AW, AH) And b\T <> 5 Then
CExplo(a\X + 5, a\Y + 5): PlaySound ExploSFX
If A\Dive = 1 Then ADive = ADive - 1
Delete A: Delete B:
If EType = 1 Then P1Score = P1Score + 1000
If EType = 2 Then P1Score = P1Score + 2000
If EType = 3 Then P1Score = P1Score + 3000
AlienNum = AlienNum - 1: Goto Leave
EndIf
If ImagesCollide(Shots, P20X, P17Y, 0, EShots, b\X, b\Y, WeapFrame) And b\T = 5 Then
CExplo(P20X -3, P17Y + 15)
PlayerHit = 1
a\Dive = 0
EndIf
If ImagesCollide(Ships, P1X, P1Y, 0, EShots, b\X, b\Y, EWeapFrame) And b\T = 5 Then
CExplo(P1X -3, P1Y + 15)
PlayerHit = 1
a\Dive = 0
EndIf
Next
If a\Y > 480 Then a\Y = - 30
.Leave
Next
End Function
Function RExplo()
For x.Explosion = Each Explosion
DrawImage Explode, x\X, x\Y, x\F
If MilliSecs() >= x\T + 15 Then x\F = x\F + 1: x\T = MilliSecs()
If x\F = 19 Then Delete X
Next
End Function
Function RBoss()
For h.Boss1 = Each Boss1
If h\D = 1 Then h\X = h\X + 2
If h\D = 0 Then h\X = h\X - 2
If h\X <= 15 Then h\D = 1
If h\X >= 529 Then h\D = 0
If MilliSecs() >= BlastTimer + BTR Then CBBull(h\X+5, h\Y + 74, 1): BlastTimer = MilliSecs(): PlaySound PulseSFX
If MilliSecs() >= LaserTime + 4000 Then CBBull(h\X+48, h\Y + 96, 2): LaserTime = MilliSecs(): PlaySound LaserSFX
For b.Bullet = Each Bullet
If ImagesCollide(Shots, b\X, b\Y, WeapFrame, Boss, h\X, h\Y, h\F) Then
h\L = h\L - 1: BTR = BTR - 5
CExplo(b\X, b\Y): PlaySound ExploSFX
Delete b
EndIf
Next
If h\L <= 0 Then
For TempX = h\X - 16 To h\X + 96 Step 32
For TempY = h\Y To h\Y + 96 Step 32
CExplo(TempX, TempY)
Next
Next
PlaySound ExploSFX
P1Score = P1Score + 10000
Delete h
Level = Level + 1: Difficulty = Difficulty - 6: Diff2 = Diff2 - 4: AlienNum = 0: Goto Leave
EndIf
DrawImage Boss, h\X, h\Y, h\F
If MilliSecs() >= AnimTimer + 300 Then h\F = h\F + 1: AnimTimer = MilliSecs()
If h\F >= 3 Then h\F = 0
.Leave
Next
End Function
Cls
Function RPower()
For p.PowerUp = Each PowerUp
p\Y = p\Y + p\S
DrawImage Power, p\X, p\Y, p\T
If ImagesCollide(Ships, P1X, P1Y, 0, Power, p\X, p\Y, p\T) Then
PlaySound PowerSFX
If p\T = 3 Then Weap = 3
If p\T = 1 Then Weap = 2
If p\T = 0 Then P1Lives = P1Lives + 2
Delete P
Goto Leave
End If
If p\Y > 480 Then Delete P
.Leave
Next
End Function
Function Choose()
TempQ = Rand(1, 30)
For a.Alien = Each Alien
If a\ID = TempQ Then a\Dive = 1: ADive = Adive + 1: PlaySound DiveSFX
Next
End Function
Function RBBull()
For bb.Bull = Each Bull
If bb\K = 1 Then
If bb\A = 0 Then
bb\X = bb\X
bb\Y = bb\Y + 4
EndIf
If bb\A = 1 Then
bb\X = bb\X - 2
bb\Y = bb\Y + 4
EndIf
If bb\A = 2 Then
bb\X = bb\X + 2
bb\Y = bb\Y + 4
EndIf
DrawImage Orb, bb\X, bb\Y, bb\F
If ImageRectCollide(Orb, bb\X, bb\Y, bb\F, P1X, P1Y, 24, 28) Then
CExplo(P1X -3, P1Y + 15)
PlayerHit = 1
EndIf
If MilliSecs() >= bb\T + 50 Then bb\F = bb\F + 1: bb\T = MilliSecs()
If bb\F = 10 Then bb\F = 0
EndIf
If bb\K = 2 Then
Color 255, 255, 255
For h.Boss1 = Each Boss1
bb\Y = bb\Y + 3
Color 0, 255, 255
Rect h\X + 46, h\Y + 96, 4, bb\Y
If RectsOverlap(P1X, P1Y, 24, 28, h\X + 46, h\Y + 96, 4, bb\Y) Then
CExplo(P1X - 3, P1Y + 15)
PlayerHit = 1
EndIf
Next
EndIf
For b.Bullet = Each Bullet
If ImagesCollide(Shots, b\X, b\Y, WeapFrame, Orb, bb\X, bb\Y, bb\F) Then Delete B
Next
If bb\Y > 480 Then Delete BB
Next
End Function
Function LoadHiScores()
File = ReadFile("hiscore.rde")
Line1$ = ReadLine(File)
Line2 = ReadLine(File)
Line3$ = ReadLine(File)
Line4 = ReadLine(File)
Line5$ = ReadLine(File)
Line6 = ReadLine(File)
Line7$ = ReadLine(File)
Line8 = ReadLine(File)
Line9$ = ReadLine(File)
Line10 = ReadLine(File)
End Function
Function show_hiscores()
Cls
Flip
File = OpenFile("hiscore.rde")
FlushKeys()
Delay(10)
Color 255, 255, 0
Print "~You Made The High Score List!~"
Locate 165, 180: Name$ = Input$("Enter Your Name: ")
Print
If Len(Name$) > 100 Then
Locate 165, 200
Name$ = Input$("Enter Your Name (20 Characters Max): ")
EndIf
If P1Score > Line10 And P1Score < Line8 Then Line9$ = Name$: Line10 = P1Score ; Got 5th Place
If P1Score > Line8 And P1Score < Line6 Then ; Got 4th Place
Line9$ = Line7$: Line10 = Line8
Line7$ = Name$: Line8 = P1Score
EndIf
If P1Score > Line6 And P1Score < Line4 Then ; Got 3rd Place
Line9$ = Line7$: Line10 = Line8
Line7$ = Line5$: Line8 = Line6
Line5$ = Name$: Line6 = P1Score
EndIf
If P1Score > Line4 And P1Score < Line2 Then ; Got 2nd
Line9$ = Line7$: Line10 = Line8
Line7$ = Line5$: Line8 = Line6
Line5$ = Line3$: Line6 = Line4
Line3$ = Name$: Line4 = P1Score
EndIf
If P1Score > Line2 Then ; 1st!
Line9$ = Line7$: Line10 = Line8
Line7$ = Line5$: Line8 = Line6
Line5$ = Line3$: Line6 = Line4
Line3$ = Line1$: Line4 = Line2
Line1$ = Name$: Line2 = P1Score
EndIf
WriteLine( File, Line1)
WriteLine( File, Line2)
WriteLine( File, Line3)
WriteLine( File, Line4)
WriteLine( File, Line5)
WriteLine( File, Line6)
WriteLine( File, Line7)
WriteLine( File, Line8)
WriteLine( File, Line9)
WriteLine( File, Line10)
CloseFile( File )
End Function
Function DisplayHiScores()
Color 255, 255, 0
Text 265, 290, "- High Scores -
Text 240, 320, Line1$: Text 380, 320, Line2
Text 240, 340, Line3$: Text 380, 340, Line4
Text 240, 360, Line5$: Text 380, 360, Line6
Text 240, 380, Line7$: Text 380, 380, Line8
Text 240, 400, Line9$: Text 380, 400, Line10
End Function
.GameOver
FlushKeys()
While Not KeyHit(28)
Cls
Repeat
Until MilliSecs()-MainTimer>=13
CStars()
RStars()
RExplo()
RPower()
LSF = 1
Color 255, 255, 0
Text 288, 230, "GAME OVER"
If P1Score > Line10 Then show_hiscores(): Goto Reset
Flip
Wend
Goto Reset
End
Conclusion :
Ce jeux sera bientot mis a jour.
lancer play.bat pour voir le mp2.exe
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.