really impressive on the graphics. Would love to see this when its finished.
TomToad
9
Posts
10
Followers
A member registered Mar 15, 2017 · View creator page →
Creator of
Recent community posts
the portal level was to introduce you to portals :) I tried to make it a bit challenging without distracting you with a bunch of other mechanics. I tried to keep it from becoming too frustrating, at least in the first few levels (I did get a bit devious later on), but I didn't spend enough time fine tuning them. Probably, after voting is done,I will redo the levels a bit. BTW, if you take a systematic approach at the portals, you will reach the exit in a maximum of 43 jumps, as little as 3 jumps once you know the correct portals.
Don't know what you're trying to achieve. Better to ask questions at SyntaxBomb as that is where most of the BlitzMax users have gone.
Anyway, I gave it a go here.
SuperStrict' drawline.bmx
' draws a hair at the mouse position using Drawline.
'A type for a single polygon
Type TPolygon
Field Points:Float[]
End Type
'A polygon must be convex so we create a Shape type to
' hold several polygons to make more complex shapes
Type TShape
Field Polygons:TList = CreateList()
'Adds a single polygon to the shape
Method Add(Points:Float[])
Local Polygon:TPolygon = New TPolygon
Polygon.Points = Points
Polygons.AddLast(Polygon)
End Method
'draws all the polygons
Method Draw(x:Float, y:Float)
Local OriginX:Float, OriginY:Float
GetOrigin(OriginX, OriginY) 'store the origin
SetOrigin x,y 'set the origin to the polygon's location
For Local Polygon:TPolygon = EachIn Polygons 'draw the polygons
DrawPoly Polygon.Points
Next
SetOrigin OriginX,OriginY 'restore the origin
End Method
End Type
Local Star:TShape = New TShape 'create the star shape
Local Point:Float[] 'an array to hold each point of the star
For Local i:Int = 0 Until 5 '5 points
Local Angle:Float = i * 72 - 90
Point = New Float[6] 'create a new array to hold the points
Point[0] = Cos(Angle) * 30
Point[1] = Sin(Angle) * 30
Point[2] = Cos(Angle+36) * 11.459
Point[3] = Sin(ANgle+36) * 11.459
Point[4] = Cos(Angle-36) * 11.459
Point[5] = Sin(Angle-36) * 11.459
Star.Add(Point)
Next
Graphics 640,480
HideMouse
While Not KeyHit(KEY_ESCAPE)
Cls
Local x:Int=MouseX()
Local y:Int=MouseY()
DrawLine 32,24,x,y
Star.Draw(x,y)
Flip
Wend







