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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user