Import mojo Global tr:Int=90 Global tg:Int=10 Global tb:Int=150 Class dot Field x:Float,y:Float Field rad:Int Field alpha:Float Field r:Int,g:Int,b:Int Method New() x = Rnd(640) y = Rnd(480) rad = Rnd(3,7) alpha = Rnd(0.4,0.8) Local c:Int=Rnd(50,255) If Rnd()<.8 Then r = 255 g = 255 b = 255 If Rnd()<.5 rad=2 End If else r = c/2+tr/2 g = c/2+tg/2 b = c/2+tb/2 End If End Method Method draw() SetColor r,g,b SetAlpha alpha DrawCircle x,y,rad End Method End Class Class flake Field x:Float,y:Float Field angle:Float Field size:Float Field thick:Bool Field alpha:Float Method New(x:Float,y:Float,size:Int) Self.x = x Self.y = y Self.size = size alpha = Rnd(0.2,0.9) angle = Rnd(360) If Rnd()<.5 Then thick=True Else thick=False End Method Method draw() SetAlpha alpha PushMatrix() Translate(x,y) Rotate(angle) Translate(-x,-y) SetColor 255,255,255 For Local i=0 To 360-45 Step 45 Local x1:Int=x+Cos(i)*size Local y1:Int=y+Sin(i)*size Local size2:Float=size/5+size/5 For Local i2=0 Until 3 Local x2:Int=x+Cos(i)*size2 Local y2:Int=y+Sin(i)*size2 Local size3:Int If i2 = 0 Then size3=size/4 If i2 = 1 Then size3=size/3 If i2 = 2 Then size3=size/5 Local x3:Int=x2+Cos(i-40)*size3 Local y3:Int=y2+Sin(i-40)*size3 Local x4:Int=x2+Cos(i+40)*size3 Local y4:Int=y2+Sin(i+40)*size3 DrawLine x2,y2,x3,y3 DrawLine x2,y2,x4,y4 If thick = True DrawLine x2+1,y2,x3+1,y3 DrawLine x2+1,y2,x4+1,y4 End If size2+=size/5 Next DrawLine x,y,x1,y1 If thick = True Then DrawLine x+1,y,x1+1,y1 End If Next PopMatrix() SetAlpha 1 End Method Method newang:Int(ang1:Int,m:Int) ang1 += m If ang1<0 Then Return 360+m If ang1>359 Then Return 0+m End Method End Class Global myflakes:List<flake> = New List<flake> Global mydots:List<dot> = New List<dot> Class MyGame Extends App Method OnCreate() SetUpdateRate(60) Seed = 3 For Local i=0 Until 170 mydots.AddLast(New dot()) Next For Local y=0 Until 480+128 Step 128 For Local x=0 Until 640+128 Step 128 Local mx:Int=Rnd(-64,64) Local my:Int=Rnd(-64,64) myflakes.AddLast(New flake(x+mx,y+my,Rnd(32,64))) Next Next End Method Method OnUpdate() End Method Method OnRender() Cls tr,tg,tb SetColor 255,255,255 For Local i:=Eachin mydots i.draw Next For Local i:=Eachin myflakes i.draw Next Scale 4,4 SetAlpha .76 SetColor 255,255,255 DrawText "Merry Christmas",DeviceWidth/(2*4),20,.5,.5 DrawText "And a",DeviceWidth/(2*4),DeviceHeight/4/4,.5,.5 DrawText "Happy new Year",DeviceWidth/(2*4),DeviceHeight/3/4,.5,.5 Scale 1,1 SetAlpha 1 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.
Sunday, December 25, 2016
Monkey-X - Hollyday Greetings Screen - code example
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.