Code : Tout sélectionner
#SCREEN_WIDTH = 640
#SCREEN_HEIGHT = 480
#CELL_WIDTH = 30
#CELL_HEIGHT = 20
Global frame.l
InitSprite()
InitKeyboard()
Procedure flip() ;by polux
FlipBuffers()
If IsScreenActive()=0
Repeat
Delay(25)
FlipBuffers()
Until IsScreenActive()
EndIf
EndProcedure
OpenScreen(#SCREEN_WIDTH,#SCREEN_HEIGHT,32,"XMAS")
Restore map_text
Read gridwidth
Read gridheight
Global Dim grid(gridwidth,gridheight)
For rows=0 To gridheight
For cols=0 To gridwidth
Read TheData
grid(cols,rows)=TheData
Next
Next
Restore map_heart
Read gridwidth1
Read gridheight1
Global Dim grid_heart(gridwidth1,gridheight1)
For rows=0 To gridheight1
For cols=0 To gridwidth1
Read TheData_heart
grid_heart(cols,rows)=TheData_heart
Next
Next
CreateSprite (0,#CELL_WIDTH, #CELL_HEIGHT)
CreateSprite (1,#CELL_WIDTH-10, #CELL_HEIGHT)
CreateSprite (2,#CELL_WIDTH-10, #CELL_HEIGHT)
CreateSprite (3,#CELL_WIDTH-10, #CELL_HEIGHT)
CreateSprite (4,#CELL_WIDTH-10, #CELL_HEIGHT)
CreateSprite (5,#CELL_WIDTH-10, #CELL_HEIGHT)
StartDrawing(SpriteOutput(0))
Ellipse((#CELL_WIDTH/2) , (#CELL_HEIGHT/2) , 14, 10, RGB(50,50,100))
Ellipse((#CELL_WIDTH/2)-2, (#CELL_HEIGHT/2)-2, 10, 7 , RGB(50,50,150))
Ellipse((#CELL_WIDTH/2)-3, (#CELL_HEIGHT/2)-3, 8 , 4 , RGB(50,50,200))
Ellipse((#CELL_WIDTH/2)-4, (#CELL_HEIGHT/2)-4, 5 , 2 , RGB(50,50,250))
StopDrawing()
StartDrawing(SpriteOutput(1))
Box(0,0,19,19,RGB(140,2,54))
Box(2,2,14,14,RGB(180,2,54))
Box(4,4,7,7,RGB(210,2,54))
Box(6,6,3,3,RGB(250,2,54))
StopDrawing()
StartDrawing(SpriteOutput(2))
Box(0,0,19,19,RGB(140,32,54))
Box(2,2,14,14,RGB(180,32,54))
Box(4,4,7,7,RGB(210,32,54))
Box(6,6,3,3,RGB(250,32,54))
StopDrawing()
StartDrawing(SpriteOutput(3))
Box(0,0,19,19,RGB(140,72,54))
Box(2,2,14,14,RGB(180,72,54))
Box(4,4,7,7,RGB(210,72,54))
Box(6,6,3,3,RGB(250,72,54))
StopDrawing()
StartDrawing(SpriteOutput(4))
Box(0,0,19,19,RGB(140,112,54))
Box(2,2,14,14,RGB(180,112,54))
Box(4,4,7,7,RGB(210,112,54))
Box(6,6,3,3,RGB(250,112,54))
StopDrawing()
StartDrawing(SpriteOutput(5))
Box(0,0,19,19,RGB(140,152,54))
Box(2,2,14,14,RGB(180,152,54))
Box(4,4,7,7,RGB(210,152,54))
Box(6,6,3,3,RGB(250,152,54))
StopDrawing()
frame = 1
Repeat
ExamineKeyboard()
ClearScreen(0)
For rows=0 To gridheight1
For cols=0 To gridwidth1
TheData_heart=grid_heart(cols,rows)
Rand0 = 0 ;Rand(0,2)-1
Rand1 = 0 ;Rand(0,2)-1
Select TheData_heart
Case 1: DisplayTransparentSprite(1, cols*(#CELL_WIDTH-10)+rand0, rows*#CELL_HEIGHT+rand1)
Case 2: DisplayTransparentSprite(2, cols*(#CELL_WIDTH-10)+rand0, rows*#CELL_HEIGHT+rand1)
Case 3: DisplayTransparentSprite(3, cols*(#CELL_WIDTH-10)+rand0, rows*#CELL_HEIGHT+rand1)
Case 4: DisplayTransparentSprite(4, cols*(#CELL_WIDTH-10)+rand0, rows*#CELL_HEIGHT+rand1)
Case 5: DisplayTransparentSprite(5, cols*(#CELL_WIDTH-10)+rand0, rows*#CELL_HEIGHT+rand1)
EndSelect
Next
Next
For rows=0 To gridheight
For cols=0 To gridwidth
TheData=grid(cols,rows)
Rand0 = Random(4)-1
Rand1 = Random(4)-1
Select TheData
Case 1: DisplayTransparentSprite(0, cols*(#CELL_WIDTH-11)+rand0, rows*(#CELL_HEIGHT-8)+rand1)
EndSelect
Next
Next
frame + 1
Flip()
Until KeyboardPushed(#PB_Key_Escape)
End
DataSection
map_text:
Data.l 31,23
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,1,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,0,1,0
Data.l 0,0,1,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0
Data.l 0,0,1,0,1,0,1,0,1,1,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,0,0
Data.l 0,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0
Data.l 0,0,1,0,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,1,1,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0
Data.l 0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0
Data.l 0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0
Data.l 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0
map_heart:
Data.l 31,23
Data.l 0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0
Data.l 0,0,0,0,1,2,2,2,2,2,2,2,1,0,0,0,0,0,0,1,2,2,2,2,2,2,2,1,0,0,0,0
Data.l 0,0,0,1,2,3,3,3,3,3,3,3,2,1,1,0,0,1,1,2,3,3,3,3,3,3,3,2,1,0,0,0
Data.l 0,1,1,2,3,4,4,4,4,4,4,4,3,3,2,1,1,2,3,3,4,4,4,4,4,4,4,3,2,1,1,0
Data.l 0,1,2,3,4,4,4,4,5,5,4,4,4,4,3,2,2,3,4,4,4,5,4,4,4,4,4,4,3,2,1,0
Data.l 0,1,2,3,4,4,4,5,5,5,4,4,4,4,4,3,3,4,4,5,5,5,4,4,4,4,4,4,3,2,1,0
Data.l 1,2,3,4,4,5,5,5,5,5,5,4,4,4,4,4,4,4,5,5,5,4,4,4,4,4,4,4,4,3,2,1
Data.l 1,2,3,4,4,4,5,5,5,5,4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,3,2,1
Data.l 1,2,3,4,4,4,4,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,2,1
Data.l 1,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,2,1
Data.l 0,1,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,2,1,0
Data.l 0,1,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,2,1,0
Data.l 0,1,2,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,2,2,1,0
Data.l 0,0,0,1,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,2,1,0,0,0
Data.l 0,0,0,0,1,2,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,2,1,0,0,0,0
Data.l 0,0,0,0,1,1,2,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,2,2,1,1,0,0,0,0
Data.l 0,0,0,0,0,1,1,1,2,3,4,4,4,4,4,4,4,4,4,4,4,4,3,2,1,1,1,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,1,1,2,3,4,4,4,4,4,4,4,4,4,4,3,2,1,1,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,1,1,2,3,4,4,4,4,4,4,4,4,3,2,1,1,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,1,1,2,3,4,4,4,4,4,4,3,2,1,1,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,4,4,4,3,2,1,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,4,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
EndDataSection