Version 1.17.1 of ugBASIC and UGBASIC-IDE has just been released. In addition to containing strong optimizations and corrections for all targets, preliminary support for automatic animations and synced movements is available.

In addition to containing numerous fixes and corrections for all targets, DOJO protocol support has been improved, and simplified instructions are now provided for creating rooms and communication channels. DOJO protocol is also available on FujiNet and, in general, for any device that supports serial communications.

New instructions have been included: JMOVE, which allows you to update the coordinates based on the movement of the joystick; BOTTOM and LBOTTOM which allow you to position cursor in the last line of the screen and, optionally, in the first column; VCENTER and VHCENTER, which allow you to print a string in the center of the screen (vertically and also horizontally); RANGE, which allows you to check if a variable is in a range; SLEEP, to wait a certain number of seconds.

In terms of language, it is now possible to define functions (FUNCTION), that is, procedures with parameters and composed of a single expression, which is the result of a calculation. It is also possible, for those hardware that allow it, to obtain the character present in a specific position with the SCREEN and SCREEN$ functions. Furthermore, it is possible to obtain the sum of all the elements of an array with the (ARRAY) SUM command as well as count how many elements have a certain value with (ARRAY) COUNT. It is now possible to limit a DO..LOOP with a WHILE or an UNTIL at the end of the LOOP and, finally, the FLOAT type can also be called SINGLE.

The compiler has also been improved, with some consistency checks and several changes for games written for the BASIC 10 liner contest. In particular, many commands have been made composite and, therefore, abbreviatable with a single instruction, and polymorphism, typical of the BASIC language, is widely supported. Furthermore, where the default value is obvious, it will be possible to omit it (as happens with the JOY or GET commands), and the screen border will always be set to “black”, by default.

Subscribe
Notify of
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments