Sjouke Hamstra is a Dutch programmer who has contributed to the development of GFA-BASIC, a dialect of the BASIC programming language. Hamstra is well-known in the GFA-BASIC community for creating several popular add-ons and extensions for the language, including libraries for working with graphics and sound, as well as tools for developing user interfaces and databases.
In addition to his work on GFA-BASIC, Hamstra has also written books and articles on programming, and he has created several other software tools for the Atari ST and other platforms. He is regarded as one of the leading experts on GFA-BASIC and has played a significant role in the language's development and popularity over the years.
Hamstra has also been involved in the organization of several GFA-BASIC user groups and conferences, and he has helped to promote the language to a wider audience through his writings and online presence. His contributions to the GFA-BASIC community have been widely recognized and appreciated by users and developers alike.
I asked ChatGPT: "Do you know what a hash type is in "GFA-BASIC 32"?"
GFA-BASIC 32 is a programming language that is derived from the original GFA-BASIC for Atari ST computers. In GFA-BASIC 32, a hash type refers to a data type that is used to store information in an associative array or hash table.
An associative array is a data structure that allows you to store key-value pairs, where each value is associated with a unique key. The hash type in GFA-BASIC 32 is specifically designed to work with hash tables, which use a hash function to map keys to specific locations in memory for efficient storage and retrieval of data.
To use the hash type in GFA-BASIC 32, you need to define a variable as a hash type, and then you can add, remove, or modify key-value pairs using various built-in functions and methods. The hash type can be useful for a wide range of programming tasks, such as storing configuration data, managing user preferences, or implementing caching mechanisms.
For i = 1 To 4 Line x(i), y(i), x(i Mod 4 + 1), y(i Mod 4 + 1) Dim xtemp As Double, ytemp As Double xtemp = x(i) ytemp = y(i) RotatePoint xtemp, ytemp, cx, cy, 1 x(i) = xtemp y(i) = ytemp Next i
'Berechne neue Positionen und Geschwindigkeit aufgrund der Gravitation vy = vy + 0.1 For i = 1 To 4 y(i) = y(i) + vy If y(i) > 500 Then y(i) = 500 vy = -vy * 0.8 'Elastischer Stoß mit dem Boden End If Next i
Line 0, 500, 1000, 500
DoEvents Pause 0.5
Loop Until MouseK
Sub RotatePoint(ByRef x As Double, ByRef y As Double, cx As Double, cy As Double, angle As Double) Dim rad_ As Double rad_ = angle * PI / 180 Dim xnew As Double, ynew As Double xnew = (x - cx) * Cos(rad_) - (y - cy) * Sin(rad_) + cx ynew = (x - cx) * Sin(rad_) + (y - cy) * Cos(rad_) + cy x = xnew y = ynew EndSub
Last Edit: Feb 23, 2023 21:46:08 GMT 1 by rogercabo
Unfortunately, I had to abort the attempt to teach ChatGPT GFABasic. The quasi long-term memory was shrunk. Strangely, after one day, some things were forgotten, and what was forgotten varied in different chats. VB6 is the only equivalent works closest.
Last Edit: Jun 4, 2023 17:28:50 GMT 1 by rogercabo