Files
chaturanga/rule/chat.ss
2024-05-26 13:23:20 -04:00

109 lines
2.6 KiB
Scheme

; focus on the main sequence of actual rules going off
(define-rules chaturanji
(init-board:
((🜃 🜃 _ _ 🜁 🜁 🜁 🜁)
(🜃 🜃 _ _ 🜁 🜁 🜁 🜁)
(🜃 🜃 _ _ _ _ _ _)
(🜃 🜃 _ _ _ _ _ _)
(_ _ _ _ _ _ 🜂 🜂)
(_ _ _ _ _ _ 🜂 🜂)
(🜄 🜄 🜄 🜄 _ _ 🜂 🜂)
(🜄 🜄 🜄 🜄 _ _ 🜂 🜂)))
;; ← ↑ → ↓ ↖ ↗ ↘ ↙
;; ■ □
(turns
(pass)
(define (die-roll)
(let ((die (+ 1 (random 6)))
(die2 (+ 1 (random 6)))) #;(second-die)
(list die die2)))
; (clockwise-turnshift)
(moves
(🜃
(
; 地王's asana is D1 (earth quadrant)
((( /_))
((_ ))
(((? /_)
((? )
)
; or
( ; PEON
((( _))
((_ )))
(((? _ _ ? ? ? ?))
((? _ _ ? ? ? ?)))
;; capture logic ↗ ↘
) ; /padati
; ... or or
;; make this logic clearer: (king or pawn) or (rest of pieces)
( #;hasti
((( _ /_))
((_ _ ))
(movement: all-directions))) #;/hasti
( #;ashva
((( ? ? )
(? ? /_))
((_ ? ?)
(? ? ))
(movement:
all-directions (all-directions flip-horizontally)))) #;/ashva
( #;ship
(((? ? /_)
( )
(? _ ? )
( ? ? ))
;; todo... add jump as well, ship moves 2 spaces
;this ((? ? … ♗ )
;may (⁝ ⁝ ↗ ⁝)
;be (? _ … ?)
;unnecessary (_ ? … ?))
(movement: all-directions))) #;/ship
); bhumi(player(1))
(🜁 (transform 🜃
( ) ( ) ( ) ( ) ( )
(transformations:
flip-clockwise))) ; vayu raj
(🜂 (transform 🜁
( ) ( ) ( ) ( ) ( )
(transformations:
flip-clockwise))) ; tejas raj
(🜄 (transform 🜂
( ) ( ) ( ) ( ) ( )
(transformations:
flip-clockwise))) ; apas raj
) ; moves
(order-of-play: 🜃 🜁 🜂 🜄)
) ; turns
(shatpada
(let ((player ; end of rank
))) ; and has captured, (check bank)
);/promo
(sinhasana
(let ((enemy-raj asana (if (equal?
))))); lands on the raj asana
;capture
;; remove enemy piece and add to 'bank'
;freeze
(let ((ally-raj asana (if (equal?
))))); lands on the ally's raj asana
;capture
;control pieces {or freeze}
)
(vrihannauka
(let ((enemy-ship enemy-ship ally-ship asana (if (equal?
))))) ; 'ship triumph' when a square occurs
(chaturanga #; occurs
(let ((enemy-raj asana #; blah
)))
); chaturanji occurs
);define-rules chaturanji