; 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