un Petit Tron on joue avec les fleches Gauche/Droite
les murs Exterieur on une Assistance , c'est a dire si on rentre dedans ça ne vas pas Crasher
on va rebondir dans le sens Des flèches indiquées sur le mur
de cette façon, on peut se concentrer sur le Jeux ...
et on peut meme se servir de ça pour essayer de coincer l'ordi (Tron)

les points ..sont indiqués dans le titre de la fenetre , si on perd, ça repart ..
amusez vous bien

Code : Tout sélectionner
;***********************************************
;Titre :*tron_punch
;Auteur : Dobro
;Date :07/07/2014
;Heure :16:45:17
;Version Purebasic : PureBasic 5.22 LTS (Windows - x86)
;Version de l'editeur :EPB V2.56
; Libairies necessaire : Aucune
; utilisation fleche droite/Gauche
; une assistance existe seulement pour les murs exterieurs ..
;les fleches sur le Bords Exterieur indique le sens du rebond de l'assistance
;***********************************************
Macro M:Macro:Endmacro :Macro E:End:Endmacro : M RS:RandomSeed:Endmacro
M ST:StartDrawing:E#M :M SP:StopDrawing:E#M :M CO:ScreenOutput:E#M
M SPO:SPriteOutput:E#M :M Pro:Procedure:E#M :M DT:DrawText:E#M
M MG:MessageRequester:E#M :M PO:point:E#M :M G:Goto:E#M
M D:Random:E#M :M W:Window:E#M :M CLS:ClearScreen:E#M :M ED:Endif:E#M
M KR:KeyboardReleased:E#M :Declare tir(ss) :Global xo,yo,ymissille,tir:#o=1
M DP:DisplaySprite:E#M :M R:RGB:E#M :M A:And:E#M :M C:Case:E#M
M PK:#PB_Key:E#M :M Z:If:E#M:#j=2:InitKeyboard():Vt=10:vtj=10:Declare T_C(x)
InitSprite():i=350:j=1000:k=800:L=600:Q=780:U=580:U1=560:U2=760
ExamineDesktops():Wid = Open#W(1, 0, 0, k, L,"TRON Par Dobro",
#PB_#W#_SystemMenu|#PB_#W#_BorderLess|#PB_#W#_ScreenCentered):Wid =W#ID(1)
Open#W#edScreen(Wid,0,0,k,L,1,0,0):SetFrameRate(60):CreateSprite(#o,10,10)
CreateSprite(#j,10,10):ST(SPO(#o)):Box(0,0,10,10,R($FF,0,0)):SP():ST(SPO(#j))
Box(0,0,10,10,R(0,0,$FF)):SP():du: :R=50:V=50:B=50
sc$="You="+Str(Sch)+" TRON ="+Str(sct):Set#W#Title(1, Sc$):ST(CO())
Box(0, 0, k,L,R($FF,$FF,0)):SP():ST(CO()):Box(10,10,Q,U,R(0,0,0))
FrontColor(R(0,$FF,0)):BackColor(R(0,0,0)):SP():CoJ=0:xo=450
yo=200:xj=300:yj=500:de=D(j):RS(de):P1=D(3)+1:de=D(j):RS(de):ss=D(3)+1:Repeat
Delay(50):Event=W#Event():ExamineKeyboard():Z P1=1:yj-VtJ:ST(CO()):
CoJ=PO(xj,yj):CJg=PO(xj-4,yj):Cd=PO(xj+14,yj):SP():t=T_C(CoJ):Z t=2:G su:ED:ED
If P1=2:xj+VtJ:ST( CO()):CoJ=PO(xj, yj):Cg=PO(xj, yj-4):Cd=PO(xj, yj+14):SP()
t=T_C(CoJ):Z t=2:G su:ED:ED:Z P1=3: yj+VtJ:ST(CO()):CoJ=PO(xj, yj)
Cg=PO(xj-2,yj):Cd=PO(xj+14,yj):SP():t=T_C(CoJ):Z t=2:G su:ED:ED:Z P1=4:xj-VtJ
ST(CO()):CoJ=PO(xj, yj):Cg=PO(xj, yj+14):CJd=PO(xj,yj-4):SP():t=T_C(CoJ):Z t=2
G su:ED:ED:Gosub assm:If KR( PK#_Left):t=T_C(CoJ):Z t=2:G su:ED:P1-1:dob=1
Z P1<1:P1=4:ED:ED:Z KR(PK#_Right):t=T_C(CoJ):Z t=2:G su:ED:P1+1:dob=1:Z P1>4
P1=1:ED:ED:Select ss:C 1:ST(CO()):C1=PO(xo,yo-4):C2=PO(xo-4,yo):C3=PO(xo+14,yo)
SP():Z C1>0 A C2>0 A C3>0:tto=1:G su:ED:Z C1>0:If C3=0 A C2=0:de=D(2)+1:Z de=1
ss=4:G su:ED:Z de=2:ss=2:G su:ED:ED:If C3=0:ss=2:G su:ED:Z C2=0:ss=4:G su:ED:ED
Z yo>10:yo-Vt:Else:ss=2:ED:C 2:ST(CO()):C1=PO(xo+13,yo):C2=PO(xo,yo-4)
C3=PO(xo,yo+13):SP():If C1>0 A C2>0 A C3>0:tto=1:G su:ED:Z C1>0:Z C2=0 A C3=0
de=D(2)+1:Z de=1:ss=3:G su:ED:Z de=2:ss=1:G su:ED:ED:Z C2=0:ss=1:G su:ED
If C3=0:ss=3:G su:ED:ED:Z xo<=Q:xo+Vt:Else:ss=3:ED:C 3:ST(CO()):C1=PO(xo,yo+14)
C2=PO(xo+14,yo):C3=PO(xo-4,yo):SP():If C1>0 A C2>0 A C3>0:tto=1:G su:ED:Z C1>0
Z C3=0 A C2=0:de=D(2)+1:If de=1:ss=2:G su:ED:Z de=2:ss=4:G su:ED:ED:Z C3=0:ss=4
G su:ED:Z C2=0:ss=2:G su:ED:ED:Z yo<U:yo+Vt:Else:ss=4:ED:C 4:ST(CO())
C1=PO(xo-4,yo):Co2=PO(xo,yo-4):C3=PO(xo,yo+14):SP():Z C1>0 A C2>0 A C3>0:tto=1
G su:ED:Z C1>0:Z C2=0 A C3=0:de=D(2)+1:Z de=1:ss=3:G su:ED:Z de=2:ss=1:G su:ED
ED:Z C2=0:ss=1:G su:ED:Z C3=0:ss=3:G su:ED:ED:Z xo>10:xo-Vt:Else:ss=1:ED
E#Select:su: :Gosub msgx:DP(#o,xo,yo):DP(#j,xj ,yj):FlipBuffers()
R+1:ST(SPO(#o)):R=D(55)+200:h=R(R,100,50):Box(0,0,10,10,h):SP():ST(SPO(#j))
B=D(55)+200:h=R(150,0,B):Box(0,0,10,10,h):SP():Until Event=#PB_Event_Close#W
End:PRO T_C(CoJ):If CoJ>0 Or CoJ>0 Or CoJ>0:t=2:else:t=0:ED:PRO#Return t:
E#Pro:msgx: :If tto=1:tto=0:MG("Tron","U Win",#PB_#MG#_Ok):CLS(R(0,0,0)):Sch+1
G du:ED:Z t=2:t=0:MG("Tron", "I Win", #PB_#MG#_Ok ):CLS(R(0,0,0)):sct+1:G du:ED
Return:assm: :Z xj-VtJ<10 A Cg=0 A P1=4:P1=3:ED:If xj-VtJ<10 A Cd=0 A P1=4
P1=1:ED:Z xj-VtJ>U2 A Cg=0 A P1=2:P1=1:ED:Z xj-VtJ>U2 A Cd=0 A P1=2:P1=3:ED
If yj-VtJ<10 A Cg=0 A P1=1:P1=4:ED:Z yj-VtJ<10 A Cd=0 A P1=1:P1=2:ED
Z yj-VtJ>U1 A Cg=0 A P1=3:P1=4:ED:If yj-VtJ>U1 A Cd=0 A P1=3:P1=2:ED:Return
;
;
; Epb