home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PSION CD 2
/
PsionCDVol2.iso
/
Programs
/
315
/
MB5_12.sis
/
mb5_12
(
.txt
)
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
Macintosh to JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
EPOC OPL Source
|
2000-10-19
|
86.0 KB
|
4,863 lines
APP MBornes5,&10000557
Rem This UID is reserved to Fred Botton. Please don't use!
Flags 1
icon "icons.mbm"
ENDA
rem MBornes5 v1.2
rem (c) Frédéric Botton 1998 (fbotton@hol.fr)
rem This source code is freely distributable, but I keep the copyright on it.
rem You can use it, modify it, but don't distribute any modified version without my permission.
rem Source code may contains bugs, errors, mistakes. I offer NO GUARANTEES. Use at your own risk.
rem Known bugs: none reported yet 8-)
rem Tbar shortcuts not implemented (yet).
rem Good luck, reading it may be quite difficult due to my poor programming skills, and lack of rem's :)
rem Include "const.oph"
Include "system.oxh"
Include "bmp.oxh"
PROC mb5:
Global fore%,back%,vide%,nom$(8),version$(3),defau%
Global Chemin$(150),Volume&,lang%,km1old%,km2old%
Global main1%(7),main2%(7),joue1%,joue2%,botte1%(4),botte2%(4)
Global limit1%,limit2%,km1%,km2%,poskm1%,poskm2%,trou1%,trou2%
Global carte%(106),deuxcent1%,deuxcent2%,posbotte1%,posbotte2%
Global visib%,fini%,tour%,manche%,reste%,depart%,premier%
Global decor1%,decor2%,decora%,decorb%,visib1%,visib2%
Global event&(20),pen1%,pen2%,okay%,arrivee%,cbotte%
Global fourre1%,fourre2%,parade1%,parade2%,last1%,last2%
Global forw1%,forw2%,player1$(15),player2$(15),player2a$(15),computer$(15)
Global Spr1&,Spr2&,spr3&,possible%,sprite%,jsound%
Global b1&,b2&,c1&,c2&,StatSound&,HandleSound&,anime%,voiture%
Global nbplay%,pause1%,level%,abort%,outgame%,force%,wid%,hei%
Global tb1a&,tb1b&,tb2a&,tb2b&,tb3a&,tb3b&,tb4a&,tb4b&
nom$="MBornes5":version$="1.2"
Chemin$=LeChemin$:
wid%=gWidth
hei%=gHeight
Readini:
giPrint Localiz$:(1,lang%)
LOADM "z:\system\opl\toolbar.opo"
TBarLink:("Jeu")
ENDP
PROC Jeu:
Local i%
Randomize DateToSecs(Year,Month,Day,Hour,Minute,Second)
TBarMenu:
Creefore:
TbarShow:
Loadvide:
SprLoad:
Loadback:
visib1%=1
visib2%=1
nbplay%=1
pause1%=anime%*15
gUpdate Off
Afffore:
gUpdate On
decor1%=gCreateBit(52,22,$101)
gCopy fore%,15,189,52,22,3
decor2%=gCreateBit(52,22,$101)
gCopy fore%,508,189,52,22,3
decora%=gCreateBit(21,19,$101)
decorb%=gCreateBit(21,19,$101)
fini%=0
Do
tour%=1
abort%=0
i%=Debute%:
If i%=0
Writeini:
Stop
Endif
GetPlayers:
forw1%=0
forw2%=0
Do
rem gUpdate Off
Afffore:
Vkm1:
Vkm2:
VReste:
rem gUpdate On
Initvars:
depart%=1
Tirage:
trou1%=7
trou2%=7
manche%=0
If tour%=1
premier%=Starter%:
Else
premier%=3-premier%
Endif
Do
If premier%=2 and depart%=1
Rem rien
Else
rem on rejoue si placement d'une botte
Do
If manche%=0
Play1:
Endif
Until cbotte%=0 Or Reste%=0
Endif
If manche%=0 and abort%=0
rem on rejoue si placement d'une botte
Do
If nbplay%=2
Play2:
Else
Cplay2:
Endif
Until cbotte%=0 Or Reste%=0
Endif
Until manche%<>0 or abort%=1
If abort%=0
If km1%=1000 or km2%=1000
Goal:
Else
Pause 15
Endif
Score:
Endif
rem manche terminee...
tour%=tour%+1
Until tour%=6 or abort%=1
If tour%=6 and abort%<>1
If forw1%>forw2%
JoueSon:(1,0)
Okidoki:(Player1$+Localiz$:(2,lang%))
Elseif forw1%<forw2%
If nbplay%=2
JoueSon:(1,0)
Else
JoueSon:(5,0)
Endif
Okidoki:(Player2$+Localiz$:(2,lang%))
Else
If nbplay%=2
JoueSon:(1,0)
Else
JoueSon:(6,0)
Endif
Okidoki:(Localiz$:(3,lang%))
Endif
Else
rem il y a eu abandon de la partie...
Endif
Until fini%=1
SprUnload:
Unloadbit:
Writeini:
rem On quitte
ENDP
PROC JoueSon:(x%,wait%)
Local Son$(255),i&
Onerr battery::
If x%=0
Return
Endif
i&=StopSound&:
If i&=1
IOWaitStat32 i&
Endif
If x%=1
Son$=Chemin$+"sound1"
Elseif x%=2
Son$=Chemin$+"sound2"
Elseif x%=3
Son$=Chemin$+"sound3"
Elseif x%=4
Son$=Chemin$+"sound4"
Elseif x%=5
Son$=Chemin$+"sound5"
Elseif x%=6
Son$=Chemin$+"sound6"
Elseif x%=7
Son$=Chemin$+"sound7"
Elseif x%=8
Son$=Chemin$+"sound8"
Elseif x%=9
Son$=Chemin$+"sound9"
Endif
If Exist(son$) and Volume&<>0
If Wait%=1
HandleSound&=PlaySound:(Son$,Volume&)
Else
HandleSound&=PlaySoundA:(Son$,Volume&,StatSound&)
Endif
IOYield
Endif
Onerr Off
Return
battery::
If err=-24
GiPrint Localiz$:(58,lang%)
Endif
Volume&=0
Onerr Off
ENDP
PROC CPlay2:
Local end%,select%,ty%,played%,i%
Affvoit:(1,km1%,2,3)
Affvoit:(2,km2%,1,3)
IOYield
cbotte%=0
depart%=0
main2%(trou2%)=Rndcompu%:
carte%(main2%(trou2%))=0
Affcarte:(2,Typecarte%:(main2%(trou2%)),trou2%)
JoueSon:(2,0)
reste%=reste%-1
Affreste:
trou2%=0
played%=0
jsound%=0
rem si last interessant, on joue une botte...
If (last1%=1 or last1%=2) and played%=0
rem right of way ?
i%=Cherche:(6)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,6,0)
Affcarte:(4,10,0)
Affcarte:(8,11,0)
main2%(i%)=0
trou2%=i%
joue2%=10
limit2%=11
botte2%(posbotte2%)=6
posbotte2%=posbotte2%+1
cbotte%=1
fourre2%=fourre2%+1
last2%=6
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=4
Endif
Endif
If last1%=4 and played%=0
rem Punc proof ?
i%=Cherche:(8)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,8,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=8
posbotte2%=posbotte2%+1
cbotte%=1
fourre2%=fourre2%+1
last2%=8
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=4
Endif
Endif
If last1%=5 and played%=0
rem driving ace ?
i%=Cherche:(9)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,9,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=9
posbotte2%=posbotte2%+1
cbotte%=1
fourre2%=fourre2%+1
last2%=9
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=4
Endif
Endif
If last1%=3 and played%=0
rem extra tank ?
i%=Cherche:(7)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,7,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=7
posbotte2%=posbotte2%+1
cbotte%=1
fourre2%=fourre2%+1
last2%=7
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=4
Endif
Endif
rem si kilometres atteints par player 1 ou plus de cartes, on joue les bottes !
rem on sait qu'aucune botte n'est possible...
If reste%<=6 or ((km1%=800 or km1%>=900) and deuxcent1%<=1) or (km1%>=900 and deuxcent1%<=2)
rem on joue les eventuelles bottes
i%=Cherche:(6)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,6,0)
If joue2%<>3 and joue2%<>4 and joue2%<>4
joue2%=10
Affcarte:(4,10,0)
Endif
Affcarte:(8,11,0)
main2%(i%)=0
trou2%=i%
limit2%=11
botte2%(posbotte2%)=6
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=6
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
i%=Cherche:(8)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,8,0)
If joue2%=4
joue2%=10
Affcarte:(4,10,0)
Endif
main2%(i%)=0
trou2%=i%
botte2%(posbotte2%)=8
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=8
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
i%=Cherche:(9)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,9,0)
If joue2%=5
joue2%=10
Affcarte:(4,10,0)
Endif
main2%(i%)=0
trou2%=i%
botte2%(posbotte2%)=9
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=9
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
i%=Cherche:(7)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,7,0)
If joue2%=3
joue2%=10
Affcarte:(4,10,0)
Endif
main2%(i%)=0
trou2%=i%
botte2%(posbotte2%)=7
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=7
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Endif
rem si jeu vide
If joue2%=0 and played%=0
rem feu vert ?
i%=Cherche:(10)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(4)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
last2%=10
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
rem right of way ?
i%=Cherche:(6)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,6,0)
Affcarte:(4,10,0)
Affcarte:(8,11,0)
main2%(i%)=0
trou2%=i%
joue2%=10
limit2%=11
botte2%(posbotte2%)=6
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=6
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Endif
rem si joueur place trop de kilos, on attaque 1 fois sur 5 si c'est possible
If last1%=19 or last1%=18
i%=1+(Rnd*5)
If i%=1
rem Attaque ?
If played%=0
i%=Attaque%:
If i%<>0
played%=1
Endif
Endif
Endif
Endif
rem si jeu feu vert
If joue2%=10 and played%=0
rem 200 ?
If deuxcent2%<=1 and km2%+200<=1000 and limit2%<>2 and played%=0
i%=Cherche:(19)
If i%<>0
If km2%+200=1000
rem et si des cartes bottes restaient ?
played%=botsimp%:
Endif
If played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(10)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(10,19,0)
main2%(i%)=0
trou2%=i%
poskm2%=poskm2%+1
km2%=km2%+200
deuxcent2%=deuxcent2%+1
last2%=19
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
JoueSon:(jsound%,1)
jsound%=0
Affkm2:
Endif
Endif
Endif
rem 100 ?
If km2%+100<=1000 and limit2%<>2 and played%=0
i%=Cherche:(18)
If i%<>0
If km2%+100=1000
rem et si des cartes bottes restaient ?
played%=botsimp%:
Endif
If played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(10)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(10,18,0)
main2%(i%)=0
trou2%=i%
poskm2%=poskm2%+1
km2%=km2%+100
last2%=18
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
JoueSon:(jsound%,1)
jsound%=0
Affkm2:
Endif
Endif
Endif
rem 75 ?
If km2%+75<=1000 and limit2%<>2 and played%=0
i%=Cherche:(17)
If i%<>0
If km2%+75=1000
rem et si des cartes bottes restaient ?
played%=botsimp%:
Endif
If played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(10)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(10,17,0)
main2%(i%)=0
trou2%=i%
poskm2%=poskm2%+1
km2%=km2%+75
last2%=17
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
JoueSon:(jsound%,1)
jsound%=0
Affkm2:
Endif
Endif
Endif
rem 50 ?
If km2%+50<=1000 and played%=0
i%=Cherche:(16)
If i%<>0
If km2%+50=1000
rem et si des cartes bottes restaient ?
played%=botsimp%:
Endif
If played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(10)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(10,16,0)
main2%(i%)=0
trou2%=i%
poskm2%=poskm2%+1
km2%=km2%+50
last2%=16
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
JoueSon:(jsound%,1)
jsound%=0
Affkm2:
Endif
Endif
Endif
rem 25 ?
If km2%+25<=1000 and played%=0
i%=Cherche:(15)
If i%<>0
If km2%+25=1000
rem et si des cartes bottes restaient ?
played%=botsimp%:
Endif
If played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(10)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(10,15,0)
main2%(i%)=0
trou2%=i%
poskm2%=poskm2%+1
km2%=km2%+25
last2%=15
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
JoueSon:(jsound%,1)
jsound%=0
Affkm2:
Endif
Endif
Endif
Endif
rem si jeu stop
If (joue2%=1 or joue2%=13 or joue2%=14 or joue2%=12) and played%=0
rem feu vert ?
i%=Cherche:(10)
If i%<>0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(4)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
last2%=10
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
rem right of way ?
i%=Cherche:(6)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,6,0)
Affcarte:(4,10,0)
Affcarte:(8,11,0)
main2%(i%)=0
trou2%=i%
joue2%=10
limit2%=11
botte2%(posbotte2%)=6
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=6
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Endif
rem si jeu flat tire
If joue2%=4 and played%=0
rem spare tire ?
i%=Cherche:(13)
If i%<>0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(4)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(4,13,0)
main2%(i%)=0
trou2%=i%
joue2%=13
If botte2%(1)=6 or botte2%(2)=6 or botte2%(3)=6 or botte2%(4)=6
Affcarte:(4,10,0)
joue2%=10
Endif
last2%=13
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
rem punc proof ?
i%=Cherche:(8)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(4)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,8,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=8
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=8
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Endif
rem si jeu accident
If joue2%=5 and played%=0
rem repair ?
i%=Cherche:(14)
If i%<>0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(4)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(4,14,0)
main2%(i%)=0
trou2%=i%
joue2%=14
If botte2%(1)=6 or botte2%(2)=6 or botte2%(3)=6 or botte2%(4)=6
Affcarte:(4,10,0)
joue2%=10
Endif
last2%=14
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
rem driving ace ?
i%=Cherche:(9)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,9,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=9
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=9
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Endif
rem si jeu out of gas
If joue2%=3 and played%=0
rem gasoline ?
i%=Cherche:(12)
If i%<>0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(4)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(4,12,0)
main2%(i%)=0
trou2%=i%
joue2%=12
If botte2%(1)=6 or botte2%(2)=6 or botte2%(3)=6 or botte2%(4)=6
Affcarte:(4,10,0)
joue2%=10
Endif
last2%=12
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
rem extra tank ?
i%=Cherche:(7)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,7,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=7
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=7
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Endif
rem si jeu speed limit
If limit2%=2 and played%=0
rem end limit ?
i%=Cherche:(11)
If i%<>0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(8)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(8,11,0)
main2%(i%)=0
trou2%=i%
limit2%=11
last2%=11
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
rem right of way ?
i%=Cherche:(6)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,6,0)
Affcarte:(4,10,0)
Affcarte:(8,11,0)
main2%(i%)=0
trou2%=i%
joue2%=10
limit2%=11
botte2%(posbotte2%)=6
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=6
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Endif
rem Attaque ?
If played%=0
i%=Attaque%:
If i%<>0
played%=1
Endif
Endif
rem rien a jouer
If played%=0
i%=Defausse%:
defau%=Typecarte%:(main2%(i%))
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(11)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(11,Typecarte%:(main2%(i%)),0)
main2%(i%)=0
trou2%=i%
last2%=0
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=7
Endif
JoueSon:(jsound%,1)
If km2%=1000 or reste%<=0
manche%=1
Endif
ENDP
PROC Botsimp%:
Local played%,i%
played%=0
rem on joue les eventuelles bottes
i%=Cherche:(6)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,6,0)
Affcarte:(4,10,0)
Affcarte:(8,11,0)
main2%(i%)=0
trou2%=i%
joue2%=10
limit2%=11
botte2%(posbotte2%)=6
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=6
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
i%=Cherche:(8)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,8,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=8
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=8
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
i%=Cherche:(9)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,9,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=9
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=9
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
i%=Cherche:(7)
If i%<>0 and played%=0
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(6)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(6,7,0)
Affcarte:(4,10,0)
main2%(i%)=0
trou2%=i%
joue2%=10
botte2%(posbotte2%)=7
posbotte2%=posbotte2%+1
cbotte%=1
parade2%=parade2%+1
last2%=7
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=8
Endif
Return played%
ENDP
PROC Cherche:(c%)
rem recherche la carte c% dans le jeu de player 2
rem retourne 0 si pas presente, numero de la carte sinon...
Local i%,trouve%
i%=1
trouve%=0
Do
If TypeCarte%:(Main2%(i%))=c%
trouve%=1
Endif
i%=i%+1
Until trouve%=1 or i%=8
If trouve%=1
Return i%-1
Else
Return 0
Endif
ENDP
PROC Attaque%:
Local played%,i%
played%=0
rem attaque stop ?
i%=Cherche:(1)
If i%<>0 and played%=0
If botte1%(1)<>6 and botte1%(2)<>6 and botte1%(3)<>6 and botte1%(4)<>6 and joue1%=10
rem on attaque !
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(3)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(3,1,0)
main2%(i%)=0
trou2%=i%
joue1%=1
last2%=1
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=3
Endif
Endif
rem attaque flat tire ?
i%=Cherche:(4)
If i%<>0 and played%=0
If botte1%(1)<>8 and botte1%(2)<>8 and botte1%(3)<>8 and botte1%(4)<>8 and joue1%=10
rem on attaque !
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(3)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(3,4,0)
main2%(i%)=0
trou2%=i%
joue1%=4
last2%=4
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=3
Endif
Endif
rem attaque out of gas ?
i%=Cherche:(3)
If i%<>0 and played%=0
If botte1%(1)<>7 and botte1%(2)<>7 and botte1%(3)<>7 and botte1%(4)<>7 and joue1%=10
rem on attaque !
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(3)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(3,3,0)
main2%(i%)=0
trou2%=i%
joue1%=3
last2%=3
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=3
Endif
Endif
rem attaque accident ?
i%=Cherche:(5)
If i%<>0 and played%=0
If botte1%(1)<>9 and botte1%(2)<>9 and botte1%(3)<>9 and botte1%(4)<>9 and joue1%=10
rem on attaque !
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(3)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(3,5,0)
main2%(i%)=0
trou2%=i%
joue1%=5
last2%=5
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=3
Endif
Endif
rem attaque speed limit ?
i%=Cherche:(2)
If i%<>0 and played%=0
If botte1%(1)<>6 and botte1%(2)<>6 and botte1%(3)<>6 and botte1%(4)<>6 and (limit1%=0 or limit1%=11)
rem on attaque !
Entoure2:(i%)
SpriteUse:(Spr1&)
SpriteDraw:
EntoureC:(7)
SpriteUse:(Spr2&)
SpriteDraw:
Pause pause1%
Affcarte:(2,0,i%)
Affcarte:(7,2,0)
main2%(i%)=0
trou2%=i%
limit1%=2
last2%=2
played%=1
SpriteDelete:(Spr1&)
SpriteDelete:(spr2&)
jsound%=3
Endif
Endif
Return played%
ENDP
PROC Defausse%:
Local i%
rem si extra dans bottes de l'adversaire ?
If botte1%(1)=7 or botte1%(2)=7 or botte1%(2)=7 or botte1%(2)=7
i%=Cherche:(3)
If i%<>0
Return i%
Endif
Endif
rem si driving dans bottes de l'adversaire ?
If botte1%(1)=9 or botte1%(2)=9 or botte1%(2)=9 or botte1%(2)=9
i%=Cherche:(5)
If i%<>0
Return i%
Endif
Endif
rem si punc proof dans bottes de l'adversaire ?
If botte1%(1)=8 or botte1%(2)=8 or botte1%(2)=8 or botte1%(2)=8
i%=Cherche:(4)
If i%<>0
Return i%
Endif
Endif
rem si right of way dans bottes de l'adversaire ?
If botte1%(1)=6 or botte1%(2)=6 or botte1%(2)=6 or botte1%(2)=6
i%=Cherche:(1)
If i%<>0
Return i%
Endif
i%=Cherche:(2)
If i%<>0
Return i%
Endif
Endif
rem si deja 2 200 poses
If deuxcent2%>=2
i%=Cherche:(19)
If i%<>0
Return i%
Endif
Endif
rem si extra dans bottes computer ?
If botte2%(1)=7 or botte2%(2)=7 or botte2%(2)=7 or botte2%(2)=7
i%=Cherche:(12)
If i%<>0
Return i%
Endif
Endif
rem si driving dans bottes computer ?
If botte2%(1)=9 or botte2%(2)=9 or botte2%(2)=9 or botte2%(2)=9
i%=Cherche:(14)
If i%<>0
Return i%
Endif
Endif
rem si punc proof dans bottes computer ?
If botte2%(1)=8 or botte2%(2)=8 or botte2%(2)=8 or botte2%(2)=8
i%=Cherche:(13)
If i%<>0
Return i%
Endif
Endif
rem si right of way dans bottes computer ?
If botte2%(1)=6 or botte2%(2)=6 or botte2%(2)=6 or botte2%(2)=6
rem pas de end limit
i%=Cherche:(11)
If i%<>0
Return i%
Endif
rem si feu vert actif, pas de feu vert. sinon garder le feu vert
If joue2%=10
i%=Cherche:(10)
If i%<>0
Return i%
Endif
Endif
Endif
rem si +200 depasse les 1000 ?
If km2%+200>1000
rem pas de 200
i%=Cherche:(19)
If i%<>0
Return i%
Endif
Endif
rem si +100 depasse les 1000 ?
If km2%+100>1000
rem pas de 100
i%=Cherche:(18)
If i%<>0
Return i%
Endif
Endif
rem si +75 depasse les 1000 ?
If km2%+75>1000
rem pas de 75
i%=Cherche:(17)
If i%<>0
Return i%
Endif
Endif
rem si +50 depasse les 1000 ?
If km2%+50>1000
rem pas de 50
i%=Cherche:(16)
If i%<>0
Return i%
Endif
Endif
rem si +25 depasse les 1000 ?
If km2%+25>1000
rem pas de 25
i%=Cherche:(15)
If i%<>0
Return i%
Endif
Endif
rem si quadruples, virer !
i%=Doubles%:(4)
If i%<>0
i%=Cherche:(i%)
If i%<>0
Return i%
Endif
Endif
rem si triples, virer !
i%=Doubles%:(3)
If i%<>0
i%=Cherche:(i%)
If i%<>0
Return i%
Endif
Endif
rem si speed limit actif et 75, virer 75
If limit2%=2
i%=Cherche:(17)
If i%<>0
Return i%
Endif
Endif
rem si doubles, virer !
i%=Doubles%:(2)
If i%<>0
i%=Cherche:(i%)
If i%<>0
rem si 100 ou 200, ne pas virer...
If Typecarte%:(main2%(i%))<>19 and Typecarte%:(main2%(i%))<>18
Return i%
Endif
Endif
Endif
rem si attaque presente, la virer...
i%=Cherche:(1)
If i%<>0
Return i%
Endif
i%=Cherche:(4)
If i%<>0
Return i%
Endif
i%=Cherche:(3)
If i%<>0
Return i%
Endif
i%=Cherche:(5)
If i%<>0
Return i%
Endif
i%=Cherche:(2)
If i%<>0
Return i%
Endif
rem si 25, virer
i%=Cherche:(15)
If i%<>0
Return i%
Endif
rem si 50, virer
i%=Cherche:(16)
If i%<>0
Return i%
Endif
rem si 75, virer
i%=Cherche:(17)
If i%<>0
Return i%
Endif
rem si 100, virer
i%=Cherche:(18)
If i%<>0
Return i%
Endif
rem si 200, virer
i%=Cherche:(19)
If i%<>0
Return i%
Endif
rem Rien trouve, on vire la carte 7 sauf si botte... et on descend jusqu'a trouver...
If Typecarte%:(main2%(7))<>9 and Typecarte%:(main2%(7))<>8 and Typecarte%:(main2%(7))<>6 and Typecarte%:(main2%(7))<>7
Return 7
Elseif Typecarte%:(main2%(6))<>9 and Typecarte%:(main2%(6))<>8 and Typecarte%:(main2%(6))<>6 and Typecarte%:(main2%(6))<>7
Return 6
Elseif Typecarte%:(main2%(5))<>9 and Typecarte%:(main2%(5))<>8 and Typecarte%:(main2%(5))<>6 and Typecarte%:(main2%(5))<>7
Return 5
Elseif Typecarte%:(main2%(4))<>9 and Typecarte%:(main2%(4))<>8 and Typecarte%:(main2%(4))<>6 and Typecarte%:(main2%(4))<>7
Return 4
Elseif Typecarte%:(main2%(3))<>9 and Typecarte%:(main2%(3))<>8 and Typecarte%:(main2%(3))<>6 and Typecarte%:(main2%(3))<>7
Return 3
Endif
ENDP
PROC Doubles%:(t%)
Local i%,cpt%,max%,maxc%,carte%
max%=0
maxc%=0
carte%=1
Do
i%=1
cpt%=0
Do
If Typecarte%:(main2%(i%))=carte%
cpt%=cpt%+1
Endif
i%=i%+1
Until i%=8
If cpt%>max%
max%=cpt%
maxc%=carte%
Endif
carte%=carte%+1
Until carte%=20
If max%=t%
Return maxc%
Else
Return 0
Endif
ENDP
PROC Play1:
Local end%,select%,ty%,penold%
If nbplay%=2
If cbotte%=0
If Depart%=0
Okidoki:(player2$+Localiz$:(4,lang%)+player1$+"...")
visib2%=2
Visibles:(2)
Endif
Okidoki:(player1$+Localiz$:(5,lang%))
visib1%=1
Visibles:(1)
depart%=0
Endif
Endif
Affvoit:(1,km1%,1,3)
Affvoit:(2,km2%,2,3)
cbotte%=0
main1%(trou1%)=Rndc%:(1)
carte%(main1%(trou1%))=0
Affcarte:(1,Typecarte%:(main1%(trou1%)),trou1%)
JoueSon:(2,0)
reste%=reste%-1
Affreste:
trou1%=0
rem attente de reaction du joueur 1
end%=0
select%=0
okay%=0
pen1%=0
pen2%=0
event&(1)=0
Do
GetEvent32 event&()
If event&(1)=10000 Or event&(1)=4150
Menu:
Elseif event&(1)=&404
If Left$(getcmd$,1)="X"
Stop
Endif
Elseif event&(1)=$401
giPrint Localiz$:(6,lang%)
Elseif event&(1)=$402
rem rien
Elseif event&(1)=10001
rem "Cutpaste"
Elseif event&(1)=10002
rem "Infrared"
Elseif event&(1)=10003
rem "Zoom in"
Elseif event&(1)=10004
rem "Zoom out"
Elseif (event&(1) and &400)=0
If event&(1)=$1B
CMDe%:
Endif
Elseif event&(1)=&408
If pen1%=0
rem on affiche la carte choisie...
pen1%=Stylet1%:(event&(8),event&(9),0)
If pen1%>=100
pen1%=pen1%-100
Entoure1:(pen1%)
rem on affiche les arrivees possibles...
arrivee%=Arriv1%:
EntoureA:(arrivee%)
If possible%=1
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr2&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Else
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Endif
Else
pen1%=0
rem GiPrint "Select a card to play"
Endif
rem Do
rem getEvent32 event&()
rem IOYield
rem Until event&(1)<>&408
Else
rem on traite la carte d'arrivee
penold%=pen2%
pen2%=Stylet1%:(event&(8),event&(9),pen1%)
If pen2%>=100 and pen2%<>penold% and pen2%<>pen1%+100
rem on rechoisit une carte. On efface la selection actuelle
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
pen1%=pen2%-100
Entoure1:(pen1%)
rem on affiche les arrivees possibles...
arrivee%=Arriv1%:
EntoureA:(arrivee%)
If possible%=1
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr2&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Else
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Endif
Elseif pen2%=arrivee% or pen2%=-1
Place1:
Okay%=1
Else
rem GiPrint "Beuh!"
Endif
Endif
Endif
TbarOffer%:(event&(3),event&(4),event&(6),event&(7))
IOYield
event&(1)=0:event&(3)=0:event&(4)=0:event&(6)=0:event&(7)=0
Until abort%=1 Or Okay%=1
If km1%=1000 or reste%<=0
manche%=1
Endif
ENDP
PROC Play2:
Local end%,select%,ty%,penold%
If cbotte%=0
If depart%=0
Okidoki:(player1$+Localiz$:(4,lang%)+player2$+"...")
visib1%=2
Visibles:(1)
Endif
Okidoki:(player2$+Localiz$:(5,lang%))
visib2%=1
Visibles:(2)
depart%=0
Endif
Affvoit:(1,km1%,2,3)
Affvoit:(2,km2%,1,3)
IOYield
cbotte%=0
main2%(trou2%)=Rndc%:(2)
If main2%(trou2%)<1 or main2%(trou2%)>107
dinit
dtext "",gen$(main2%(trou2%),3),2
dialog
endif
carte%(main2%(trou2%))=0
Affcarte:(2,Typecarte%:(main2%(trou2%)),trou2%)
JoueSon:(2,1)
reste%=reste%-1
Affreste:
trou2%=0
rem attente de reaction du joueur 2
end%=0
select%=0
okay%=0
pen1%=0
pen2%=0
event&(1)=0
Do
GetEvent32 event&()
if event&(1)=10000 Or event&(1)=4150
Menu:
Elseif event&(1)=&404
If Left$(getcmd$,1)="X"
Stop
Endif
Elseif event&(1)=10001
rem GiPrint "Cutpaste"
Elseif event&(1)=10002
rem GiPrint "Infrared"
Elseif event&(1)=10003
rem GiPrint "Zoom in"
Elseif event&(1)=10004
rem GiPrint "Zoom out"
Elseif (event&(1) and &400)=0
If event&(1)=$1B
CMDe%:
Endif
Elseif event&(1)=&408
If pen1%=0
rem on affiche la carte choisie...
pen1%=Stylet2%:(event&(8),event&(9),0)
If pen1%>=100
pen1%=pen1%-100
Entoure2:(pen1%)
rem on affiche les arrivees possibles...
arrivee%=Arriv2%:
EntoureA:(arrivee%)
If possible%=1
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr2&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Else
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Endif
Else
pen1%=0
rem GiPrint "Select a card to play"
Endif
rem Do
rem getEvent32 event&()
rem IOYield
rem Until event&(1)<>&408
Else
rem on traite la carte d'arrivee
penold%=pen2%
pen2%=Stylet2%:(event&(8),event&(9),pen1%)
If pen2%>=100 and pen2%<>penold% and pen2%<>pen1%+100
rem on rechoisit une carte. On efface la selection actuelle
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
pen1%=pen2%-100
Entoure2:(pen1%)
rem on affiche les arrivees possibles...
arrivee%=Arriv2%:
EntoureA:(arrivee%)
If possible%=1
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr2&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Else
SpriteUse:(Spr1&)
SpriteDraw:
SpriteUse:(Spr3&)
SpriteDraw:
sprite%=1
Endif
Elseif pen2%=arrivee% or pen2%=-1
Place2:
Else
rem GiPrint "Beuh!"
Endif
Endif
Endif
TbarOffer%:(event&(3),event&(4),event&(6),event&(7))
IOYield
event&(1)=0:event&(3)=0:event&(4)=0:event&(6)=0:event&(7)=0
Until abort%=1 Or Okay%=1
If km2%=1000 or reste%<=0
manche%=1
Endif
ENDP
PROC Place1:
Local val%
last1%=0
If pen1%=-1
Return
Endif
val%=Typecarte%:(main1%(pen1%))
If pen2%=-1
rem defausse
Affcarte:(1,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(11,val%,0)
defau%=TypeCarte%:(main1%(pen1%))
main1%(pen1%)=0
trou1%=pen1%
pen1%=0:pen2%=0:okay%=1
JoueSon:(7,1)
Elseif arrivee%=3
Affcarte:(1,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(3,val%,0)
main1%(pen1%)=0
trou1%=pen1%
pen1%=0:pen2%=0:okay%=1
joue1%=val%
If val%=14 or val%=12 or val%=13
If botte1%(1)=6 or botte1%(2)=6 or botte1%(3)=6 or botte1%(4)=6
joue1%=10
Affcarte:(3,10,0)
Endif
Endif
JoueSon:(8,1)
Elseif arrivee%=4
Affcarte:(1,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(4,val%,0)
main1%(pen1%)=0
trou1%=pen1%
pen1%=0:pen2%=0:okay%=1
joue2%=val%
last1%=val%
JoueSon:(3,1)
Elseif arrivee%=5
Affcarte:(1,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(5,val%,0)
main1%(pen1%)=0
trou1%=pen1%
pen1%=0:pen2%=0:okay%=1
botte1%(posbotte1%)=val%
posbotte1%=posbotte1%+1
If val%=6
If last2%=1 or last2%=2
fourre1%=fourre1%+1
JoueSon:(4,1)
Else
parade1%=parade1%+1
JoueSon:(8,1)
Endif
If joue1%=0 or joue1%=1 or joue1%=14 or joue1%=12 or joue1%=13
joue1%=10
Affcarte:(3,10,0)
Endif
If limit1%=0 or limit1%=2
limit1%=11
Affcarte:(7,11,0)
Endif
Elseif val%=9
If joue1%=5
joue1%=10
Affcarte:(3,10,0)
Endif
If last2%=5
fourre1%=fourre1%+1
JoueSon:(4,1)
Else
parade1%=parade1%+1
JoueSon:(8,1)
Endif
Elseif val%=8
If joue1%=4
joue1%=10
Affcarte:(3,10,0)
Endif
If last2%=4
fourre1%=fourre1%+1
JoueSon:(4,1)
Else
parade1%=parade1%+1
JoueSon:(8,1)
Endif
Elseif val%=7
If joue1%=3
joue1%=10
Affcarte:(3,10,0)
Endif
If last2%=3
fourre1%=fourre1%+1
JoueSon:(4,1)
Else
parade1%=parade1%+1
JoueSon:(8,1)
Endif
Endif
cbotte%=1
Elseif arrivee%=7
Affcarte:(1,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(7,val%,0)
main1%(pen1%)=0
trou1%=pen1%
pen1%=0:pen2%=0:okay%=1
limit1%=val%
JoueSon:(8,1)
Elseif arrivee%=8
Affcarte:(1,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(8,val%,0)
main1%(pen1%)=0
trou1%=pen1%
pen1%=0:pen2%=0:okay%=1
limit2%=val%
last1%=2
JoueSon:(3,1)
Elseif arrivee%=9
Affcarte:(1,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(9,val%,0)
main1%(pen1%)=0
trou1%=pen1%
pen1%=0:pen2%=0:okay%=1
poskm1%=poskm1%+1
If val%=15
km1%=km1%+25
Elseif val%=16
km1%=km1%+50
Elseif val%=17
km1%=km1%+75
Elseif val%=18
km1%=km1%+100
Elseif val%=19
km1%=km1%+200
deuxcent1%=deuxcent1%+1
Endif
JoueSon:(8,1)
Affkm1:
last1%=val%
Endif
ENDP
PROC Place2:
Local val%
last2%=0
val%=Typecarte%:(main2%(pen1%))
If pen2%=-1
rem defausse
Affcarte:(2,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(11,val%,0)
defau%=TypeCarte%:(main2%(pen1%))
main2%(pen1%)=0
trou2%=pen1%
pen1%=0:pen2%=0:okay%=1
JoueSon:(7,1)
Elseif arrivee%=3
Affcarte:(2,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(3,val%,0)
main2%(pen1%)=0
trou2%=pen1%
pen1%=0:pen2%=0:okay%=1
joue1%=val%
last2%=val%
JoueSon:(3,1)
Elseif arrivee%=4
Affcarte:(2,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(4,val%,0)
main2%(pen1%)=0
trou2%=pen1%
pen1%=0:pen2%=0:okay%=1
joue2%=val%
If val%=14 or val%=12 or val%=13
If botte2%(1)=6 or botte2%(2)=6 or botte2%(3)=6 or botte2%(4)=6
joue2%=10
Affcarte:(4,10,0)
Endif
Endif
JoueSon:(8,1)
Elseif arrivee%=6
Affcarte:(2,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(6,val%,0)
main2%(pen1%)=0
trou2%=pen1%
pen1%=0:pen2%=0:okay%=1
botte2%(posbotte2%)=val%
posbotte2%=posbotte2%+1
If val%=6
If joue2%=0 or joue2%=1 or joue2%=14 or joue2%=12 or joue2%=13
joue2%=10
Affcarte:(4,10,0)
Endif
If limit2%=0 or limit2%=2
limit2%=11
Affcarte:(8,11,0)
Endif
If last1%=1 or last1%=2
fourre2%=fourre2%+1
JoueSon:(4,1)
Else
parade2%=parade2%+1
JoueSon:(8,1)
Endif
Elseif val%=9
If joue2%=5
joue2%=10
Affcarte:(4,10,0)
Endif
If last1%=5
fourre2%=fourre2%+1
JoueSon:(4,1)
Else
parade2%=parade2%+1
JoueSon:(8,1)
Endif
Elseif val%=8
If joue2%=4
joue2%=10
Affcarte:(4,10,0)
Endif
If last1%=4
fourre2%=fourre2%+1
JoueSon:(4,1)
Else
parade2%=parade2%+1
JoueSon:(8,1)
Endif
Elseif val%=7
If joue2%=3
joue2%=10
Affcarte:(4,10,0)
Endif
If last1%=3
fourre2%=fourre2%+1
JoueSon:(4,1)
Else
parade2%=parade2%+1
JoueSon:(8,1)
Endif
Endif
cbotte%=1
Elseif arrivee%=7
Affcarte:(2,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(7,val%,0)
main2%(pen1%)=0
trou2%=pen1%
pen1%=0:pen2%=0:okay%=1
limit1%=val%
last2%=2
JoueSon:(3,1)
Elseif arrivee%=8
Affcarte:(2,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(8,val%,0)
main2%(pen1%)=0
trou2%=pen1%
pen1%=0:pen2%=0:okay%=1
limit2%=val%
JoueSon:(8,1)
Elseif arrivee%=10
Affcarte:(2,0,pen1%)
If possible%=1
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr2&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Else
If sprite%=1
SpriteDelete:(Spr1&)
SpriteDelete:(Spr3&)
sprite%=0
Endif
Endif
Affcarte:(10,val%,0)
main2%(pen1%)=0
trou2%=pen1%
pen1%=0:pen2%=0:okay%=1
poskm2%=poskm2%+1
If val%=15
km2%=km2%+25
Elseif val%=16
km2%=km2%+50
Elseif val%=17
km2%=km2%+75
Elseif val%=18
km2%=km2%+100
Elseif val%=19
km2%=km2%+200
deuxcent2%=deuxcent2%+1
Endif
JoueSon:(8,1)
Affkm2:
Endif
ENDP
PROC Arriv1%:
If Typecarte%:(main1%(pen1%))=10
rem roll
If joue1%=0 or joue1%=1 or joue1%=14 or joue1%=12 or joue1%=13
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=1
rem stop
If joue2%=10 and (botte2%(1)<>6 and botte2%(2)<>6 and botte2%(3)<>6 and botte2%(4)<>6)
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=2
rem speed limit
If (limit2%=0 or limit2%=11) and (botte2%(1)<>6 and botte2%(2)<>6 and botte2%(3)<>6 and botte2%(4)<>6)
Return 8
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=11
rem end limit
If limit1%=2
Return 7
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=14
rem repair
If joue1%=5
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=12
rem gasoline
If joue1%=3
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=13
rem spare tire
If joue1%=4
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=4
rem flat tire
If joue2%=10 and (botte2%(1)<>8 and botte2%(2)<>8 and botte2%(3)<>8 and botte2%(4)<>8)
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=3
rem out of gas
If joue2%=10 and (botte2%(1)<>7 and botte2%(2)<>7 and botte2%(3)<>7 and botte2%(4)<>7)
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=5
rem accident
If joue2%=10 and (botte2%(1)<>9 and botte2%(2)<>9 and botte2%(3)<>9 and botte2%(4)<>9)
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=15
rem 25km
If joue1%=10 and km1%<=975
Return 9
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=16
rem 50km
If joue1%=10 and km1%<=950
Return 9
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=17
rem 75km
If joue1%=10 and (limit1%<>2) and km1%<=925
Return 9
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=18
rem 100km
If joue1%=10 and (limit1%<>2) and km1%<=900
Return 9
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=19
rem 200km
If joue1%=10 and (limit1%<>2) and deuxcent1%<=1 and km1%<=800
Return 9
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=9
rem driving ace
If 1
Return 5
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=8
rem punc proof
If 1
Return 5
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=6
rem right of way
If 1
Return 5
Else
Return -1
Endif
Elseif Typecarte%:(main1%(pen1%))=7
rem extra tank
If 1
Return 5
Else
Return -1
Endif
Endif
ENDP
PROC Arriv2%:
If Typecarte%:(main2%(pen1%))=10
rem roll
If joue2%=0 or joue2%=1 or joue2%=14 or joue2%=12 or joue2%=13
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=1
rem stop
If joue1%=10 and (botte1%(1)<>6 and botte1%(2)<>6 and botte1%(3)<>6 and botte1%(4)<>6)
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=2
rem speed limit
If (limit1%=0 or limit1%=11) and (botte1%(1)<>6 and botte1%(2)<>6 and botte1%(3)<>6 and botte1%(4)<>6)
Return 7
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=11
rem end limit
If limit2%=2
Return 8
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=14
rem repair
If joue2%=5
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=12
rem gasoline
If joue2%=3
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=13
rem spare tire
If joue2%=4
Return 4
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=4
rem flat tire
If joue1%=10 and (botte1%(1)<>8 and botte1%(2)<>8 and botte1%(3)<>8 and botte1%(4)<>8)
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=3
rem out of gas
If joue1%=10 and (botte1%(1)<>7 and botte1%(2)<>7 and botte1%(3)<>7 and botte1%(4)<>7)
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=5
rem accident
If joue1%=10 and (botte1%(1)<>9 and botte1%(2)<>9 and botte1%(3)<>9 and botte1%(4)<>9)
Return 3
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=15
rem 25km
If joue2%=10 and km2%<=975
Return 10
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=16
rem 50km
If joue2%=10 and km2%<=950
Return 10
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=17
rem 75km
If joue2%=10 and (limit2%<>2) and km2%<=925
Return 10
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=18
rem 100km
If joue2%=10 and (limit2%<>2) and km2%<=900
Return 10
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=19
rem 200km
If joue2%=10 and (limit2%<>2) and deuxcent2%<=1 and km2%<=800
Return 10
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=9
rem driving ace
If 1
Return 6
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=8
rem punc proof
If 1
Return 6
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=6
rem right of way
If 1
Return 6
Else
Return -1
Endif
Elseif Typecarte%:(main2%(pen1%))=7
rem extra tank
If 1
Return 6
Else
Return -1
Endif
Endif
ENDP
PROC Flush:
If event&(1)=&408
Do
getEvent32 event&()
IOYield
Until event&(1)<>&408
Endif
ENDP
PROC Playdrop:(c%,onoff%)
Local x%,y%,dx%,dy%
If c%=1
x%=15:y%=9:dx%=52:dy%=22
Elseif c%=2
x%=15:y%=31:dx%=52:dy%=22
Elseif c%=3
x%=15:y%=53:dx%=52:dy%=22
Elseif c%=4
x%=15:y%=75:dx%=52:dy%=22
Elseif c%=5
x%=15:y%=97:dx%=52:dy%=22
Elseif c%=6
x%=15:y%=119:dx%=52:dy%=22
Elseif c%=7
x%=15:y%=141:dx%=52:dy%=67
Endif
If onoff%=1
gUse decora%
gCopy fore%,x%-16,y%+2,21,19,3
gUse decorb%
gCopy fore%,x%+46,y%+2,21,19,3
gUse fore%
gAt x%-16,y%+2
gCopy back%,245,166,21,19,3
gAt x%+46,y%+2
gCopy back%,307,166,21,19,3
Else
gUse fore%
gAt x%-16,y%+2
gCopy decora%,0,0,21,19,3
gAt x%+46,y%+2
gCopy decorb%,0,0,21,19,3
Endif
ENDP
PROC Stylet1%:(x&,y&,pen2%)
Local pen%,xx%,yy%,dx%,dy%
pen%=-2
rem If pen2%<>0
If x&>=15 And x&<=15+52 and y&>=9 and y&<=9+22
pen%=101
Elseif x&>=15 And x&<=15+52 and y&>=31 and y&<=31+22
pen%=102
Elseif x&>=15 And x&<=15+52 and y&>=53 and y&<=53+22
pen%=103
Elseif x&>=15 And x&<=15+52 and y&>=75 and y&<=75+22
pen%=104
Elseif x&>=15 And x&<=15+52 and y&>=97 and y&<=97+22
pen%=105
Elseif x&>=15 And x&<=15+52 and y&>=119 and y&<=119+22
pen%=106
Elseif x&>=15 And x&<=15+52 and y&>=141 and y&<=141+70
pen%=107
Elseif x&>=74 and x&<=74+52 and y&>=21 and y&<=21+70
pen%=3
Elseif x&>=449 and x&<=449+52 and y&>=21 and y&<=21+70
pen%=4
Elseif x&>=131 and x&<=131+52 and y&>=21+((posbotte1%-1)*22) and y&<=21+((posbotte1%-1)*22)+70
pen%=5
Elseif x&>=392 and x&<=392+52 and y&>=21+((posbotte1%-1)*22) and y&<=21+((posbotte1%-1)*22)+70
pen%=6
Elseif x&>=74 and x&<=74+52 and y&>=97 and y&<=97+70
pen%=7
Elseif x&>=449 and x&<=449+52 and y&>=97 and y&<=97+70
pen%=8
Elseif poskm1%=1 and x&>=190 and x&<=190+52 and y&>=24 and y&<=24+70
pen%=9
Elseif poskm1%>=2 and poskm1%<=10 and x&>=190 and x&<=190+52 and y&>=24+((poskm1%-1-1)*13) and y&<=24+((poskm1%-1-1)*13)+70
pen%=9
Elseif poskm1%>=11 and x&>=200 and x&<=200+52 and y&>=24+((poskm1%-10-1)*13) and y&<=24+((poskm1%-10-1)*13)+70
pen%=9
Elseif x&>=260 and x&<=260+52 and y&>=116 and y&<=116+70
pen%=-1
Endif
rem Endif
Return pen%
ENDP
PROC Stylet2%:(x&,y&,pen2%)
Local pen%,xx%,yy%,dx%,dy%
pen%=-2
rem If pen2%<>0
If x&>=508 And x&<=508+52 and y&>=9 and y&<=9+22
pen%=101
Elseif x&>=508 And x&<=508+52 and y&>=31 and y&<=31+22
pen%=102
Elseif x&>=508 And x&<=508+52 and y&>=53 and y&<=53+22
pen%=103
Elseif x&>=508 And x&<=508+52 and y&>=75 and y&<=75+22
pen%=104
Elseif x&>=508 And x&<=508+52 and y&>=97 and y&<=97+22
pen%=105
Elseif x&>=508 And x&<=508+52 and y&>=119 and y&<=119+22
pen%=106
Elseif x&>=508 And x&<=508+52 and y&>=141 and y&<=141+70
pen%=107
Elseif x&>=449 and x&<=449+52 and y&>=21 and y&<=21+70
pen%=4
Elseif x&>=74 and x&<=74+52 and y&>=21 and y&<=21+70
pen%=3
Elseif x&>=392 and x&<=392+52 and y&>=21+((posbotte2%-1)*22) and y&<=21+((posbotte2%-1)*22)+70
pen%=6
Elseif x&>=131 and x&<=131+52 and y&>=21+((posbotte2%-1)*22) and y&<=21+((posbotte2%-1)*22)+70
pen%=5
Elseif x&>=449 and x&<=449+52 and y&>=97 and y&<=97+70
pen%=8
Elseif x&>=74 and x&<=74+52 and y&>=97 and y&<=97+70
pen%=7
Elseif poskm2%=1 and x&>=321 and x&<=321+52 and y&>=24 and y&<=24+70
pen%=10
Elseif poskm2%>=2 and poskm2%<=10 and x&>=321 and x&<=321+52 and y&>=24+((poskm2%-1-1)*13) and y&<=24+((poskm2%-1-1)*13)+70
pen%=10
Elseif poskm2%>=11 and x&>=331 and x&<=331+52 and y&>=24+((poskm2%-10-1)*13) and y&<=24+((poskm2%-10-1)*13)+70
pen%=10
Elseif x&>=260 and x&<=260+52 and y&>=116 and y&<=116+70
pen%=-1
Endif
rem Endif
Return pen%
ENDP
PROC Loadvide:
vide%=gLoadBit(Chemin$+"mbornpe",1,0)
ENDP
PROC CreeFore:
fore%=gCreate(0,0,wid%-71,hei%,0,$101)
ENDP
PROC Afffore:
gUse fore%
gAt 0,0
gCopy vide%,0,0,640-71,240,3
gVisible On
ENDP
PROC Loadback:
Rem CZ requires bitmap modification
back%=gLoadBit(Chemin$+"mbornpa",1,lang%-1)
ENDP
PROC TypeCarte%:(carte%)
If carte%>=1 and carte%<=5
Return 1
Elseif carte%>=6 and carte%<=9
Return 2
Elseif carte%>=10 and carte%<=12
Return 3
Elseif carte%>=13 and carte%<=15
Return 4
Elseif carte%>=16 and carte%<=18
Return 5
Elseif carte%=19
Return 6
Elseif carte%=20
Return 7
Elseif carte%=21
Return 8
Elseif carte%=22
Return 9
Elseif carte%>=23 and carte%<=36
Return 10
Elseif carte%>=37 and carte%<=42
Return 11
Elseif carte%>=43 and carte%<=48
Return 12
Elseif carte%>=49 and carte%<=54
Return 13
Elseif carte%>=55 and carte%<=60
Return 14
Elseif carte%>=61 and carte%<=70
Return 15
Elseif carte%>=71 and carte%<=80
Return 16
Elseif carte%>=81 and carte%<=90
Return 17
Elseif carte%>=91 and carte%<=102
Return 18
Elseif carte%>=103 and carte%<=106
Return 19
Endif
ENDP
PROC Affcarte:(e%,t%,p%)
Local i%
gUse fore%
If e%=3
rem joue1
gAt 74,21
Aff:(t%,1)
Elseif e%=4
rem joue2
gAt 449,21
Aff:(t%,1)
Elseif e%=7
rem limit1
gAt 74,97
Aff:(t%,1)
Elseif e%=8
rem limit2
gAt 449,97
Aff:(t%,1)
Elseif e%=5
rem botte1
gAt 131,21+((posbotte1%-1)*22)
Aff:(t%,1)
Elseif e%=6
rem botte2
gAt 392,21+((posbotte2%-1)*22)
Aff:(t%,1)
Elseif e%=11
rem defausse
gAt 260,116
Aff:(t%,1)
Elseif e%=9
If poskm1%>=1 And poskm1%<=9
gAt 190,24+((poskm1%-1)*13)
Aff:(t%,1)
Elseif poskm1%>=10
gAt 200,32+((poskm1%-10)*13)
Aff:(t%,1)
Endif
Elseif e%=10
If poskm2%>=1 And poskm2%<=9
gAt 321,24+((poskm2%-1)*13)
Aff:(t%,1)
Elseif poskm2%>=10
gAt 331,32+((poskm2%-10)*13)
Aff:(t%,1)
Endif
Elseif e%=1
If t%=0 And p%=7
gAt 15,9+((p%-2)*22)
Aff:(Typecarte%:(main1%(6)),1)
gAt 15,189
gCopy decor1%,0,0,52,22,3
Else
gAt 15,9+((p%-1)*22)
If p%=7
Aff:(t%,1)
Else
If main1%(p%+1)<>0
Aff:(t%,2)
Else
Aff:(t%,1)
Endif
Endif
Endif
Elseif e%=2
If t%=0 And p%=7
If visib%=1
gAt 508,9+((p%-2)*22)
Aff:(Typecarte%:(main2%(6)),1)
gAt 508,189
gCopy decor2%,0,0,52,22,3
Else
gAt 508,9+((p%-2)*22)
Aff:(-1,1)
gAt 508,189
gCopy decor2%,0,0,52,22,3
Endif
Else
gAt 508,9+((p%-1)*22)
If visib%=2
If t%=0
i%=0
Else
i%=-1
Endif
Else
i%=t%
Endif
If p%=7
Aff:(i%,1)
Else
If main2%(p%+1)<>0
Aff:(i%,2)
Else
Aff:(i%,1)
Endif
Endif
Endif
Endif
ENDP
PROC Aff:(c%,taille%)
Local x%,y%
If c%=-1
x%=60:y%=154
Elseif c%=0
x%=114:y%=154
Elseif c%=1
x%=60:y%=10
Elseif c%=2
x%=384:y%=10
Elseif c%=3
x%=168:y%=82
Elseif c%=4
x%=60:y%=82
Elseif c%=5
x%=6:y%=154
Elseif c%=6
x%=384:y%=82
Elseif c%=7
x%=438:y%=82
Elseif c%=8
x%=330:y%=82
Elseif c%=9
x%=114:y%=82
Elseif c%=10
x%=6:y%=10
Elseif c%=11
x%=438:y%=10
Elseif c%=12
x%=222:y%=82
Elseif c%=13
x%=276:y%=82
Elseif c%=14
x%=6:y%=82
Elseif c%=15
x%=114:y%=10
Elseif c%=16
x%=168:y%=10
Elseif c%=17
x%=222:y%=10
Elseif c%=18
x%=276:y%=10
Elseif c%=19
x%=330:y%=10
Endif
If taille%=1
gCopy back%,x%,y%,52,70,3
Elseif taille%=2
gCopy back%,x%,y%,52,22,3
Endif
ENDP
PROC Tirage:
Local ok%
ok%=1
Do
main1%(ok%)=Rndc%:(1)
carte%(main1%(ok%))=0
If nbplay%=2
Affcarte:(1,-1,ok%)
Else
Affcarte:(1,Typecarte%:(main1%(ok%)),ok%)
Endif
JoueSon:(2,1)
reste%=reste%-1
Affreste:
main2%(ok%)=Rndc%:(2)
carte%(main2%(ok%))=0
If nbplay%=2
Affcarte:(2,-1,ok%)
Else
If visib%=1
Affcarte:(2,Typecarte%:(main2%(ok%)),ok%)
Else
Affcarte:(2,-1,ok%)
Endif
Endif
JoueSon:(2,1)
reste%=reste%-1
Affreste:
ok%=ok%+1
Until ok%=7
ENDP
PROC Affreste:
VReste:
gUse fore%
gColor 0,0,0
If reste%>=100
gAt 270,73
gPrintB Gen$(reste%,3),30
Elseif reste%>=10
gAt 270+6,73
gPrintB Gen$(reste%,2),20
Else
gAt 270+10,73
gPrintB Gen$(reste%,1),10
Endif
ENDP
PROC VReste:
gUse fore%
gAt 270,57
gFill 30,20,1
ENDP
PROC Affkm1:
Vkm1:
gUse fore%
gColor 0,0,0
If km1%>=1000
gAt 185+10,24-4
gPrintB Gen$(km1%,4),40
Elseif km1%>=100
gAt 185+10+6,24-4
gPrintB Gen$(km1%,3),30
Elseif km1%>=10
gAt 185+10+8,24-4
gPrintB Gen$(km1%,2),20
Else
gAt 185+10+14,24-4
gPrintB Gen$(km1%,1),10
Endif
Affvoit:(1,km1%,1,voiture%)
ENDP
PROC Vkm1:
gUse fore%
gAt 185+10,24-4-16
gFill 40,20,1
ENDP
PROC Affkm2:
Vkm2:
gUse fore%
gColor 0,0,0
If km2%>=1000
gAt 318+10,24-4
gPrintB Gen$(km2%,4),40
Elseif km2%>=100
gAt 318+10+6,24-4
gPrintB Gen$(km2%,3),30
Elseif km2%>=10
gAt 318+10+8,24-4
gPrintB Gen$(km2%,2),20
Else
gAt 318+10+14,24-4
gPrintB Gen$(km2%,1),10
Endif
Affvoit:(2,km2%,1,voiture%)
ENDP
PROC Vkm2:
gUse fore%
gAt 321+10,24-4-16
gFill 40,20,1
ENDP
PROC Rndc%:(p%)
Local i%,ok%,dummy%
ok%=0
dummy%=1+int((Rnd*50))
If dummy%<=(10-level%)
rem on triche au tirage des cartes...
rem giPrint "!"
If p%=1
If joue1%=0 or joue1%=1 or joue1%=14 or joue1%=12 or joue1%=13
rem on cherche un feu vert !
i%=23
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=37
Endif
If ok%=0 and joue1%=4
rem on recherche un spare tire
i%=49
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=54
Endif
If ok%=0 and joue1%=3
rem on recherche un gasoline
i%=43
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=49
Endif
If ok%=0 and joue1%=5
rem on recherche un repair
i%=55
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=61
Endif
If ok%=0 and limit1%=2
rem on recherche un end of limit
i%=37
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=43
Endif
Else
If joue2%=0 or joue2%=1 or joue2%=14 or joue2%=12 or joue2%=13
rem on cherche un feu vert !
i%=23
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=37
Endif
If ok%=0 and joue2%=4
rem on recherche un spare tire
i%=49
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=54
Endif
If ok%=0 and joue2%=3
rem on recherche un gasoline
i%=43
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=49
Endif
If ok%=0 and joue2%=5
rem on recherche un repair
i%=55
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=61
Endif
If ok%=0 and limit2%=2
rem on recherche un end of limit
i%=37
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=43
Endif
Endif
Endif
If ok%=0
ok%=0
Do
i%=1+Int(Rnd*106)
If carte%(i%)=1
ok%=1
Endif
Until ok%=1
Endif
Return i%
ENDP
PROC Rndcompu%:
Local i%,ok%,dummy%
dummy%=1+int((Rnd*30))
If dummy%<=(level%-1)
rem on triche au tirage des cartes...
rem giPrint "!"
ok%=0
If joue2%=0 or joue2%=1 or joue2%=14 or joue2%=12 or joue2%=13
rem on cherche un feu vert !
i%=23
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=37
Endif
If ok%=0 and joue2%=4
rem on recherche un spare tire
i%=49
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=54
Endif
If ok%=0 and joue2%=3
rem on recherche un gasoline
i%=43
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=49
Endif
If ok%=0 and joue2%=5
rem on recherche un repair
i%=55
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=61
Endif
If ok%=0 and limit2%=2
rem on recherche un end of limit
i%=37
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=43
Endif
If ok%=0 and km2%<=600
rem on recherche un 200
i%=103
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=106
Endif
If ok%=0 and km2%<=900
rem on recherche un 100
i%=91
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=103
Endif
If ok%=0 and km2%=925
rem on recherche un 75
i%=81
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=90
Endif
If ok%=0 and km2%=950
rem on recherche un 50
i%=71
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=81
Endif
If ok%=0 and km2%=975
rem on recherche un 25
i%=61
Do
If carte%(i%)=1
ok%=1
Endif
i%=i%+1
Until ok%=1 or i%=71
Endif
If ok%=0
Do
i%=1+Int(Rnd*106)
If carte%(i%)=1
ok%=1
Endif
Until ok%=1
Endif
Else
ok%=0
Do
i%=1+Int(Rnd*106)
If carte%(i%)=1
ok%=1
Endif
Until ok%=1
Endif
Return i%
ENDP
PROC Initvars:
Local i%
i%=1
Do
carte%(i%)=1
i%=i%+1
Until i%=107
reste%=106
i%=1
Do
main1%(i%)=0
main2%(i%)=0
i%=i%+1
Until i%=8
km1%=0:km2%=0
poskm1%=1:poskm2%=1
i%=1
Do
botte1%(i%)=0
botte2%(i%)=0
i%=i%+1
Until i%=5
posbotte1%=1:posbotte2%=1
joue1%=0:joue2%=0
deuxcent1%=0:deuxcent2%=0
limit1%=0:limit2%=0
fourre1%=0:fourre2%=0
parade1%=0:parade2%=0
km1old%=0
km2old%=0
defau%=0
ENDP
PROC Entoure1:(c%)
Local x%,y%,dx%,dy%
If c%=1
x%=15:y%=9:dx%=52:dy%=22
Elseif c%=2
x%=15:y%=31:dx%=52:dy%=22
Elseif c%=3
x%=15:y%=53:dx%=52:dy%=22
Elseif c%=4
x%=15:y%=75:dx%=52:dy%=22
Elseif c%=5
x%=15:y%=97:dx%=52:dy%=22
Elseif c%=6
x%=15:y%=119:dx%=52:dy%=22
Elseif c%=7
x%=15:y%=141:dx%=52:dy%=67
Endif
If dy%=67
spr1&=SpriteOn&:(x%,y%,1)
Else
spr1&=SpriteOn&:(x%,y%,2)
Endif
ENDP
PROC Entoure2:(c%)
Local x%,y%,dx%,dy%
If c%=1
x%=508:y%=9:dx%=52:dy%=22
Elseif c%=2
x%=508:y%=31:dx%=52:dy%=22
Elseif c%=3
x%=508:y%=53:dx%=52:dy%=22
Elseif c%=4
x%=508:y%=75:dx%=52:dy%=22
Elseif c%=5
x%=508:y%=97:dx%=52:dy%=22
Elseif c%=6
x%=508:y%=119:dx%=52:dy%=22
Elseif c%=7
x%=508:y%=141:dx%=52:dy%=67
Endif
If dy%=67
spr1&=SpriteOn&:(x%,y%,1)
Else
spr1&=SpriteOn&:(x%,y%,2)
Endif
ENDP
PROC EntoureA:(c%)
Local x%,y%,dx%,dy%
If c%<>-1
If c%=3
x%=74:y%=21:dx%=52:dy%=67
Elseif c%=4
x%=449:y%=21:dx%=52:dy%=67
Elseif c%=5
If posbotte1%=1
x%=131:y%=21+((posbotte1%-1)*22):dx%=52:dy%=67
Else
x%=131:y%=21+((posbotte1%-1-1)*22):dx%=52:dy%=67
Endif
Elseif c%=6
If posbotte2%=1
x%=392:y%=21+((posbotte2%-1)*22):dx%=52:dy%=67
Else
x%=392:y%=21+((posbotte2%-1-1)*22):dx%=52:dy%=67
Endif
Elseif c%=7
x%=74:y%=97:dx%=52:dy%=67
Elseif c%=8
x%=449:y%=97:dx%=52:dy%=67
Elseif c%=9
If poskm1%=1
x%=190:y%=24:dx%=52:dy%=67
Elseif poskm1%>=2 and poskm1%<=10
x%=190:y%=24+((poskm1%-1-1)*13):dx%=52:dy%=67
Else
x%=200:y%=32+((poskm1%-10-1)*13):dx%=52:dy%=67
Endif
Elseif c%=10
x%=321:y%=24:dx%=52:dy%=67
If poskm2%=1
x%=321:y%=24:dx%=52:dy%=67
Elseif poskm2%>=2 and poskm2%<=10
x%=321:y%=24+((poskm2%-1-1)*13):dx%=52:dy%=67
Else
x%=331:y%=32+((poskm2%-10-1)*13):dx%=52:dy%=67
Endif
Endif
spr2&=SpriteOn&:(x%,y%,1)
possible%=1
Else
possible%=0
Endif
rem defausse
x%=260:y%=116:dx%=52:dy%=67
spr3&=SpriteOn&:(x%,y%,1)
ENDP
PROC EntoureC:(c%)
Local x%,y%,dx%,dy%
If c%<>-1
If c%=3
x%=74:y%=21:dx%=52:dy%=67
Elseif c%=4
x%=449:y%=21:dx%=52:dy%=67
Elseif c%=5
If posbotte1%=1
x%=131:y%=21+((posbotte1%-1)*22):dx%=52:dy%=67
Else
x%=131:y%=21+((posbotte1%-1-1)*22):dx%=52:dy%=67
Endif
Elseif c%=6
If posbotte2%=1
x%=392:y%=21+((posbotte2%-1)*22):dx%=52:dy%=67
Else
x%=392:y%=21+((posbotte2%-1-1)*22):dx%=52:dy%=67
Endif
Elseif c%=7
x%=74:y%=97:dx%=52:dy%=67
Elseif c%=8
x%=449:y%=97:dx%=52:dy%=67
Elseif c%=9
If poskm1%=1
x%=190:y%=24:dx%=52:dy%=67
Elseif poskm1%>=2 and poskm1%<=10
x%=190:y%=24+((poskm1%-1-1)*13):dx%=52:dy%=67
Else
x%=200:y%=32+((poskm1%-10-1)*13):dx%=52:dy%=67
Endif
Elseif c%=10
x%=321:y%=24:dx%=52:dy%=67
If poskm2%=1
x%=321:y%=24:dx%=52:dy%=67
Elseif poskm2%>=2 and poskm2%<=10
x%=321:y%=24+((poskm2%-1-1)*13):dx%=52:dy%=67
Else
x%=331:y%=32+((poskm2%-10-1)*13):dx%=52:dy%=67
Endif
Elseif c%=11
x%=260:y%=116:dx%=52:dy%=67
Endif
spr2&=SpriteOn&:(x%,y%,1)
possible%=1
Else
possible%=0
Endif
ENDP
PROC Visibles:(player%)
Local i%
i%=1
Do
If player%=1
If visib1%=1
gAt 15,9+((i%-1)*22)
If main1%(i%)=0
If i%<>7
Aff:(0,1)
Endif
Else
Aff:(Typecarte%:(main1%(i%)),1)
Endif
Else
gAt 15,9+((i%-1)*22)
If main1%(i%)=0
If i%<>7
Aff:(0,1)
Endif
Else
Aff:(-1,1)
Endif
Endif
Else
If visib2%=1
gAt 508,9+((i%-1)*22)
If main2%(i%)=0
If i%<>7
Aff:(0,1)
Endif
Else
Aff:(Typecarte%:(main2%(i%)),1)
Endif
Else
gAt 508,9+((i%-1)*22)
If main2%(i%)=0
If i%<>7
Aff:(0,1)
Endif
Else
Aff:(-1,1)
Endif
Endif
Endif
i%=i%+1
Until i%=8
ENDP
PROC Okidoki:(text$)
dInit
dText "",text$,2
dButtons "Ok",13 or $200
Dialog
ENDP
PROC Score:
Local score%,dx%,dy%,f1%,f2%,k1%,k2%,m1%,m2%,d1%,d2%,t1%,t2%
dx%=450:dy%=186
score%=gCreate(Int((wid%-71-dx%)/2),Int((hei%-dy%)/2),dx%,dy%,1,$311)
gColor 0,0,0
gAt 0,0:gLineto dx%-1,0:gLineto dx%-1,dy%-1:gLineto 0,dy%-1:gLineto 0,0
gAt 1,1:gLineto dx%-1-1,1:gLineto dx%-1-1,dy%-1-1:gLineto 1,dy%-1-1:gLineto 1,1
gFont 268436066
gAt 10,16:gPrint Localiz$:(7,lang%)+Gen$(tour%,1)+Localiz$:(8,lang%)
gAt 200,16:gPrint player1$
gAt 320,16:gPrint player2$
gColor 128,128,128:gAt 10,22:gLineto dx%-10,22
gColor 0,0,0
gAt 10,36:gPrint Localiz$:(9,lang%)
gAt 200,36:gPrint forw1%
gAt 320,36:gPrint forw2%
gColor 128,128,128:gAt 10,41:gLineto dx%-10,41
gColor 0,0,0
gAt 10,55:gPrint Localiz$:(10,lang%)
gAt 200,55:gPrint km1%
gAt 320,55:gPrint km2%
gColor 0,0,0
gAt 10,69:gPrint Localiz$:(11,lang%)
gAt 200,69:gPrint parade1%*100
gAt 320,69:gPrint parade2%*100
gColor 0,0,0
gAt 10,83:gPrint Localiz$:(12,lang%)
gAt 200,83:gPrint fourre1%*300
gAt 320,83:gPrint fourre2%*300
If parade1%+fourre1%=4
f1%=300
Endif
If parade2%+fourre2%=4
f2%=300
Endif
gColor 0,0,0
gAt 10,97:gPrint Localiz$:(13,lang%)
gAt 200,97:gPrint f1%
gAt 320,97:gPrint f2%
If km1%=1000
k1%=300
Endif
If km2%=1000
k2%=300
Endif
gColor 0,0,0
gAt 10,111:gPrint Localiz$:(14,lang%)
gAt 200,111:gPrint k1%
gAt 320,111:gPrint k2%
If km1%>km2% and km1%<>1000
m1%=100
Endif
If km1%<km2% and km2%<>1000
m2%=100
Endif
gColor 0,0,0
gAt 10,125:gPrint Localiz$:(15,lang%)
gAt 200,125:gPrint m1%
gAt 320,125:gPrint m2%
If deuxcent1%=0 and km1%=1000
d1%=300
Endif
If deuxcent2%=0 and km2%=1000
d2%=300
Endif
gColor 0,0,0
gAt 10,139:gPrint Localiz$:(16,lang%)
gAt 200,139:gPrint d1%
gAt 320,139:gPrint d2%
gColor 128,128,128:gAt 10,144:gLineto dx%-10,144
t1%=km1%+(parade1%*100)+(fourre1%*300)+f1%+k1%+m1%+d1%
t2%=km2%+(parade2%*100)+(fourre2%*300)+f2%+k2%+m2%+d2%
gColor 0,0,0
gAt 10,158:gPrint Localiz$:(17,lang%)
gAt 200,158:gPrint t1%
gAt 320,158:gPrint t2%
gColor 128,128,128:gAt 10,163:gLineto dx%-10,163
forw1%=forw1%+t1%
forw2%=forw2%+t2%
gColor 0,0,0
gAt 10,177:gPrint Localiz$:(18,lang%)
gAt 200,177:gPrint forw1%
gAt 320,177:gPrint forw2%
If nbplay%=2
JoueSon:(1,0)
Else
If t1%>t2%
JoueSon:(1,0)
Elseif t1%<t2%
JoueSon:(5,0)
Else
JoueSon:(6,0)
Endif
Endif
outgame%=1
WaitK:(score%)
outgame%=0
gClose score%
ENDP
PROC Starter%:
Local i%
i%=1+(Rnd*2)
If i%=1
Okidoki:(player1$+Localiz$:(19,lang%))
Else
Okidoki:(player2$+Localiz$:(19,lang%))
Endif
Return i%
ENDP
PROC SpriteOn&:(x%,y%,size%)
Local Spr&
If size%=1
Spr&=SpriteCreate&:(fore%,x%,y%,0)
SpriteAppend:(100000*4,b1&,b1&,1,0,0)
SpriteAppend:(33333*4,b2&,b2&,1,0,0)
SpriteAppend:(100000*4,b2&,b2&,1,0,0)
Else
Spr&=SpriteCreate&:(fore%,x%,y%,0)
SpriteAppend:(100000*4,c1&,c1&,1,0,0)
SpriteAppend:(33333*4,c2&,c2&,1,0,0)
SpriteAppend:(100000*4,c2&,c2&,1,0,0)
Endif
Return Spr&
ENDP
PROC SpriteOf:(spr&)
SpriteDelete:(spr&)
ENDP
PROC SprLoad:
b1&=BitmapLoad&:(Chemin$+"mbornpb",0)
b2&=BitmapLoad&:(Chemin$+"mbornpb",1)
c1&=BitmapLoad&:(Chemin$+"mbornpc",0)
c2&=BitmapLoad&:(Chemin$+"mbornpc",1)
ENDP
PROC SprUnload:
BitmapUnload:(b1&)
BitmapUnload:(b2&)
BitmapUnload:(c1&)
BitmapUnload:(c2&)
ENDP
PROC About:
dInit nom$+" v"+version$
dText "",Localiz$:(20,lang%),2
dText "","Copyright 1998",2
dText "",Localiz$:(21,lang%)
dButtons "Ok",13 or $200
Dialog
ENDP
PROC Pfm:
dInit "Psion Freeware Movement"
dText "",Localiz$:(22,lang%),0
dText "",Localiz$:(23,lang%),0
dText "",Localiz$:(24,lang%),0
dText "",Localiz$:(25,lang%),0
dText "","http://www.electrolyte.demon.co.uk/psion_pfm.html",0
dButtons "Ok",13 or $200
Dialog
ENDP
PROC LeChemin$:
Local p$(200),i%,c$(1)
i%=Len(Cmd$(1))
c$=""
p$=""
While c$<>"\"
c$=Mid$(cmd$(1),i%,1)
p$=c$+p$
i%=i%-1
Endwh
p$=Mid$(Cmd$(1),1,i%+1)
Return p$
ENDP
PROC TBarMenu:
rem TBarInit:(Nom$,gWidth,gHeight)
TBarInit:(Nom$,wid%,hei%)
TBarPlay:
ENDP
PROC TBarPlay:
Local ic$(100),a$(10)
ic$=Chemin$+"mbornpd"
tb1a&=gLoadBit(ic$,0,0)
tb1b&=gLoadBit(ic$,0,1)
tb2a&=gLoadBit(ic$,0,2)
tb2b&=gLoadBit(ic$,0,3)
tb3a&=gLoadBit(ic$,0,4)
tb3b&=gLoadBit(ic$,0,5)
tb4a&=gLoadBit(ic$,0,6)
tb4b&=gLoadBit(ic$,0,7)
If lang%=1
TBarButt:("a",1,Localiz$:(51,lang%),0,tb1a&,tb1b&,0)
TBarButt:("p",2,Localiz$:(52,lang%),0,tb2a&,tb2b&,0)
TBarButt:("e",3,Localiz$:(53,lang%),0,tb3a&,tb3b&,0)
TBarButt:("h",4,Localiz$:(54,lang%),0,tb4a&,tb4b&,0)
Elseif lang%=2
TBarButt:("a",1,Localiz$:(51,lang%),0,tb1a&,tb1b&,0)
TBarButt:("p",2,Localiz$:(52,lang%),0,tb2a&,tb2b&,0)
TBarButt:("q",3,Localiz$:(53,lang%),0,tb3a&,tb3b&,0)
TBarButt:("d",4,Localiz$:(54,lang%),0,tb4a&,tb4b&,0)
Else
Rem CZ
TBarButt:("a",1,Localiz$:(51,lang%),0,tb1a&,tb1b&,0)
TBarButt:("p",2,Localiz$:(52,lang%),0,tb2a&,tb2b&,0)
TBarButt:("e",3,Localiz$:(53,lang%),0,tb3a&,tb3b&,0)
TBarButt:("h",4,Localiz$:(54,lang%),0,tb4a&,tb4b&,0)
Endif
ENDP
PROC Debute%:
Local i%
dInit Localiz$:(26,lang%)
dChoice nbplay%,Localiz$:(27,lang%),Localiz$:(28,lang%)
If lang%=1
dButtons Localiz$:(29,lang%),-(%e or $200),Localiz$:(30,lang%),%s or $200
Elseif lang%=2
dButtons Localiz$:(29,lang%),-(%q or $200),Localiz$:(30,lang%),%j or $200
Else
Rem CZ
dButtons Localiz$:(29,lang%),-(%e or $200),Localiz$:(30,lang%),%s or $200
Endif
i%=Dialog
If lang%=1
If i%=%s
i%=1
Else
i%=0
Endif
Elseif lang%=2
If i%=%j
i%=1
Else
i%=0
Endif
Else
If i%=%s
i%=1
Else
i%=0
Endif
Endif
If i%=1
If nbplay%=1
visib%=2
Else
visib%=1
Endif
Return 1
Else
Return 0
Endif
ENDP
PROC GetPlayers:
Local v%,l%
If level%=1
l%=1
Elseif level%=4
l%=2
Else
l%=3
Endif
v%=Volume&+1
Do
If nbplay%=1
dInit "I.D."
dEdit Player1$,Localiz$:(31,lang%),15
If nbplay%=1
dChoice l%,Localiz$:(32,lang%),Localiz$:(33,lang%)
dChoice visib%,Localiz$:(34,lang%),Localiz$:(35,lang%)
Endif
dChoice v%,Localiz$:(36,lang%),Localiz$:(37,lang%)
dButtons "Ok",13 or $200
Dialog
Player2$=Computer$
Else
player2$=player2a$
dInit "I.D.'s"
dEdit Player1$,Localiz$:(38,lang%),15
dEdit Player2$,Localiz$:(39,lang%),15
dChoice v%,Localiz$:(36,lang%),Localiz$:(37,lang%)
dButtons "Ok",13 or $200
Dialog
Endif
If Player1$="" or Player2$=""
dInit
dText "",Localiz$:(40,lang%),2
dButtons "Ok",13 or $200
Dialog
Endif
Until Player1$<>"" and Player2$<>""
If nbplay%=1
computer$=player2$
Else
player2a$=player2$
Endif
Volume&=v%-1
If l%=1
level%=1
Elseif l%=2
level%=4
Else
level%=10
Endif
pause1%=anime%*15
ENDP
PROC CMDa%:
About:
ENDP
PROC CMDp%:
rem Preferences
Local l%,v%,visibo%,i%,a%,langold%
If level%=1
l%=1
Elseif level%=4
l%=2
Else
l%=3
Endif
v%=Volume&+1
visibo%=visib%
langold%=lang%
dInit "Preferences"
If nbplay%=1
dChoice l%,Localiz$:(32,lang%),Localiz$:(33,lang%)
dChoice visib%,Localiz$:(34,lang%),Localiz$:(35,lang%)
dChoice v%,Localiz$:(36,lang%),Localiz$:(37,lang%)
Endif
dChoice anime%,Localiz$:(42,lang%),Localiz$:(43,lang%)
dChoice voiture%,Localiz$:(56,lang%),Localiz$:(57,lang%)
dChoice lang%,Localiz$:(55,lang%),"English,Francais,CZ"
dButtons "Ok",13 or $200
Dialog
If lang%<>langold%
Unloadtb:
TBarPlay:
Reload:
Endif
Volume&=v%-1
If l%=1
level%=1
Elseif l%=2
level%=4
Else
level%=10
Endif
If visibo%<>visib% and outgame%=0
rem on change l'aspect des cartes de l'adversaire...
i%=1
Do
Affcarte:(2,Typecarte%:(main2%(i%)),i%)
i%=i%+1
Until i%=8
Endif
pause1%=anime%*15
ENDP
PROC CMDe%:
abort%=Abandon%:
ENDP
PROC CMDq%:
CMDe%:
ENDP
PROC CMDh%:
Hailpe:
ENDP
PROC CMDd%:
Hailpe:
ENDP
PROC Abandon%:
rem abandon de la partie...
Local i%
dInit Localiz$:(44,lang%)
dText "",Localiz$:(45,lang%),2
If lang%=1
dBUTTONS Localiz$:(46,lang%),-(%n or $200),Localiz$:(47,lang%),%y or $200
Elseif lang%=2
dBUTTONS Localiz$:(46,lang%),-(%n or $200),Localiz$:(47,lang%),%o or $200
Else
Rem CZ
dBUTTONS Localiz$:(46,lang%),-(%n or $200),Localiz$:(47,lang%),%y or $200
Endif
i%=Dialog
Rem CZ
If (lang%=1 and i%=%y) or (lang%=2 and i%=%o) or (lang%=3 and i%=%y)
Deletespr:
If outgame%=1
force%=1
Endif
Return 1
Else
Return 0
Endif
ENDP
PROC Deletespr:
Onerr spr1err::
SpriteDelete:(spr1&)
spr1err::
Onerr off
Onerr spr2err::
SpriteDelete:(spr2&)
spr2err::
Onerr off
Onerr spr3err::
SpriteDelete:(spr3&)
spr3err::
Onerr off
ENDP
PROC WaitK:(window%)
Local ok%
ok%=0
event&(1)=0
Do
GetEvent32 event&()
If event&(1)=10000 Or event&(1)=4150
Menu:
Elseif event&(1)=&404
If Left$(getcmd$,1)="X"
Stop
Endif
Elseif event&(1)=$401
giPrint Localiz$:(6,lang%)
Elseif event&(1)=$402
rem rien
Elseif event&(1)=10001
rem "Cutpaste"
Elseif event&(1)=10002
rem "Infrared"
Elseif event&(1)=10003
rem "Zoom in"
Elseif event&(1)=10004
rem "Zoom out"
Elseif event&(1)=&408
If event&(3)=window%
ok%=1
Endif
Elseif (event&(1) and &400)=0
ok%=1
Endif
TbarOffer%:(event&(3),event&(4),event&(6),event&(7))
IOYield
event&(1)=0:event&(3)=0:event&(4)=0:event&(6)=0:event&(7)=0
Until ok%=1 or force%=1
force%=0
ENDP
PROC Readini:
IsIni:
OnErr zut1::
Open """"+Chemin$+"mbornes5.ini"+"""",A,p1$,p2$,p3$,le%,v&,ani%,l%,voi%
player1$=A.p1$
player2a$=A.p2$
computer$=A.p3$
level%=A.le%
Volume&=A.v&
anime%=A.ani%
lang%=A.l%
voiture%=A.voi%
Close
Return
zut1::
OnErr Off
Trap Delete Chemin$+"mbornes5.ini"
IsIni:
Readini:
ENDP
PROC Writeini:
IsIni:
Delete Chemin$+"mbornes5.ini"
Create """"+Chemin$+"mbornes5.ini"+"""",A,p1$,p2$,p3$,le%,v&,ani%,l%,voi%
A.p1$=player1$
A.p2$=player2a$
A.p3$=computer$
A.le%=level%
A.v&=Volume&
A.ani%=anime%
A.l%=lang%
A.voi%=voiture%
Append
Close
ENDP
PROC IsIni:
If Not Exist(Chemin$+"mbornes5.ini")
Create """"+Chemin$+"mbornes5.ini"+"""",A,p1$,p2$,p3$,le%,v&,ani%,l%,voi%
A.p1$=""
A.p2$=""
A.p3$="Psion Series5"
A.le%=4
A.v&=2
A.ani%=2
A.l%=1
A.voi%=2
Append
Close
Endif
ENDP
PROC Help:
if lang%=1
RunApp&:("Data",Chemin$+"help-uk.hlp","",0)
elseif lang%=2
RunApp&:("Data",Chemin$+"help-fr.hlp","",0)
else
Rem CZ
RunApp&:("Data",Chemin$+"help-cz.hlp","",0)
endif
ENDP
PROC Menu:
Local i%,h$(6),a$(6)
If lang%=1
h$="phaefd"
Elseif lang%=2
h$="pdaqfd"
Else
Rem CZ
h$="phaefd"
Endif
mInit
If lang%=1
mCard "MBornes5",Localiz$:(41,lang%),%p,Localiz$:(59,lang%),%d,Localiz$:(49,lang%),-(%a),Localiz$:(50,lang%),-(%e),"PFM",%f
Elseif lang%=2
mCard "MBornes5",Localiz$:(41,lang%),%p,Localiz$:(59,lang%),%d,Localiz$:(49,lang%),-(%a),Localiz$:(50,lang%),-(%q),"PFM",%f
Else
mCard "MBornes5",Localiz$:(41,lang%),%p,Localiz$:(59,lang%),%d,Localiz$:(49,lang%),-(%a),Localiz$:(50,lang%),-(%e),"PFM",%f
Endif
i%=Menu
If i% And (Loc(h$,Chr$(i%))<>0)
a$="Menu"+Chr$(i%)
@(a$):
Endif
ENDP
PROC Menup:
CMDp%:
ENDP
PROC Menud:
Help:
ENDP
PROC Menua:
About:
ENDP
PROC Menue:
CMDe%:
ENDP
PROC Menuq:
Menue:
ENDP
PROC Menuf:
Pfm:
ENDP
PROC Unloadbit:
gClose vide%
gClose back%
gClose decor1%
gClose decor2%
gClose decora%
gClose decorb%
gClose fore%
Unloadtb:
ENDP
PROC Unloadtb:
gClose tb1a&
gClose tb1b&
gClose tb2a&
gClose tb2b&
gClose tb3a&
gClose tb3b&
gClose tb4a&
gClose tb4b&
ENDP
PROC Hailpe:
Local shelp%
If Outgame%=1
Return
Endif
gUpdate Off
shelp%=gCreate(35,25,640-71-75,240-50,0,$311)
gAt 0,0
gLineto 640-71-75-1,0
gLineto 640-71-75-1,240-50-1
gLineto 0,240-50-1
gLineto 0,0
gAt 10,10
Aff:(5,1)
gAt 10+30,10+50
Aff:(14,1)
gAt 10+30+30,10+50+50
Aff:(9,1)
gAt 110,10
Aff:(4,1)
gAt 110+30,10+50
Aff:(13,1)
gAt 110+30+30,10+50+50
Aff:(8,1)
gAt 210,10
Aff:(3,1)
gAt 210+30,10+50
Aff:(12,1)
gAt 210+30+30,10+50+50
Aff:(7,1)
gAt 310,10
Aff:(2,1)
gAt 310+30,10+50
Aff:(11,1)
gAt 400,10
Aff:(1,1)
gAt 400+30,10+50
Aff:(10,1)
gAt 386,10+50+50
Aff:(6,1)
gUpdate On
gVisible On
outgame%=1
WaitK:(shelp%)
outgame%=0
gClose shelp%
ENDP
PROC Reload:
Local i%,old%
gClose back%
Loadback:
rem If visib%=1
i%=1
Do
AffCarte:(1,typecarte%:(main1%(i%)),i%)
i%=i%+1
Until i%=8
rem Endif
If visib%=1
i%=1
Do
AffCarte:(2,typecarte%:(main2%(i%)),i%)
i%=i%+1
Until i%=8
Endif
If joue1%<>0
AffCarte:(3,joue1%,0)
Endif
If joue2%<>0
AffCarte:(4,joue2%,0)
Endif
If limit1%<>0
AffCarte:(7,limit1%,0)
Endif
If limit2%<>0
AffCarte:(8,limit2%,0)
Endif
old%=posbotte1%
i%=1
Do
If botte1%(i%)<>0
posbotte1%=i%
AffCarte:(5,botte1%(i%),i%)
Endif
i%=i%+1
Until i%=5
posbotte1%=old%
old%=posbotte2%
i%=1
Do
If botte2%(i%)<>0
posbotte2%=i%
AffCarte:(6,botte2%(i%),i%)
Endif
i%=i%+1
Until i%=5
posbotte2%=old%
If defau%<>0
AffCarte:(11,defau%,0)
Endif
ENDP
PROC Localiz$:(c%,l%)
Local s$(100)
If c%=1
If l%=1
s$="Loading..."
Elseif l%=2
s$="Chargement en cours..."
Else
s$="CZLoading..."
Endif
Elseif c%=2
If l%=1
s$=" wins this one!"
Elseif l%=2
s$=" gagne cette partie !"
Else
s$="CZ wins this one!"
Endif
Elseif c%=3
If l%=1
s$="Draw game... Try again for a winner!"
Elseif l%=2
s$="Egalité... Rejouez pour qu'il y ait un vainqueur !"
Else
s$="CZDraw game... Try again for a winner!"
Endif
Elseif c%=4
If l%=1
s$=", hit Ok before handing machine to "
Elseif l%=2
s$=", faites Ok avant de passer la machine à "
Else
s$="CZ, hit Ok before handing machine to "
Endif
Elseif c%=5
If l%=1
s$=", hit Ok to play..."
Elseif l%=2
s$=", faites Ok pour jouer..."
Else
s$="CZ, hit Ok to play..."
Endif
Elseif c%=6
If l%=1
s$="Welcome back!"
Elseif l%=2
s$="Vous voilà de retour !"
Else
s$="CZWelcome back!"
Endif
Elseif c%=7
If l%=1
s$="Hand "
Elseif l%=2
s$="Manche "
Else
s$="CZHand "
Endif
Elseif c%=8
If l%=1
s$=" on 5"
Elseif l%=2
s$=" sur 5"
Else
s$="CZ on 5"
Endif
Elseif c%=9
If l%=1
s$="Brought forward"
Elseif l%=2
s$="Report"
Else
s$="CZBrought forward"
Endif
Elseif c%=10
If l%=1
s$="Milestones"
Elseif l%=2
s$="Bornes"
Else
s$="CZMilestones"
Endif
Elseif c%=11
If l%=1
s$="Safeties"
Elseif l%=2
s$="Bottes"
Else
s$="CZSafeties"
Endif
Elseif c%=12
If l%=1
s$="Coups fourrés"
Elseif l%=2
s$="Coups fourrés"
Else
s$="CZCoups fourrés"
Endif
Elseif c%=13
If l%=1
s$="All safeties"
Elseif l%=2
s$="Toutes les bottes"
Else
s$="CZAll safeties"
Endif
Elseif c%=14
If l%=1
s$="Trip completed"
Elseif l%=2
s$="Voyage effectué"
Else
s$="CZTrip completed"
Endif
Elseif c%=15
If l%=1
s$="Trip uncompleted"
Elseif l%=2
s$="Voyage incomplet"
Else
s$="CZTrip uncompleted"
Endif
Elseif c%=16
If l%=1
s$="Cool trip (no 200's)"
Elseif l%=2
s$="Voyage cool (pas de 200)"
Else
s$="CZCool trip (no 200's)"
Endif
Elseif c%=17
If l%=1
s$="Total"
Elseif l%=2
s$="Total"
Else
s$="CZTotal"
Endif
Elseif c%=18
If l%=1
s$="Combined total"
Elseif l%=2
s$="Total combiné"
Else
s$="CZCombined total"
Endif
Elseif c%=19
If l%=1
s$=" starts playing"
Elseif l%=2
s$=" commence cette partie"
Else
s$="CZ starts playing"
Endif
Elseif c%=20
If l%=1
s$="Freeware by Frederic Botton"
Elseif l%=2
s$="Un Freeware par Frederic Botton"
Else
s$="CZFreeware by Frederic Botton"
Endif
Elseif c%=21
If l%=1
s$="Support the Psion Freeware Movement!"
Elseif l%=2
s$="Supportez le Psion Freeware Movement !"
Else
s$="CZSupport the Psion Freeware Movement!"
Endif
Elseif c%=22
If l%=1
s$="The Psion Freeware Movement (PFM) has been"
Elseif l%=2
s$="Le Psion Freeware Movement (PFM) a ete"
Else
s$="CZThe Psion Freeware Movement (PFM) has been"
Endif
Elseif c%=23
If l%=1
s$="formed to encourage Psion programmers to"
Elseif l%=2
s$="mis en place pour encourager les développeurs"
Else
s$="CZformed to encourage Psion programmers to"
Endif
Elseif c%=24
If l%=1
s$="release their software as Freeware."
Elseif l%=2
s$="à distribuer leurs logiciels en Freeware."
Else
s$="CZrelease their software as Freeware."
Endif
Elseif c%=25
If l%=1
s$="For info about PFM, launched by Adam Dawes, visit"
Elseif l%=2
s$="Pour plus d'infos, visitez le site d'Adam Dawes"
Else
s$="CZFor info about PFM, launched by Adam Dawes, visit"
Endif
Elseif c%=26
If l%=1
s$="Starting a new game"
Elseif l%=2
s$="Nouvelle partie"
Else
s$="CZStarting a new game"
Endif
Elseif c%=27
If l%=1
s$="Type of game"
Elseif l%=2
s$="Type de jeu"
Else
s$="CZType of game"
Endif
Elseif c%=28
If l%=1
s$="Against Psion,2 human opponents"
Elseif l%=2
s$="Contre le Psion,2 adversaires humains"
Else
s$="CZAgainst Psion,2 human opponents"
Endif
Elseif c%=29
If l%=1
s$="Exit MBornes5"
Elseif l%=2
s$="Quitter MBornes5"
Else
s$="CZExit MBornes5"
Endif
Elseif c%=30
If l%=1
s$="Start game"
Elseif l%=2
s$="Jouer"
Else
s$="CZStart game"
Endif
Elseif c%=31
If l%=1
s$="Enter your name"
Elseif l%=2
s$="Saisissez votre nom"
Else
s$="CZEnter your name"
Endif
Elseif c%=32
If l%=1
s$="Level"
Elseif l%=2
s$="Niveau"
Else
s$="CZLevel"
Endif
Elseif c%=33
If l%=1
s$="Easy,Normal,Hard"
Elseif l%=2
s$="Facile,Normal,Difficile"
Else
s$="CZEasy,Normal,Hard"
Endif
Elseif c%=34
If l%=1
s$="Opponent hand is visible"
Elseif l%=2
s$="Main de l'adversaire visible"
Else
s$="CZOpponent hand is visible"
Endif
Elseif c%=35
If l%=1
s$="Yes,No"
Elseif l%=2
s$="Oui,Non"
Else
s$="CZYes,No"
Endif
Elseif c%=36
If l%=1
s$="Sound volume"
Elseif l%=2
s$="Volume du son"
Else
s$="CZSound volume"
Endif
Elseif c%=37
If l%=1
s$="Silence,Low,High,Maximum"
Elseif l%=2
s$="Silence,Faible,Fort,Maximum"
Else
s$="CZSilence,Low,High,Maximum"
Endif
Elseif c%=38
If l%=1
s$="Player 1, enter your name"
Elseif l%=2
s$="Joueur 1, saisissez votre nom"
Else
s$="CZPlayer 1, enter your name"
Endif
Elseif c%=39
If l%=1
s$="Player 2, enter your name"
Elseif l%=2
s$="Joueur 2, saisissez votre nom"
Else
s$="CZPlayer 2, enter your name"
Endif
Elseif c%=40
If l%=1
s$="Names must contain at least one letter"
Elseif l%=2
s$="Les noms doivent contenir au moins une lettre"
Else
s$="CZNames must contain at least one letter"
Endif
Elseif c%=41
If l%=1
s$="Preferences"
Elseif l%=2
s$="Préférences"
Else
s$="CZPreferences"
Endif
Elseif c%=42
If l%=1
s$="Cards animation"
Elseif l%=2
s$="Animation cartes"
Else
s$="CZCards animation"
Endif
Elseif c%=43
If l%=1
s$="Repeated once,Repeated twice,Repeated thrice"
Elseif l%=2
s$="Répétée une fois,Répétée deux fois,Répétée trois fois"
Else
s$="CZRepeated once,Repeated twice,Repeated thrice"
Endif
Elseif c%=44
If l%=1
s$="Abandon"
Elseif l%=2
s$="Abandonner"
Else
s$="CZAbandon"
Endif
Elseif c%=45
If l%=1
s$="Really wanna give up current game?"
Elseif l%=2
s$="Voulez-vous vraiment arrêter la partie en cours ?"
Else
s$="CZReally wanna give up current game?"
Endif
Elseif c%=46
If l%=1
s$="No"
Elseif l%=2
s$="Non"
Else
s$="CZNo"
Endif
Elseif c%=47
If l%=1
s$="Yes"
Elseif l%=2
s$="Oui"
Else
s$="CZYes"
Endif
Elseif c%=48
If l%=1
s$="quick Help"
Elseif l%=2
s$="aiDe rapide"
Else
s$="CZquick Help"
Endif
Elseif c%=49
If l%=1
s$="About"
Elseif l%=2
s$="A propos"
Else
s$="CZAbout"
Endif
Elseif c%=50
If l%=1
s$="Exit"
Elseif l%=2
s$="Quitter"
Else
s$="CZExit"
Endif
Elseif c%=51
If l%=1
s$="About"
Elseif l%=2
s$="A"+Chr$(10)+"propos"
Else
s$="CZAbout"
Endif
Elseif c%=52
If l%=1
s$="Prefs"
Elseif l%=2
s$="Préfs"
Else
s$="CZPrefs"
Endif
Elseif c%=53
If l%=1
s$="Exit"
Elseif l%=2
s$="Quitter"
Else
s$="CZExit"
Endif
Elseif c%=54
If l%=1
s$="quick"+Chr$(10)+"Help"
Elseif l%=2
s$="aiDe"+Chr$(10)+"rapide"
Else
s$="CZquick"+Chr$(10)+"Help"
Endif
Elseif c%=55
If l%=1
s$="Language"
Elseif l%=2
s$="Langue"
Else
s$="CZLanguage"
Endif
Elseif c%=56
If l%=1
s$="Car animation"
Elseif l%=2
s$="Animation voiture"
Else
s$="CZCar animation"
Endif
Elseif c%=57
If l%=1
s$="Slow,Normal,Fast"
Elseif l%=2
s$="Lente,Normale,Rapide"
Else
s$="CZSlow,Normal,Fast"
Endif
Elseif c%=58
If l%=1
s$="Batteries too low for sounds!"
Elseif l%=2
s$="Piles trop faibles pour du son !"
Else
s$="CZBatteries too low for sounds!"
Endif
Elseif c%=59
If l%=1
s$="Detailed helpfile"
Elseif l%=2
s$="fichier d'aide Détaillée"
Else
s$="CZDetailed helpfile"
Endif
Endif
Return s$
ENDP
PROC Affvoit:(player%,km%,coul%,anime%)
Local x1%,y1%,i%,j%,step%
rem Animation ? 1=lent 2=moyen 3=pas d'anim...
If anime%=1
step%=1
Elseif anime%=2
step%=3
Else
step%=9
Endif
If player%=1
i%=((km%-km1old%)/25)*9
Else
i%=((km%-km2old%)/25)*9
Endif
If i%=0
return
Endif
j%=0
Do
gUse fore%
If player%=1
gAt 79+((km1old%/25)*9)+j%,202
Else
gAt 79+((km2old%/25)*9)+j%,213
Endif
gCopy back%,433,164,19,10,3
j%=j%+step%
gUse fore%
If player%=1
gAt 79+((km1old%/25)*9)+j%,202
Else
gAt 79+((km2old%/25)*9)+j%,213
Endif
y1%=164
If coul%=0
x1%=433
Elseif coul%=1
x1%=381
Else
x1%=407
Endif
gCopy back%,x1%,y1%,19,10,3
IOYield
Until i%=j%
If player%=1
km1old%=km1%
Else
km2old%=km2%
Endif
ENDP
PROC Goal:
Local i%,p%
JoueSon:(9,0)
p%=1
i%=0
Do
gUse fore%
gAt 458,194
gCopy back%,561,27,45,30,3
Pause p%
gAt 458,194
gCopy back%,561,60,45,30,3
Pause p%
gAt 458,194
gCopy back%,495,86,45,30,3
Pause p%
gAt 458,194
gCopy back%,544,93,45,30,3
Pause p%
gAt 458,194
gCopy back%,593,93,45,30,3
Pause p%
gAt 458,194
gCopy back%,495,127,45,30,3
Pause p%
gAt 458,194
gCopy back%,544,127,45,30,3
Pause p%
gAt 458,194
gCopy back%,593,127,45,30,3
Pause p%
gAt 458,194
gCopy back%,495,160,45,30,3
Pause p%
gAt 458,194
gCopy back%,544,160,45,30,3
Pause p%
gAt 458,194
gCopy back%,593,160,45,30,3
Pause p%
gAt 458,194
gCopy back%,495,193,45,30,3
Pause p%
gAt 458,194
gCopy back%,544,193,45,30,3
Pause p%
gAt 458,194
gCopy back%,593,193,45,30,3
Pause p%
gAt 458,194
gCopy back%,446,193,45,30,3
Pause p%
i%=i%+1
Until i%=3
gAt 458,194
gCopy back%,561,27,45,30,3
ENDP
PROC debilos:
ENDP