Skip to content

Commit 0473ab5

Browse files
committed
Update ALPHA1.FTH
1 parent 9368a1c commit 0473ab5

File tree

1 file changed

+51
-27
lines changed

1 file changed

+51
-27
lines changed

DEMO/Graphics/ALPHA1.FTH

Lines changed: 51 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,30 @@
33
INCLUDE DSK1.TOOLS
44
INCLUDE DSK1.GRAFIX
55
INCLUDE DSK1.RANDOM
6+
INCLUDE DSK1.UDOTR \ right justified number printers
67
INCLUDE DSK1.MARKER
78

89
MARKER ALPHA
910
\ ==================================
1011
\ character patterns
1112
HEX
12-
00FE FEFE FEFE FEFE PATTERN: REDBRICK
13-
3C7E DBFF DBE7 7E3C PATTERN: HAPPYFACE
14-
3C7E DBFF E7DB 7E3C PATTERN: SADFACE
15-
0022 5508 C92A 1C3E PATTERN: PLANT
13+
CREATE REDBRICK 00FE , FEFE , FEFE , FEFE ,
14+
CREATE HAPPYFACE 3C7E , DBFF , DBE7 , 7E3C ,
15+
CREATE SADFACE 3C7E , DBFF , E7DB , 7E3C ,
16+
CREATE PLANT 0022 , 5508 , C92A , 1C3E ,
1617

1718
\ named chars
1819
DECIMAL
1920
160 CONSTANT ALPHA-GUY
2021
168 CONSTANT BRICK
2122
176 CONSTANT FOOD
2223

23-
\ define chars
24-
REDBRICK BRICK CHARDEF BRICK SET# 7 15 COLOR
25-
PLANT FOOD CHARDEF FOOD SET# 13 1 COLOR
24+
: DEFINE-CHARS
25+
REDBRICK BRICK CHARDEF BRICK SET# 7 15 COLOR
26+
PLANT FOOD CHARDEF FOOD SET# 13 1 COLOR
27+
;
2628

2729
: CLIP ROT MIN MAX ;
28-
2930
: RNDX ( -- x) 23 RND 2 22 CLIP ;
3031
: RNDY ( -- y) 33 RND 2 30 CLIP ;
3132

@@ -67,7 +68,7 @@ CREATE MY-XY RNDY , RNDX , \ independant cursor for alpha guy
6768

6869
: CHANGE-DIR ( -- ) NEW-VECTORS VECTOR 2! ;
6970
: VECTOR@ ( -- dx dy) VECTOR 2@ ;
70-
: VECT+ ( x y dx dy -- x' y' ) ROT + -ROT + SWAP ;
71+
: VECT+ ( x y dx dy -- x' y' ) ROT + >R + R> ;
7172

7273
\ direct memory screen control
7374
: >VPOS ( Y X -- vaddr) C/L@ * + ;
@@ -84,12 +85,10 @@ CREATE MY-XY RNDY , RNDX , \ independant cursor for alpha guy
8485
DECIMAL
8586
VARIABLE TRYS
8687
VARIABLE SPEED
87-
88-
\ print right justified n spaces
89-
: .R ( n n -- ) >R DUP ABS 0 <# #S ROT SIGN #> R> OVER - SPACES TYPE ;
88+
: BLANKLN ( -- ) VPOS C/L@ BL VFILL ;
9089

9190
: .BRAIN ( -- )
92-
0 0 CLRLN
91+
0 0 AT-XY BLANKLN
9392
." Vector" VECTOR 2@ 2 .R ." ," 2 .R
9493
SPACE ." Trys " TRYS @ 2 .R
9594
SPACE ." Energy " SPEED @ 150 - ABS 3 .R ;
@@ -105,9 +104,9 @@ VARIABLE SPEED
105104
: SPEED++ ( -- ) SPEED @ 35 - SPEED! ; \ speed is inverse
106105
: SPEED-- ( -- ) SPEED @ 1+ SPEED! ;
107106

108-
: EAT ( -- )
109-
BL NEXT-POS >VPOS VC!
110-
SPEED++ ;
107+
: EAT ( -- )
108+
BL NEXT-POS >VPOS VC!
109+
SPEED++ ;
111110

112111
: CLEAR-AHEAD? ( -- ?) NEXT-POS READ-CHAR BL = ;
113112
: FOOD? ( -- ?) NEXT-POS READ-CHAR FOOD = ;
@@ -118,29 +117,54 @@ VARIABLE SPEED
118117
BEGIN
119118
1 TRYS +! \ count the try
120119
CHANGE-DIR \ get new direction
121-
.BRAIN 50 MS
120+
.BRAIN 50 MS
122121
CLEAR-AHEAD?
123122
UNTIL
124-
HAPPY ;
123+
HAPPY ;
124+
125+
: EXPLAIN
126+
TEXT
127+
PAGE ." * ALPHA INTELLIGENCE *"
128+
CR
129+
CR ." A minimum form of machine intelligence"
130+
CR ." where a robot follows a vector until it"
131+
CR ." meets an optstacle."
132+
CR
133+
CR ." It then tries RANDOM vectors until it"
134+
CR ." finds a clear path."
135+
CR ." Lather, Rinse, Repeat."
136+
CR
137+
CR ." (Press a key to change the maze)"
138+
CR
139+
CR ." Concept from:"
140+
CR
141+
CR ." PROJECTS IN MACHINE INTELLIGENCE"
142+
CR ." for your HOME COMPUTER"
143+
CR ." David Heiserman, 1982"
144+
145+
6 23 AT-XY ." Press any key to continue"
146+
BEGIN KEY? UNTIL
147+
;
125148

126149
DECIMAL
127150
: RUN ( -- )
128-
BEGIN
129-
PAGE 4 10 AT-XY ." Alpha Intelligence Demo" 1000 MS
130-
PAGE
131-
16 SCREEN
151+
PAGE 4 10 AT-XY ." Alpha Intelligence Demo" 1000 MS
152+
EXPLAIN
153+
BEGIN
154+
GRAPHICS 16 SCREEN
155+
DEFINE-CHARS
132156
.BORDER .WALLS PLANTS
133157
HAPPY SHOW-MAN
134158
CHANGE-DIR
135159
150 SPEED! \ 150 is slow, longest delay
136160
BEGIN
161+
SP0 SP!
137162
FOOD? IF BEEP EAT THEN
138163
CLEAR-AHEAD?
139-
IF MOVE-MAN \ if true
140-
ELSE ALPHA-THINK \ otherwise
164+
IF MOVE-MAN
165+
ELSE ALPHA-THINK
141166
THEN SPEED @ MS
142167
KEY?
143168
UNTIL
144-
?BREAK
145-
AGAIN ;
146-
169+
?TERMINAL IF PAGE .S QUIT THEN
170+
AGAIN ;

0 commit comments

Comments
 (0)