src.backend.terminal
クラス TerminalCompiler
java.lang.Object
src.backend.terminal.TerminalCompiler
public class TerminalCompiler
- extends java.lang.Object
Terminal Compiler
input: a terminal script on one level. such as "T00.hogehoge"
output: One TermEntry which has some TerminalGroupings and FontChanges
a Map includes Levels.
a Level has a TermChunk
a Level ( = a TermChunk) includes Entries for terminals
a Entry has text bytes and groupings like "UNFINISHED" terminal type
grouping specify the start point and length of text bytes
[rule]
#TERMINAL
#UNFINISHED/#FINISHED
#LOGON
#PICT/#CHECKPOINT/#INFORMATION/#INTER,INTRALEVEL TELEPORT
#LOGOFF
#END
#ENDTERMINAL
terminal must contain at least one group #UNFINISHED.
FINISHED/UNFINISHED groups must end with their own END
PICT, CHECKPOINT, INFORMATION, and TELEPORTs groups must be in UNFINISHED/FINISHED groups
LOGOFF must be after LOGON
LOGON and LOGOFF use the next one line to draw. other lines are ignored.
muststart with TERMINAL and end with ENDTERMINAL
clear font face and color with COMMENT,";"
[sample]
#TERMINAL 0
#UNFINISHED
#LOGON
login message, or only a return code. LOGON is not essential
#PICT n
sentences...
#INFORMATION
sentences...
#LOGOFF
logoff message. LOGOFF is not essential
#END
#FINISHED
#LOGON
...
#PICT n
Good job.
#INTERLEVEL TELEPORT 255
#END
#ENDTERMINAL
#TERMINAL 1
...
INTERLEVEL 255 is to end the game
Interpreting step
(done)
1:devide text in each terminal blocks from raw script text
(check validity for start and end of terminal block)
(interpret font change and remove them from original text)
(then, make byte data for "text"
(with replacing "\n" and "'" of Mac-Roman))
2:devide terminal text into mission blocks from one terminal raw text
(check validity for logon/logoff)
->TermEntry
3:make groupings from devided blocks
TODO:
-Whether should we judge invalid command (ex. "#FNISHED", "#FINISHED" is correct)
to warn or to tell as fatal error?
- 作成者:
- koji
クラス java.lang.Object から継承されたメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TerminalCompiler
public TerminalCompiler()
compileTerminals
public void compileTerminals(java.lang.String scriptText,
TermChunk chunk)
throws SyntaxErrorException
- パラメータ:
scriptText
- a terminal script in plane textchunk
- terminal chunk
- 例外:
SyntaxErrorException