diff --git a/README.md b/README.md index e2aac87..a836f62 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,36 @@ # kodiak +*Kodiak* is an implementation of [Klondike Solitaire](https://en.wikipedia.org/wiki/Klondike_(solitaire)) for the[Uxn/Varvara ecosystem](https://100r.co/site/uxn.html) virtual machine. + ![screenshot of initial solitaire deal](start.png) -## getting started +Currently *Kodiak* is very limited: + + - Can't move cards from the foundation + - Must manually move every card + - No undo functionality + - No scoring or timing + - No music or animations + - No splash screen + - No buttons to restart or quit + +Future releases may relax some or all of these constraints. + +![screenshot of solitarire mid-game](game1.png) + +Building the Kodiak ROM requires a Uxn assembler: ``` -uxnasm kodiak.tal kodiak.rom -uxnemu kodiak.rom +$ uxnasm kodiak.tal kodiak.rom +Assembled kodiak.rom in 10923 bytes(16.73% used), 253 labels, 0 macros. ``` + +Running the Kodiak ROM requires an emulator. For example: + +``` +$ uxnemu kodiak.rom +``` + +![another screenshot of solitaire](game2.png) + +Kodiak was built by d_m, 2023-2024 diff --git a/game1.png b/game1.png new file mode 100644 index 0000000..5bca3cd Binary files /dev/null and b/game1.png differ diff --git a/game2.png b/game2.png new file mode 100644 index 0000000..7aa74dc Binary files /dev/null and b/game2.png differ diff --git a/kodiak.tal b/kodiak.tal index df82e71..58eb7ab 100644 --- a/kodiak.tal +++ b/kodiak.tal @@ -439,8 +439,6 @@ @inc-unless-empty ( zp^ -> zp1^ ) LDZk #00 EQU JMP INC JMP2r -@release-held-cards-column ( col -> ) - @release ( -> ) clear-prev-hold ( ) try-release-foundation ?&done ( ) @@ -450,7 +448,6 @@ INC LTHk #00 EQU ?&loop POP2 ( ) &done .dragging #05 initialize ( ) #0000 .held STZ2 !draw ( ) - &ok ( ) .held LDZ2 SWP LITr 00 ( last^ first^ [zero^] ) &loop2 STHkr OVR STZ ( last^ pos^ [zero^] ; pos<-zero ) INC LTHk #00 EQU ?&loop2 ( last^ pos+1^ [zero^] ) diff --git a/start.png b/start.png index 5155be4..df3c58e 100644 Binary files a/start.png and b/start.png differ