We would like to build a community for Small Basic programmers of any age who like to code. Everyone from total beginner to guru is welcome. Click here to register and share your programming journey!


Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Small Basic AI Championship
#45
AB,

I always advocate the game loop, but experimentation is fun so try different things.

Reasons:

1] For complex event driven fast moving games, all the action takes place in one ordered loop - much easier to debug
2] Events can occur at any time and may also be running at the same time using the same variables - chaos
3] The main UI thread may not be updated while running in an event thread
4] If events keep coming faster than they take to complete they can stack up

Compare these 2 programs

Code:
ball = Shapes.AddEllipse(20,20)
GraphicsWindow.MouseMove = OnMouseMove

Sub OnMouseMove
  x = GraphicsWindow.MouseX
  y = GraphicsWindow.MouseY
  Shapes.Animate(ball,x-10,y-10,100)
  Program.Delay(100)
EndSub

Code:
ball = Shapes.AddEllipse(20,20)
GraphicsWindow.MouseMove = OnMouseMove

While("True")
  If (mouseMove) Then
    x = GraphicsWindow.MouseX
    y = GraphicsWindow.MouseY
    Shapes.Animate(ball,x-10,y-10,100)
    Program.Delay(100)
    mouseMove = ""
  EndIf
EndWhile

Sub OnMouseMove
  mouseMove = "True"
EndSub

When there are multiple events, potentially firing at the same time using the same variables it can get complicated, so I think the game loop makes things simpler, even though for a very small program it looks like added complexity.  There are cases where it doesn't really matter - like button presses.

Main thing is try it out whatever way you like and be prepared to change - I tend to write little prototypes to test ideas out.
[-] The following 2 users Like litdev's post:
  • AbsoluteBeginner, WhTurner
Reply


Messages In This Thread
Small Basic AI Championship - by AbsoluteBeginner - 09-13-2023, 06:24 PM
RE: Small Basic AI Championship - by litdev - 09-13-2023, 08:18 PM
RE: Small Basic AI Championship - by litdev - 09-14-2023, 11:30 PM
RE: Small Basic AI Championship - by z-s - 04-01-2024, 10:38 AM
RE: Small Basic AI Championship - by litdev - 04-01-2024, 08:13 PM
RE: Small Basic AI Championship - by z-s - 04-02-2024, 09:16 AM
RE: Small Basic AI Championship - by z-s - 04-02-2024, 05:05 PM
RE: Small Basic AI Championship - by z-s - 04-04-2024, 05:16 AM
RE: Small Basic AI Championship - by Scout - 04-04-2024, 02:08 PM
RE: Small Basic AI Championship - by litdev - 04-04-2024, 03:05 PM
RE: Small Basic AI Championship - by z-s - 04-04-2024, 04:30 PM
RE: Small Basic AI Championship - by litdev - 04-04-2024, 05:02 PM
RE: Small Basic AI Championship - by jrmrhrb00 - 04-04-2024, 10:04 PM
RE: Small Basic AI Championship - by litdev - 04-04-2024, 10:13 PM
RE: Small Basic AI Championship - by jrmrhrb00 - 04-04-2024, 11:07 PM
RE: Small Basic AI Championship - by litdev - 04-10-2024, 07:31 PM
RE: Small Basic AI Championship - by litdev - 04-11-2024, 10:03 AM
RE: Small Basic AI Championship - by z-s - 04-11-2024, 02:29 PM
RE: Small Basic AI Championship - by litdev - 04-16-2024, 01:16 PM
RE: Small Basic AI Championship - by z-s - 04-16-2024, 03:04 PM
RE: Small Basic AI Championship - by litdev - 04-16-2024, 05:42 PM
RE: Small Basic AI Championship - by z-s - 04-17-2024, 06:24 AM
RE: Small Basic AI Championship - by z-s - 04-17-2024, 02:28 PM
RE: Small Basic AI Championship - by litdev - 04-19-2024, 07:01 PM
RE: Small Basic AI Championship - by litdev - 04-20-2024, 10:09 AM
RE: Small Basic AI Championship - by litdev - 04-22-2024, 08:24 AM
RE: Small Basic AI Championship - by z-s - 04-23-2024, 06:29 AM
RE: Small Basic AI Championship - by Scout - 04-24-2024, 02:48 PM
RE: Small Basic AI Championship - by Scout - 04-24-2024, 05:55 PM
RE: Small Basic AI Championship - by litdev - 04-24-2024, 08:39 PM
RE: Small Basic AI Championship - by z-s - 04-25-2024, 04:28 AM
RE: Small Basic AI Championship - by z-s - 04-25-2024, 05:19 AM
RE: Small Basic AI Championship - by z-s - 05-01-2024, 06:06 AM
RE: Small Basic AI Championship - by z-s - 05-01-2024, 07:18 AM
RE: Small Basic AI Championship - by litdev - 05-01-2024, 04:24 PM
RE: Small Basic AI Championship - by litdev - 05-18-2024, 01:33 PM
RE: Small Basic AI Championship - by litdev - 06-07-2024, 10:44 AM
RE: Small Basic AI Championship - by litdev - 06-13-2024, 08:03 AM
RE: Small Basic AI Championship - by Scout - 06-13-2024, 05:46 PM
RE: Small Basic AI Championship - by litdev - 06-13-2024, 07:16 PM
RE: Small Basic AI Championship - by litdev - 06-21-2024, 09:35 AM
RE: Small Basic AI Championship - by litdev - 06-21-2024, 12:44 PM
RE: Small Basic AI Championship - by z-s - 06-21-2024, 05:20 PM
RE: Small Basic AI Championship - by litdev - 06-24-2024, 05:17 PM
RE: Small Basic AI Championship - by litdev - 06-27-2024, 08:03 PM
RE: Small Basic AI Championship - by litdev - 06-28-2024, 10:32 AM
RE: Small Basic AI Championship - by litdev - 06-28-2024, 02:16 PM
RE: Small Basic AI Championship - by litdev - 06-29-2024, 08:50 AM
RE: Small Basic AI Championship - by litdev - 06-29-2024, 04:59 PM
RE: Small Basic AI Championship - by z-s - 07-02-2024, 12:21 PM
RE: Small Basic AI Championship - by z-s - 07-02-2024, 02:38 PM
RE: Small Basic AI Championship - by z-s - 07-06-2024, 02:19 AM
RE: Small Basic AI Championship - by z-s - 07-06-2024, 01:02 PM
RE: Small Basic AI Championship - by z-s - 07-06-2024, 04:01 PM
RE: Small Basic AI Championship - by z-s - 07-06-2024, 04:45 PM
RE: Small Basic AI Championship - by litdev - 07-06-2024, 11:07 PM
RE: Small Basic AI Championship - by z-s - 07-11-2024, 02:55 AM
RE: Small Basic AI Championship - by z-s - 07-11-2024, 06:39 AM
RE: Small Basic AI Championship - by litdev - 07-13-2024, 10:53 PM
RE: Small Basic AI Championship - by z-s - 07-14-2024, 03:37 AM
RE: Small Basic AI Championship - by litdev - 07-14-2024, 09:05 AM
RE: Small Basic AI Championship - by z-s - 07-15-2024, 06:16 AM
RE: Small Basic AI Championship - by litdev - 07-17-2024, 08:31 PM
RE: Small Basic AI Championship - by litdev - 07-18-2024, 11:45 AM
RE: Small Basic AI Championship - by litdev - 08-25-2024, 06:44 PM
RE: Small Basic AI Championship - by litdev - 08-26-2024, 08:24 AM
RE: Small Basic AI Championship - by litdev - 09-01-2024, 06:53 PM
RE: Small Basic AI Championship - by litdev - 09-01-2024, 08:25 PM
RE: Small Basic AI Championship - by litdev - 09-02-2024, 01:59 PM

Forum Jump:


Users browsing this thread: 28 Guest(s)