AppTitle "Semi Circle by Eikon" Graphics 320, 240, 16, 2 Points = CreateBank(1000) ; 1000 bytes begin_A = 0 ; Starting Angle is 0 Degrees end_A = 180 ; End at 180 Degrees (Half Circle) Offset = 0 ; Start at Memory Bank Offset 0 For i = begin_A To end_A Step 5 PokeShort(Points, Offset, i) Offset = Offset + 2 ; Advance 2 bytes (a short integer) Next ; Decs Global FPS = 0, Frames = 0, Time# = MilliSecs() + 1 ; FPS Counter Color 255, 255, 255 Origin 160, 120 ; Start in Middle of Screen Rad = 100 ; Circle has a radius of 50 While Not KeyDown(1) ; Main Frames = Frames + 1 If MilliSecs() >= Time FPS = Frames: Frames = 0: Time = Time + 1000 ; FPS C For i = 0 To OffSet Step 4 ; Go through our bank 2 bytes at a time tmp_A = PeekShort(Points, i) ; Grab our Angle we poked earlier tmp_X = Rad * Cos(tmp_A) tmp_Y = Rad * -Sin(tmp_A) If i <> 0 Then Line tmp_X2, tmp_Y2, tmp_X, tmp_Y If i + 2 >= Offset Then Exit tmp_A = PeekShort(Points, i + 2) ; Grab our Angle we poked earlier tmp_X2 = Rad * Cos(tmp_A) tmp_Y2 = Rad * -Sin(tmp_A) Line tmp_X, tmp_Y, tmp_X2, tmp_Y2 Next Offset = 0 Begin_A = begin_A + 1: End_A = end_A + 1 For i = begin_A To end_A Step 5 PokeShort(Points, Offset, i) Offset = Offset + 2 ; Advance 2 bytes (a short integer) Next Text 1, 1, "FPS: " + FPS Flip 0: Cls Wend: End