Import mojo
Class themap
Field map:Int[][]
Field mapwidth:Int
Field mapheight:Int
Field tilewidth:Float
Field tileheight:Float
Method New( mapwidth:Int,
mapheight:Int)
tilewidth = DeviceWidth()/Float(mapwidth)
tileheight = DeviceHeight()/Float(mapheight)
Self.mapwidth = mapwidth
Self.mapheight = mapheight
map = New Int[mapwidth][]
For Local i = 0 Until mapwidth
map[i] = New Int[mapheight]
Next
makemap
End Method
Method makemap()
Local x:Int=mapwidth/2
Local y:Int=mapheight/2
Local dx:Int[]=[0,1,0,-1]
Local dy:Int[]=[-1,0,1,0]
For Local i=0 To mapwidth*mapheight
Local m : Int = map[x][y]+16
If m>255 Then m=255
map[x][y] = m
Local d:Int=Rnd(0,4)
x+=dx[d]
y+=dy[d]
If x<1 Or y<1 Or
x>mapwidth-3 Or
y>mapheight-3 Then
x=mapwidth/2
y=mapheight/2
End If
Next
End Method
Method draw()
For Local y=0 Until mapheight
For Local x=0 Until mapwidth
Local col:Int=map[x][y]
If col > 0
SetColor col,0,0
DrawRect x*tilewidth,
y*tileheight,
tilewidth+1,
tileheight+1
end if
Next
Next
End Method
End Class
Global mymap:themap
Class MyGame Extends App
Method OnCreate()
SetUpdateRate(60)
Local date := GetDate()
Seed = date[5]
mymap = New themap(320,256)
End Method
Method OnUpdate()
If KeyHit(KEY_SPACE) = True
mymap = New themap(320,356)
End If
End Method
Method OnRender()
Cls 0,0,0
mymap.draw
SetColor 255,255,255
DrawText "Monkey-X - Red Clouds Example.",
0,0
DrawText "Press Space to Render new",0,20
End Method
End Class
Function Main()
New MyGame()
End Function
Artificial intelligence/templates/examples/rts/rpg/strategy ect. in MonkeyX/CerberusX language. You can download the free version of MonkeyX from itch.io or Cerberus-x.com The Flash applets will stop working in around 2020.
Monday, April 4, 2016
Monkey-X - Red Clouds (drunken walk) - code example
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.