88 lines
2.6 KiB
Markdown
88 lines
2.6 KiB
Markdown
# 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)
|
|
|
|
## controls
|
|
|
|
- Use the mouse to move the pointer
|
|
- Click to pick up cards; release to drop them
|
|
- Press *Esc* to restart the game
|
|
- Press *Return* to print internal game state
|
|
- Press *Space* to automatically move "safe" cards to the foundation
|
|
|
|
## details
|
|
|
|
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 on-screen buttons to restart or quit
|
|
- No options
|
|
|
|
Future releases may relax some or all of these constraints.
|
|
|
|
![screenshot of solitarire mid-game](game1.png)
|
|
|
|
## building and running
|
|
|
|
Building the Kodiak ROM requires a Uxn assembler:
|
|
|
|
```
|
|
$ 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
|
|
```
|
|
|
|
## infrequently-asked questions
|
|
|
|
**Is dragging cards buggy?**
|
|
|
|
Previous versions of the game had you click once to pick up a card and
|
|
pick up again to release. This doesn't work very well with touch
|
|
screens so it was changed to a more normal click to hold, release to
|
|
drop.
|
|
|
|
**Is this harder than other solitaire games?**
|
|
|
|
Probably, yes. In addition to not having an "undo" feature, Kodiak
|
|
does not check to see if a solitaire deal is winnable or not, meaning
|
|
that some games would probably be impossible to win no matter how you
|
|
played them.
|
|
|
|
**Can I make the game bigger?**
|
|
|
|
Many emulators support a zoom option. For example, `uxnemu` and
|
|
`uxn11` both use the F1 key to toggle zoom levels.
|
|
|
|
The game size is intentionally small to support older platforms with
|
|
lower screen resolution, such as the Nintendo DS.
|
|
|
|
**I won the game and the cards didn't bounce!**
|
|
|
|
That isn't a question. (Also, sorry!)
|
|
|
|
**Why did a bunch of weird numbers appeared in the console?**
|
|
|
|
Currently hitting *Return* will dump the internal state of the game for debugging purposes. This produces a lot of output but doesn't otherwise affect the game.
|
|
|
|
**Will you add support for my preferred solitaire variant?**
|
|
|
|
Probably not, but maybe.
|
|
|
|
I am considering adding support for [Sawayama Solitaire](https://zachtronics.fandom.com/wiki/Sawayama_Solitaire). Depending on how that goes I may add support for other variants as well.
|
|
|
|
![another screenshot of solitaire](game2.png)
|
|
|
|
Kodiak was built by [d_m](http://plastic-idolatry.com/erik), 2023-2024
|