1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-20 00:27:45 +00:00

Tic-Tac-Toe game ported to LLOGO v 0.001

This commit is contained in:
Alexey-Slyusar
2019-04-02 21:37:56 +04:00
parent 04dea17890
commit 8936d9039a

View File

@@ -1,6 +1,48 @@
;;; Tic-Tac-Toe Game written by Dr. Brian Harvey
;;; Adapted to PDP-10/ITS LLOGO by Alexey Slyusar
;; OVERALL ORCHESTRATION
TO TTT
10 LOCAL 'ME
20 LOCAL 'YOU
30 LOCAL 'POSITION
40 DRAW.BOARD
50 INIT
60 IF ALREADY.WONP :ME [PRINT [I WIN!] STOP]
70 IF TIEDP [PRINT [TIE GAME!] STOP]
80 YOUPLAY GETMOVE
90 IF ALREADY.WONP :YOU [PRINT [YOU WIN!] STOP]
100 IF TIEDP [PRINT [TIE GAME!] STOP]
110 MEPLAY GETMOVE
END
TO MAKE.TRIPLES
10 OP MAP "SUBSTITUTE.TRIPLE [123 456 789 147 258 369 159 357]
END
TO SUBSTITUTE.TRIPLE :COMBINATION
10 OP MAP [ITEM ? :POSITION] :COMBINATION
END
TO ALREADY.WONP :PLAYER
10 OP MEMBERP (WORD :PLAYER :PLAYER :PLAYER) (MAKE.TRIPLES)
END
TO TIEDP
10 OP NOT REDUCE 'OR MAP.SE 'NUMBERP LISTARRAY 'POSITION
END
TO YOUPLAY :SQUARE
10 DRAW :YOU :SQUARE
20 SETITEM :SQUARE :POSITION :YOU
END
TO MEPLAY :SQUARE
10 DRAW :ME :SQUARE
20 SETITEM :SQUARE :POSITION :YOU
END
;;COMPUTE PROGRAM'S MOVES
TO PICKMOVE :TRIPLES