Pour l'instant, il n'y a pas de regle du jeu mais ca peux faire un jeu...

Code : Tout sélectionner
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Contamination
; SPH(2013)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
InitSprite()
InitKeyboard()
InitMouse()
If ExamineDesktops()
scr_w = DesktopWidth(0)
scr_h = DesktopHeight(0)
OpenScreen(scr_w,scr_h,32,""); OpenWindowedScreen(WindowID(window),0,0,sWidth,sHeight,1,0,0,#PB_Screen_SmartSynchronization)
Else
MessageRequester("Erreur", "OpenScreen impossible")
End
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
i=1
For u=1 To 5
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
If u=1
rgb=RGB(255,0,0)
ElseIf u=2
rgb=RGB(0,255,0)
ElseIf u=3
rgb=RGB(0,0,255)
ElseIf u=4
rgb=RGB(255,255,0)
ElseIf u=5
rgb=RGB(255,255,255)
EndIf
Circle(40,40,40,rgb)
StopDrawing()
i+1
Next
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(255,0,0))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(0,255,0))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(0,255,0))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(0,0,255))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(0,0,255))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(255,255,0))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(255,255,0))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(255,0,0))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(255,0,0))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(0,0,255))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(0,255,0))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(255,255,0))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(0,0,255))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(255,255,255))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(255,255,255))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(0,255,0))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(255,0,0))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(255,255,255))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
CreateSprite(i,81,81)
StartDrawing(SpriteOutput(i))
Circle(40,40,40,RGB(30,30,30))
Circle(40,40,37,RGB(255,255,255))
Box(0,39,80,2,RGB(30,30,30))
FillArea(40,20,-1,RGB(255,255,0))
Box(38,0,4,4,RGB(0,0,0))
Box(38,78,4,4,RGB(0,0,0))
StopDrawing()
i+1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Dim p(scr_h,scr_w)
Dim p2(scr_h,scr_w)
For i=0 To scr_w/2-1
For u=0 To scr_h/2-1
p(u,i)=RGB(0,0,255)
p2(u,i)=RGB(0,0,25+Random(230))
Next
Next
For i=scr_w/2 To scr_w-1
For u=0 To scr_h/2-1
p(u,i)=RGB(0,255,0)
p2(u,i)=RGB(0,25+Random(230),0)
Next
Next
For i=0 To scr_w/2-1
For u=scr_h/2 To scr_h-1
p(u,i)=RGB(0,255,255)
x=25+Random(230)
p2(u,i)=RGB(0,x,x)
Next
Next
For i=scr_w/2 To scr_w-1
For u=scr_h/2 To scr_h-1
p(u,i)=RGB(255,0,0)
p2(u,i)=RGB(25+Random(230),0,0)
Next
Next
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Dim s(4)
For i=0 To 4
s(i)=Random(12)+1
Next
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Repeat
;contamination
For nb=1 To 10000
i=Random(scr_w-2)+1
u=Random(scr_h-2)+1
c=p(u,i)
;
If c=RGB(255,255,255)
d=RGB(0,0,255)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
p2(u,i)=RGB(0,0,25+Random(230))
EndIf
d=RGB(0,255,0)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
p2(u,i)=RGB(0,25+Random(230),0)
EndIf
d=RGB(255,0,0)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
p2(u,i)=RGB(25+Random(230),0,0)
EndIf
d=RGB(0,255,255)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
x=25+Random(230)
p2(u,i)=RGB(0,x,x)
EndIf
EndIf
;;;;;;;;;;;
;;;;;;;;;;;
If c=RGB(0,255,0)
d=RGB(0,0,255)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
p2(u,i)=RGB(0,0,25+Random(230))
Else
p2(u,i)=RGB(0,25+Random(230),0)
EndIf
EndIf
;
If c=RGB(255,0,0)
d=RGB(0,255,0)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
p2(u,i)=RGB(0,25+Random(230),0)
Else
p2(u,i)=RGB(25+Random(230),0,0)
EndIf
EndIf
;
If c=RGB(0,255,255)
d=RGB(255,0,0)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
p2(u,i)=RGB(25+Random(230),0,0)
Else
x=25+Random(230)
p2(u,i)=RGB(0,x,x)
EndIf
EndIf
;
If c=RGB(0,0,255)
d=RGB(0,255,255)
If p(u-1,i)=d Or p(u+1,i)=d Or p(u,i-1)=d Or p(u,i+1)=d Or p(u-1,i-1)=d Or p(u+1,i-1)=d Or p(u-1,i+1)=d Or p(u+1,i+1)=d
p(u,i)=d
x=25+Random(230)
p2(u,i)=RGB(0,x,x)
Else
p2(u,i)=RGB(0,0,25+Random(230))
EndIf
EndIf
;
;
Next
ExamineMouse()
mx=MouseX()
my=MouseY()
mkey=MouseButton(1)
;;;;; tracage
StartDrawing(ScreenOutput())
MemVideo = DrawingBuffer()
For u=0 To scr_h-1
CopyMemory(@p2(u,0), MemVideo+DrawingBufferPitch()*u,scr_w*4)
Next
StopDrawing()
DisplayTransparentSprite(s(0),mx-40,my-40)
If mkey_old=1
mkey_old=2
EndIf
If mkey<>0 And mkey_old=0
mkey_old=1
DisplaySprite(s(0),mx-40,my-40)
StartDrawing(ScreenOutput())
For i=-40 To 40
For u=-40 To 40
If mx+i>=0 And mx+i<=scr_w-1 And my+u>=0 And my+u<=scr_h-1
c=Point(mx+i,my+u)
If c<>0
If c=RGB(0,0,255)
c=RGB(255,0,0)
ElseIf c=RGB(255,0,0)
c=RGB(0,0,255)
ElseIf c=RGB(255,255,0)
c=RGB(0,255,255)
EndIf
p(my+u,mx+i)=c
p2(my+u,mx+i)=c
EndIf
EndIf
Next
Next
StopDrawing()
s(0)=s(1)
s(1)=s(2)
s(2)=s(3)
s(3)=s(4)
s(4)=Random(12)+1
EndIf
If mkey=0
mkey_old=0
EndIf
DisplayTransparentSprite(s(1),scr_w-110,scr_h-110)
DisplayTransparentSprite(s(2),scr_w-110,scr_h-220)
DisplayTransparentSprite(s(3),scr_w-110,scr_h-330)
DisplayTransparentSprite(s(4),scr_w-110,scr_h-440)
If mkey_old<>1
FlipBuffers()
EndIf
;;;;;;;;;;;;;;
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
End
;;;;;;;;;;;;;;;