Commit graph

39 commits

Author SHA1 Message Date
wi11-holdsworth
17587190a5 refactor: idiomatic best-practices 2025-10-08 15:54:14 +11:00
wi11-holdsworth
e16c6bbf7d refactor: remove unused restriction in allChords generation 2025-10-08 15:25:33 +11:00
wi11-holdsworth
b8f85fbbcf feat: change the initialguess based on average metrics derived from the testing branch 2025-10-08 15:11:38 +11:00
wi11-holdsworth
46ece35fde feat: slightly better first guess, more spread out, still vibes based 2025-10-07 19:35:26 +11:00
wi11-holdsworth
9cf2fd5960 refactor: remove unneeded bound on allChords, already bound via < 2025-10-07 19:35:06 +11:00
wi11-holdsworth
6bdd553610 refactor: use pointwise definition for pairwiseMatches as a more idiomatic solution 2025-10-07 19:34:37 +11:00
wi11-holdsworth
1d3b9b913d style: shrink lines >80 characters 2025-10-07 19:34:17 +11:00
wi11-holdsworth
0ce98af868 refactor: fully qualify Set module for clarity 2025-10-07 19:34:17 +11:00
wi11-holdsworth
136ba9d1d5 fix: use average instead of max as evaluation function as it gives a slightly more efficient algorithm 2025-10-07 19:34:17 +11:00
wi11-holdsworth
8f07d1a83c feat: reduce the size of the search space by acknowledging that there are <=10 distinct feedbacks vs 1330 targets 2025-10-07 15:20:04 +11:00
wi11-holdsworth
91a65cdb60 feat: initial minimax implementation (quite slow!) 2025-10-03 12:58:05 +10:00
wi11-holdsworth
ede394ac39 feat: use a "vibes-based" best first guess, to be replaced with a more optimal guess later 2025-10-02 11:34:04 +10:00
wi11-holdsworth
5969470a70 feat: implement nextGuess with a more complex strategy
possible guesses are now consistent with previously received feedback
2025-10-02 11:34:04 +10:00
wi11-holdsworth
bca6ee723d docs: comment helper functions 2025-10-01 14:45:36 +10:00
wi11-holdsworth
1d86b09e0f refactor: move matches function up to top of block to improve readability and inline functions in allChords for clarity 2025-10-01 14:45:36 +10:00
wi11-holdsworth
de3a7abafe refactor: inline functions in feedback for clarity 2025-10-01 14:45:36 +10:00
wi11-holdsworth
96b7053c5d docs: comment data structures 2025-10-01 14:45:36 +10:00
wi11-holdsworth
0b87d62ba0 refactor: reorder data structures for better readability 2025-10-01 14:44:33 +10:00
wi11-holdsworth
df8bd3290f docs: format section comments nicely 2025-10-01 14:44:33 +10:00
wi11-holdsworth
3a11e7132f docs: add longer explanation assuming user is not familiar with the project 2025-10-01 14:44:33 +10:00
wi11-holdsworth
80314a3a01 docs: add oneliner comment 2025-10-01 14:21:23 +10:00
wi11-holdsworth
1ed43872c4 docs: add signature comment 2025-10-01 14:21:23 +10:00
wi11-holdsworth
21afd9c218 docs: add nextGuess optimisation hints to readme 2025-10-01 14:20:03 +10:00
wi11-holdsworth
efc8ac3116 fix: nextguess was not implemented to account for duplicate notes/octaves 2025-10-01 12:51:55 +10:00
wi11-holdsworth
e9710a5bf8 refactor: improve flow of file by ordering functions better 2025-09-25 11:52:37 +10:00
wi11-holdsworth
e26b60a9ed feat: implement nextGuess with a basic strategy: guess every possible chord 2025-09-25 11:49:25 +10:00
wi11-holdsworth
4618e32d77 feat: generate all possible chords and initialise gameState as all chords 2025-09-25 11:49:00 +10:00
wi11-holdsworth
d8dbc1c86c feat: implement initialGuess 2025-09-25 11:15:42 +10:00
wi11-holdsworth
7b98957f63 build: build artifacts not being placed in build directory 2025-09-25 11:15:21 +10:00
wi11-holdsworth
4ecd8803af fix: prompt was not visible outside interactive mode, flush stdout so it's visible 2025-09-25 11:15:07 +10:00
wi11-holdsworth
c8079cb914 feat: implement gamestate type 2025-09-24 14:54:29 +10:00
wi11-holdsworth
d3aa836a8f feat: implement feedback 2025-09-24 14:54:13 +10:00
wi11-holdsworth
00e2dae6c1 feat: implement toPitch 2025-09-24 14:53:50 +10:00
wi11-holdsworth
9419d0d25b feat: improve pitch datatype with sub-types for notes and octaves 2025-09-24 14:53:42 +10:00
wi11-holdsworth
6f600ff149 refactor: mark guess functions for implementation 2025-09-24 14:52:23 +10:00
wi11-holdsworth
3654485f23 style: format code 2025-09-24 12:19:57 +10:00
wi11-holdsworth
f49eba9676 build: create just file for building and running 2025-09-24 12:19:57 +10:00
wi11-holdsworth
c3c7851320 build: flake template from the-nix-way 2025-09-24 12:19:57 +10:00
Will
6ece1fe6bc build: initial commit 2025-09-24 12:19:57 +10:00