Oberon Wiki

The terminal in the game is more powerful than may be realized at first. It was created with a few guiding principles:

  • every variable used in the game is accessible by the terminal
  • savvy programmers can do anything in the game screens from the terminal
  • the terminal is more powerful than the game client
  • terminal will use a real language and have a compiler, BASIC was chosen
  • the concept of pointers would be implemented
  • players would manage programs by using floppy disks
  • programers would have maximum sizes, based on floppy disks
  • players would despise the message "syntax error line..."
  • the terminal would be the central point of the entire game, for elite players
  • programs could be shared to other players
  • programs could be edited outside the game client easily
  • terminal would apply concepts such as triggered events and a crontab

Errors[ | ]

Apps or scripts in memory can experience syntax, logic and stack errors.

A syntax error is when a statement is not written correctly or a keyword is misspelled. For example, the following application contains a syntax error on line 20

10 let x=10
20 leet x=x+10
30 print x
40 goto 20

Logic errors are instances where the code is written well but some issue takes place when the code is run that causes the logic to fail. For example, division by zero is a logic error and causes an application fail. Below is an example of a logic error

10 let x = 0
20 let y = 30
30 print y/x

Stack errors occur when a program causes a stack overflow error. A typical stack error is caused from infinite loops such as

10 let x = -10
20 while x < 0
20 print "x=" x;
30 next

This application would run 1024 times before crashing. See syntax manual for details but all loops halt at 1024 iterations even if the code is error free.