I’ve had a request to show how to use functions in blitzbasic from TheLividePianoist, I’ve been slow to answer, so here we go:
simple maths function:
purpose of function is to return double the number you send it:
x = 2
y = double(x)
The function header: function double(z) just means that the function is called double (you can call functions what ever you like, as long as there’s not already a function called that), and the (z) tells it to expect a variable called z. z could be anything, in this case it’s a number.
when a function exits, it can either just end using the “end function” line, or it can return a value to the part of the program that called it in this case it’s “y=double(x)”, x gets passed to the function, which get’s written in z, which the function doubles and returns to that part of code assigning the return value to y.
Here’s another quick example:
Say you always centre your text, using text x,y,”hello”,1,1
Instead of having to write ,1,1 on the end everytime, why not write a function called ctext that automatically centres your text?
ctext 400,300,”This is the centre of the screen!”
The function declaration: function ctext(x,y,mytext$) tells the function to expect to be given an x number, a y number and a string of text (hence the $ after mytext):
Then instead of returning a value, we simple call the text function with these values and put ,1,1 on the end to centre the text over the x and y coords chosen.
Hopefully this has cleared things up a bit for you, if you’re still unsure, please let me know.