Files
Dragon/main.bf

30 lines
1.3 KiB
Beef
Raw Normal View History

2025-09-15 10:07:24 +10:00
[All data is stored in chunks of 2 bytes/cells: the first cell is the type and the second cell is the data.
For example: The integer 27 would be stored as | 1 | 27 | 0 | 0 |. Note the double zero at
the end of the data.]
# Get the first input by the user and check its type
,[-------------------------------------------------------------------------------------------------------------------
$$$ Cells: | subtract $input 115 |
[ If $input !== 's'
++++[ If $input !== 'o'
]
>+<[>-]>[ If $input === 'o'
$$$ Cells: | 0 | (1) | ~~~~ | data
]
]
>+<[>-]>[ If $input === 's' (direct translation: set up else flag; if subtract $input s:ascii !== 0 remove else flag)
$$$ Cells: | 0 | (1) |
Actual Data starts at cell #10: go to cell 10 then continue to next un
>>>>>>>>>>>[[>>]>>]<[-]---------- Subtract 10 to calibrate loop
[++++++++++>[-]+++>, Start loop; add 10 (to undo the end of loop and add data)
---------- Check if input is 10 (newline)
]
]<[-]
If $input = s : $$$ | 0 | 1 | ~~~~ | 3 | char1 | 3 | char2 | ~~~~ | 3 | charlast | (0) | 0 |
If $input != s: $$$ | subtract $input 115 | 0 | (0) |
Realign Cursor
<[[[<]<]>[<]>[<]>[<]>[<]>[<]>[<]>[<]>[<]>[<]>[<]<<]<<<<<<<<[-]<,]