and there you half it folks
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
yeah, maybe if the jam was 100 days... after u turn 30 every week = 1 day
|
||||||
|
ive barely begun to think about this
|
||||||
|
|||||||
14
inc/copgcops.scm
Normal file
14
inc/copgcops.scm
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
;; 'oop goops' but 'cop gcops'
|
||||||
|
;; instead of Object oriented programming, it is zzCell oriented
|
||||||
|
(define-module (cop gcops)
|
||||||
|
; :use-module (blah blah)
|
||||||
|
:use-module (waffle ufo)
|
||||||
|
:use-module (zipstyke notcurses)
|
||||||
|
:use-module (s7 s7)
|
||||||
|
)
|
||||||
|
(export prims zzcell slice dimension rank canvas
|
||||||
|
zzdb zzvm waffle zipstyke
|
||||||
|
)
|
||||||
|
|
||||||
|
(export-syntax
|
||||||
|
)
|
||||||
13
pseud
13
pseud
@@ -1,5 +1,4 @@
|
|||||||
Explain, O supereminent in virtue, the game on the eight
|
Explain, O supereminent in virtue, the game on the eight times eight board:
|
||||||
times eight board:
|
|
||||||
Tell me, O my master, how the Chatarunga may be played.
|
Tell me, O my master, how the Chatarunga may be played.
|
||||||
Vyasa replied:
|
Vyasa replied:
|
||||||
set up board
|
set up board
|
||||||
@@ -8,14 +7,14 @@ set up board
|
|||||||
[abcd1234 x 4 quadrants] over [all 8]
|
[abcd1234 x 4 quadrants] over [all 8]
|
||||||
rules (modular)
|
rules (modular)
|
||||||
|
|
||||||
;; a {w} & {b} ... uncheckered
|
;; a {w} & {b} ... ashtapad uncheckered
|
||||||
players
|
players
|
||||||
1 vs cpu
|
1 vs cpu
|
||||||
2
|
2
|
||||||
4
|
4
|
||||||
|
|
||||||
ally
|
ally
|
||||||
|
🜃 🜄 🜂 🜁
|
||||||
earth water fire air
|
earth water fire air
|
||||||
north west south east
|
north west south east
|
||||||
black blue red yellow {e}
|
black blue red yellow {e}
|
||||||
@@ -32,15 +31,15 @@ for each {player}'s turn
|
|||||||
|
|
||||||
raj {or} pada
|
raj {or} pada
|
||||||
|
|
||||||
elephant [proto-rook]
|
gaja, hasti / elephant [proto-rook]
|
||||||
|
|
||||||
move [1 or 2] < [or any] squares in any direction
|
move [1 or 2] < [or any] squares in any direction
|
||||||
|
|
||||||
else if ashva, horse [knight]
|
else if ashva / horse [knight]
|
||||||
|
|
||||||
;; else if rath / chariot [rook]
|
;; else if rath / chariot [rook]
|
||||||
|
|
||||||
ship boat [bishop]
|
nauca, rukh / ship, boat [bishop]
|
||||||
move 2 diagonally (jump)
|
move 2 diagonally (jump)
|
||||||
|
|
||||||
else if padati, foot soldier
|
else if padati, foot soldier
|
||||||
|
|||||||
108
rule/chat.ss
Normal file
108
rule/chat.ss
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
; 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
|
||||||
|
|
||||||
12
src/game.scm
Normal file
12
src/game.scm
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
;; i have no idea how to program code, i assume its when you put things inside parentheses?
|
||||||
|
(define (init-board)
|
||||||
|
(let* ((nc (notcurses-get))
|
||||||
|
(stdplane (notcurses-stdplane nc)))
|
||||||
|
(for-each
|
||||||
|
(lambda (row)
|
||||||
|
(for-each
|
||||||
|
(lambda (piece)
|
||||||
|
(ncplane-putc stdplane piece 0 0))
|
||||||
|
row))
|
||||||
|
init-board)
|
||||||
|
(notcurses-refresh nc)))
|
||||||
4111
src/notcurses_s7.c
Normal file
4111
src/notcurses_s7.c
Normal file
File diff suppressed because it is too large
Load Diff
0
src/rules.scm
Normal file
0
src/rules.scm
Normal file
Reference in New Issue
Block a user