mid( a, b, c )
min "minimum"
a a number
b a number
c a number

The mid(a, b, c) function is used to determine the number in the middle of three given numbers a, b, and c.

For example, if we call mid(10, 4, 20), the function will compare the three arguments and determine that 10 is the middle value. Therefore, it will return 10.

middle = mid(10, 4, 20)
print(middle)  --prints 10

Using mid() to Create Limits

One way to use this function in your game, is to make sure a number stays within a certain range of numbers. For example, keeping a player within the screen's width. The player's x coordinate can be limited to the screen's left side of 0 and right side of 127.

If we call mid(), with the arguments of the player x, and the minimum and maximum of the allowed range, then the player's x will be limited to those minimum and maximum values. Here's an example:

x=60 --player

function _update()
	--player movement
	if btn(⬅️) then x-=1 end
	if btn(➡️) then x+=1 end

	x= mid(left,right,x)

function _draw()

Notice how the player does move off the right side of the screen. This is to demonstrate that you need to remember that a sprite's X and Y coordinates are for the top-left corner of the sprite. So using mid above is still working to limit the player's X on the screen, because it is not letting the player's left side leave the range of the screen.

To fix this, remember to adjust the right side limit by the sprite's width like so:

x= mid(left,right-8,x)


4 Oct 2023