TiCodEd
Revision as of 18:31, 30 July 2024 by Stefan Haubenthal (talk | contribs) (Created page with "'''TiCodEd''' is an Extended BASIC editor/preprocessor by Stefan Bauch. This open source software is written in Free Pascal. == Example == Structured Extended Basic // SPEEDY // A demo of "Structured Extended Basic" by Stefan Bauch REPEAT GOSUB initialize REPEAT CALL KEY(0,K,S) :: B=B+(K=65)/4-(K=76)/4 :: B1=B-INT(B) :: Q=Q-(B1=.75)+(B1=.25) :: W=W-(B1=.5)+(B1=0) CALL GCHAR(Q,W,E) :: SC=SC+1 :: CALL VCHAR(Q,W,130) UNTIL e<>32 CALL SAY("GAMES OVER"...")
TiCodEd is an Extended BASIC editor/preprocessor by Stefan Bauch. This open source software is written in Free Pascal.
Example
Structured Extended Basic
// SPEEDY
// A demo of "Structured Extended Basic" by Stefan Bauch
REPEAT
GOSUB initialize
REPEAT
CALL KEY(0,K,S) :: B=B+(K=65)/4-(K=76)/4 :: B1=B-INT(B) :: Q=Q-(B1=.75)+(B1=.25) :: W=W-(B1=.5)+(B1=0)
CALL GCHAR(Q,W,E) :: SC=SC+1 :: CALL VCHAR(Q,W,130)
UNTIL e<>32
CALL SAY("GAMES OVER")
DISPLAY AT(24,2):"GAME OVER SCORE :";SC
WHILE S=0
CALL KEY(0,K,S)
WEND
UNTIL K=78
END
initialize:
CALL CHAR(130,"")
Q=23 :: W=16 :: B=100.25 :: SC=0
CALL CLEAR :: CALL VCHAR(1,1,130,23) :: CALL VCHAR(1,32,130,23) :: CALL HCHAR(1,1,130,32) :: CALL HCHAR(23,1,130,32)
FOR I=6 TO 18 STEP 6 :: CALL VCHAR(I,10,130) :: CALL VCHAR(I,17,130) :: CALL VCHAR(I,24,130) :: NEXT I
CALL CHAR(130,"FFFFFFFFFFFFFFFF")
RETURN
Extended BASIC
100 GOSUB 210
110 CALL KEY(0,K,S) :: B=B+(K=65)/4-(K=76)/4 :: B1=B-INT(B) :: Q=Q-(B1=.75)+(B1=.25) :: W=W-(B1=.5)+(B1=0)
120 CALL GCHAR(Q,W,E) :: SC=SC+1 :: CALL VCHAR(Q,W,130)
130 IF NOT (e<>32) THEN GOTO 110
140 CALL SAY("GAMES OVER")
150 DISPLAY AT(24,2):"GAME OVER SCORE :";SC
160 IF NOT (S=0) THEN GOTO 190
170 CALL KEY(0,K,S)
180 GOTO 160
190 IF NOT (K=78) THEN GOTO 100
200 END
210 CALL CHAR(130,"")
220 Q=23 :: W=16 :: B=100.25 :: SC=0
230 CALL CLEAR :: CALL VCHAR(1,1,130,23) :: CALL VCHAR(1,32,130,23) :: CALL HCHAR(1,1,130,32) :: CALL HCHAR(23,1,130,32)
240 FOR I=6 TO 18 STEP 6 :: CALL VCHAR(I,10,130) :: CALL VCHAR(I,17,130) :: CALL VCHAR(I,24,130) :: NEXT I
250 CALL CHAR(130,"FFFFFFFFFFFFFFFF")
260 RETURN