La NSCPapy Logo présente :
Logo-M
an
de Sébastien Magdelyns

Sans avoir lu la page d'Introduction ni celle des commentaires sur les procédures ; vous risquez de graves erreurs...


DONNE "fin 0
DONNE "posf1 [200 100]
DONNE "posf2 [-200 100]
DONNE "posf3 [200 -100]
DONNE "posf4 [-200 -100]
DONNE "posx1 [250 130]
DONNE "posx2 [-250 130]
DONNE "posx3 [250 -130]
DONNE "posx4 [-250 -130]
DONNE "x1 1
DONNE "x2 0
DONNE "x3 0
DONNE "x4 0

POUR LOGOMAN :nbf :nbx
RECYCLE
FEN
VT
ME 5

EC [Logo-Man by Sébastien Magdelyns (smag@belgacom.net)]

DONNE "fin 0
DONNE "posf1 [200 100]
DONNE "posf2 [-200 100]
DONNE "posf3 [200 -100]
DONNE "posf4 [-200 -100]
DONNE "posx1 [250 130]
DONNE "posx2 [-250 130]
DONNE "posx3 [250 -130]
DONNE "posx4 [-250 -130]
DONNE "x1 1
DONNE "x2 0
DONNE "x3 0
DONNE "x4 0

DONNE "posf1 LISTE SOMME DIFF HASARD 160 80 ITEM 1 :posf1 SOMME DIFF HASARD 160 80 ITEM 2 :posf1
DONNE "posf2 LISTE SOMME DIFF HASARD 160 80 ITEM 1 :posf2 SOMME DIFF HASARD 160 80 ITEM 2 :posf2
DONNE "posf3 LISTE SOMME DIFF HASARD 160 80 ITEM 1 :posf3 SOMME DIFF HASARD 160 80 ITEM 2 :posf3
DONNE "posf4 LISTE SOMME DIFF HASARD 160 80 ITEM 1 :posf4 SOMME DIFF HASARD 160 80 ITEM 2 :posf4

DONNE "posx1 LISTE SOMME DIFF HASARD 100 50 ITEM 1 :posx1 SOMME DIFF HASARD 100 50 ITEM 2 :posx1
DONNE "posx2 LISTE SOMME DIFF HASARD 100 50 ITEM 1 :posx2 SOMME DIFF HASARD 100 50 ITEM 2 :posx2
DONNE "posx3 LISTE SOMME DIFF HASARD 100 50 ITEM 1 :posx3 SOMME DIFF HASARD 100 50 ITEM 2 :posx3
DONNE "posx4 LISTE SOMME DIFF HASARD 100 50 ITEM 1 :posx4 SOMME DIFF HASARD 100 50 ITEM 2 :posx4

ECRIS [Bienvenue dans Logo-Man. Va chercher les diamants sans te faire attraper.]

DRAWX ITEM 1 :posx1 ITEM 2 :posx1 11
SI PLG? :nbx 1 [DONNE "x2 1 DRAWX ITEM 1 :posx2 ITEM 2 :posx2 11]
SI PLG? :nbx 2 [DONNE "x3 1 DRAWX ITEM 1 :posx3 ITEM 2 :posx3 11]
SI PLG? :nbx 3 [DONNE "x4 1 DRAWX ITEM 1 :posx4 ITEM 2 :posx4 11]

DRAWF ITEM 1 :posf1 ITEM 2 :posf1 12
SI PLG? :nbf 1 [DRAWF ITEM 1 :posf2 ITEM 2 :posf2 9]
SI PLG? :nbf 2 [DRAWF ITEM 1 :posf3 ITEM 2 :posf3 14]
SI PLG? :nbf 3 [DRAWF ITEM 1 :posf4 ITEM 2 :posf4 10]

FCC 15

REPETE 1000 [RECYCLE SI PLG? :fin 0 [RECYCLE STOP] [DONNE "cmd LL SI ET LISTE? :cmd EGAL? COMPTE :cmd 2 [SI ET PLG? ASCII ITEM 1 :cmd 47 PLP? ASCII ITEM 1 :cmd 58 [][SI PRIM? ITEM 1 :cmd [SI NOMBRE? ITEM 2 :cmd [EXECCMD :cmd :nbf :nbx]]]]]]
SI EGAL? :fin 0 [ECRIS [Désolé, tu n'as que 1000 coups pour gagner.] RECYCLE LOSE]

FIN

POUR EXECCMD :cmd :nbf :nbx

DONNE "savepos POS

EXEC :cmd

CHKOUTSCREEN
CHKWIN

DONNE "step RC SOMME PROD DIFF ITEM 1 :savepos ITEM 1 POS DIFF ITEM 1 :savepos ITEM 1 POS PROD DIFF ITEM 2 :savepos ITEM 2 POS DIFF ITEM 2 :savepos ITEM 2 POS

SI PLG? :step 750 [DONNE "step 750]
SI PLP? :step -750 [DONNE "step -750]

SI ET EGAL? :fin 0 NEGAL? ASCII ITEM 1 :cmd 84 [ANIMALLF :step]

FCC 15
FIN

POUR CHKOUTSCREEN
SI OU OU OU PLP? ITEM 1 POS -318 PLP? ITEM 2 POS -190 PLG? ITEM 1 POS 318 PLG? ITEM 2 POS 190 [REPLACE]
FIN

POUR REPLACE

DONNE "dir VERS LISTE 0 0
DONNE "alpha DIFF :dir 180

SI PLP? :alpha 0 [DONNE "alpha SOMME 360 :alpha]
SI PLG? :alpha 360 [DONNE "alpha DIFF :alpha 360]

DONNE "xa ITEM 1 POS
DONNE "ya ITEM 2 POS
LC
AV 500
DONNE "xb ITEM 1 POS
DONNE "yb ITEM 2 POS
RE 500
BC

SI OU EGAL? 0 DIFF :yb :ya EGAL? 0 DIFF :xb :xa [DONNE "m 0 DONNE "minv 0][DONNE "m DIV DIFF :yb :ya DIFF :xb :xa DONNE "minv DIV DIFF :xb :xa DIFF :yb :ya]

SI OU PLG? :alpha 300.8 PLP? :alpha 59.2 [FPOS LISTE SOMME :xa PROD DIFF 190 :ya :minv 190]
SI ET PLG? :alpha 59.2 PLP? :alpha 120.8 [FPOS LISTE 318 SOMME :ya PROD DIFF 318 :xa :m]
SI ET PLG? :alpha 120.8 PLP? :alpha 239.2 [FPOS LISTE SOMME :xa PROD DIFF -190 :ya :minv -190]
SI ET PLG? :alpha 239.2 PLP? :alpha 300.8 [FPOS LISTE -318 SOMME :ya PROD DIFF -318 :xa :m]

ECRIS [Attention, la tortue sort de l'écran!]
FIN

POUR ANIMALLF :step
DONNE "step DIV PROD :step 70 100

DONNE "rnd SOMME :step DIFF HASARD 40 20
DONNE "posf1 ANIMF :posf1 12 :rnd

DONNE "rnd SOMME :step DIFF HASARD 40 20
SI ET EGAL? :fin 0 PLG? :nbf 1 [DONNE "posf2 ANIMF :posf2 9 :rnd]

DONNE "rnd SOMME :step DIFF HASARD 40 20
SI ET EGAL? :fin 0 PLG? :nbf 2 [DONNE "posf3 ANIMF :posf3 14 :rnd]

DONNE "rnd SOMME :step DIFF HASARD 40 20
SI ET EGAL? :fin 0 PLG? :nbf 3 [DONNE "posf4 ANIMF :posf4 10 :rnd]]

FIN

POUR ANIMF :posf :col :step

DONNE "angle DIFF VERS :posf 270
DONNE "angle SOMME DIFF HASARD 40 20 :angle

DONNE "step DIV :step 10

REPETE 10 [DRAWF ITEM 1 :posf ITEM 2 :posf 0 DONNE "deltay PROD PROD SIN :angle :step -1 DONNE "deltax PROD COS :angle :step DONNE "posf LISTE SOMME ITEM 1 :posf :deltax SOMME ITEM 2 :posf :deltay DRAWF ITEM 1 :posf ITEM 2 :posf :col ATTENDS 1 SI EGAL? CHKPOS :posf 1 [RENDS :posf][DRAWALLX]]

RENDS :posf
FIN

POUR CHKPOS :posf
DONNE "deltax DIFF ITEM 1 :posf ITEM 1 POS
DONNE "deltay DIFF DIFF ITEM 2 :posf 7 ITEM 2 POS
DONNE "d RC SOMME PROD :deltax :deltax PROD :deltay :deltay

SI PLP? :d 15 [LOSE RENDS 1][RENDS 0]
FIN

POUR LOSE
ECRIS [Tu as perdu!]
DUREE 80
JOUE "DO
DONNE "fin 1
REPETE 5 [CT ATTENDS 5000 MT ATTENDS 5000]

ECRISGRAPH [Tu as perdu!] 4 [29 1] [2 2]
FCC 15
SAUVEIMAGE "LogoMan
FIN

POUR DRAWF :posx :posy :col
FCC :col

DONNE "a -0.2

POINT LISTE DIFF :posx 3 DIFF :posy 1
POINT LISTE SOMME :posx 3 DIFF :posy 1
POINT LISTE DIFF :posx 2 DIFF :posy 1
POINT LISTE SOMME :posx 2 DIFF :posy 1
POINT LISTE DIFF :posx 3 DIFF :posy 2
POINT LISTE SOMME :posx 3 DIFF :posy 2
POINT LISTE DIFF :posx 2 DIFF :posy 2
POINT LISTE SOMME :posx 2 DIFF :posy 2

DONNE "x -12
REPETE 49 [POINT LISTE SOMME :posx :x SOMME SOMME :posy 10 PROD :a PROD :x :x DONNE "x SOMME :x 0.5]

DONNE "x -12
DONNE "i 0
DONNE "m 0
REPETE 25 [POINT LISTE SOMME :posx :x SOMME DIFF :posy 20 :m DONNE "x SOMME :x 1 SI PLP? :i 3 [DONNE "m SOMME :m 1][DONNE "m DIFF :m 1] DONNE "i SOMME :i 1 SI EGAL? :i 6 [DONNE "i 0]]

DONNE "x -2
REPETE 5 [POINT LISTE SOMME :posx :x DIFF :posy 10 DONNE "x SOMME :x 1]

DONNE "x -3
POINT LISTE SOMME :posx :x DIFF :posy 11
DONNE "x -4
POINT LISTE SOMME :posx :x DIFF :posy 12

DONNE "x 3
POINT LISTE SOMME :posx :x DIFF :posy 11
DONNE "x 4
POINT LISTE SOMME :posx :x DIFF :posy 12
FIN

POUR CHKX :posx
DONNE "deltax DIFF ITEM 1 :posx ITEM 1 POS
DONNE "deltay DIFF ITEM 2 :posx ITEM 2 POS
DONNE "d RC SOMME PROD :deltax :deltax PROD :deltay :deltay

SI PLP? :d 15 [RENDS 1][RENDS 0]
FIN

POUR CHKWIN
SI EGAL? :x1 1 [SI EGAL? 1 CHKX :posx1 [DONNE "x1 0 GETX :posx1 SI ET ET ET EGAL? :x1 0 EGAL? :x2 0 EGAL? :x3 0 EGAL? :x4 0 [WIN]]
SI ET EGAL? :x2 1 PLG? :nbx 1 [SI EGAL? 1 CHKX :posx2 [DONNE "x2 0 GETX :posx2 SI ET ET ET EGAL? :x1 0 EGAL? :x2 0 EGAL? :x3 0 EGAL? :x4 0 [WIN]]]
SI ET EGAL? :x3 1 PLG? :nbx 2 [SI EGAL? 1 CHKX :posx3 [DONNE "x3 0 GETX :posx3 SI ET ET ET EGAL? :x1 0 EGAL? :x2 0 EGAL? :x3 0 EGAL? :x4 0 [WIN]]]
SI ET EGAL? :x4 1 PLG? :nbx 3 [SI EGAL? 1 CHKX :posx4 [DONNE "x4 0 GETX :posx4 SI ET ET ET EGAL? :x1 0 EGAL? :x2 0 EGAL? :x3 0 EGAL? :x4 0 [WIN]]]
FIN

POUR GETX :posx
DUREE 10
JOUE "SI
REPETE 3 [DRAWX ITEM 1 :posx ITEM 2 :posx 11 ATTENDS 5000 DRAWX ITEM 1 :posx ITEM 2 :posx 0 ATTENDS 5000]
ECRIS [Diamant collecte]
FIN

POUR WIN
DUREE 10
JOUE "SO
JOUE "MI
DUREE 50
JOUE "LA
ECRIS [Bravo, tu as gagne!]
DONNE "fin 2
ECRISGRAPH [Bravo, tu as gagne!] 13 [24 1] [2 2]
FCC 15
SAUVEIMAGE "LogoMan
FIN

POUR DRAWALLX
SI EGAL? :x1 1 [DRAWX ITEM 1 :posx1 ITEM 2 :posx1 11]
SI ET EGAL? :x2 1 PLG? :nbx 1 [DRAWX ITEM 1 :posx2 ITEM 2 :posx2 11]
SI ET EGAL? :x3 1 PLG? :nbx 2 [DRAWX ITEM 1 :posx3 ITEM 2 :posx3 11]
SI ET EGAL? :x4 1 PLG? :nbx 3 [DRAWX ITEM 1 :posx4 ITEM 2 :posx4 11]
FIN

POUR DRAWX :posx :posy :col
FCC :col

DONNE "i -1
REPETE 3 [POINT LISTE SOMME :i :posx SOMME :posy 9 DONNE "i SOMME :i 1]
DONNE "i -3
REPETE 7 [POINT LISTE SOMME :i :posx SOMME :posy 7 DONNE "i SOMME :i 1]
DONNE "i -5
REPETE 11 [POINT LISTE SOMME :i :posx SOMME :posy 5 DONNE "i SOMME :i 1]

DONNE "i -7
REPETE 15 [POINT LISTE SOMME :i :posx SOMME :posy 3 DONNE "i SOMME :i 1]
DONNE "i -7
REPETE 15 [POINT LISTE SOMME :i :posx SOMME :posy 1 DONNE "i SOMME :i 1]
DONNE "i -7
REPETE 15 [POINT LISTE SOMME :i :posx SOMME :posy -1 DONNE "i SOMME :i 1]
DONNE "i -7
REPETE 15 [POINT LISTE SOMME :i :posx SOMME :posy -3 DONNE "i SOMME :i 1]


DONNE "i -1
REPETE 3 [POINT LISTE SOMME :i :posx SOMME :posy -9 DONNE "i SOMME :i 1]
DONNE "i -3
REPETE 7 [POINT LISTE SOMME :i :posx SOMME :posy -7 DONNE "i SOMME :i 1]
DONNE "i -5
REPETE 11 [POINT LISTE SOMME :i :posx SOMME :posy -5 DONNE "i SOMME :i 1]

FIN

POUR ECRISGRAPH :texte :couleur :position :taille
SORTIE 6
FCURS :position
FTCAR :taille
FCT :couleur
TAPE :texte
FCT 15
SORTIE 1
FIN

 

 © Olivier Schmidt-Chevalier - oct., nov. 2003

 RETOUR