ItsDrike
30e935b7ce
Remove left-over (fixed) bug comment
2024-12-05 02:24:55 +01:00
ItsDrike
c710d0d1b3
Move source code to src/ dir
2024-12-05 01:59:15 +01:00
ItsDrike
8388a45d74
Track qml files in qrc
2024-12-05 01:47:24 +01:00
ItsDrike
a49140512f
Make a more generic generate_qrc script
2024-12-05 01:28:46 +01:00
ItsDrike
becb9e629d
Define CMAKE_CXX_STANDARD
2024-12-05 01:28:01 +01:00
ItsDrike
4c0437c90c
Clean up gitignore
2024-12-05 01:27:43 +01:00
ItsDrike
529753b078
Fix qmlls & clang LSP issues
...
This makes cmake export the qmlls.ini settings for qmlls (lang server),
which makes it aware of the C++ components used in the project. By
default, qmlls wasn't able to find these as they lived in a separate
build dir which it didn't know about.
Additionally, this also enables exporting compile commands to provide
better support for other editors that rely on these. Note that the
compile_commands.json will still only be exported into the build dir
though, so to make use of this, you'll probably want to symlink this
from the build dir.
2024-12-05 01:27:27 +01:00
ItsDrike
cb75fde6d7
Move all qml files to qml/ dir
2024-12-05 01:22:18 +01:00
ItsDrike
26561ec350
Improve board design slightly
2024-12-04 20:34:29 +01:00
ItsDrike
72c4e64782
Add proper board cleanup logic
...
There totally weren't any memory leaks before
2024-12-04 20:34:03 +01:00
ItsDrike
7d4d139a97
Remove unnecessary spacer item
2024-12-04 19:26:32 +01:00
ItsDrike
bbf1cd2eaa
Move FoundationPiles to it's own file
2024-12-04 19:26:16 +01:00
ItsDrike
44318ac5ac
Move DrawPile to it's own file
2024-12-04 19:22:20 +01:00
ItsDrike
981d724ee4
Move ThrowawayPile to it's own file
2024-12-04 19:20:06 +01:00
ItsDrike
5dd95b1a65
Separate Tableau to it's own file
2024-12-04 19:19:39 +01:00
ItsDrike
0364ae6b9e
Render a blank card if draw pile is empty
2024-12-04 19:15:27 +01:00
ItsDrike
12676e36b7
Remove unnecessary Solitare pkg QML import
2024-12-04 19:15:10 +01:00
ItsDrike
048054be13
Render a blank slot for empty column
2024-12-04 19:08:02 +01:00
ItsDrike
a381288413
Manually connect the foundationChanged signal to slot
...
For some reason, the automatic signal-slot connection based on naming
doesn't work, call connect manually from the constructor instead.
2024-12-04 19:07:14 +01:00
ItsDrike
492f8cfec4
Add a quick function to set up a winning deck
2024-12-04 19:06:50 +01:00
ItsDrike
aa611b81ed
Don't pre-draw cards
2024-12-04 18:04:19 +01:00
ItsDrike
548d36a358
clean up ensureColumnRevealed method
2024-12-04 18:03:06 +01:00
ItsDrike
5696e244f2
bug: fix col auto-move for multiple cards
2024-12-04 18:02:02 +01:00
ItsDrike
9b4c43d603
bug: QList has a copy constructor, use references
2024-12-04 18:00:45 +01:00
ItsDrike
986c2ce2be
Add support for making moves from QML
2024-12-04 00:05:29 +01:00
ItsDrike
4dbcd700c0
Rework various gamestate methods
2024-12-04 00:04:35 +01:00
ItsDrike
4ea9a04836
Add green background
2024-12-03 20:19:13 +01:00
ItsDrike
f7d29ed4dc
Use Item instead of Row class for firstRow
2024-12-03 15:48:52 +01:00
ItsDrike
3acfe3e093
Turn GameState into QML singleton
2024-12-03 15:32:30 +01:00
ItsDrike
f82b176f55
Add several debug logs to gamestate
2024-12-03 15:14:27 +01:00
ItsDrike
d97cccfdf0
bug: work with last column slot, not first
2024-12-03 15:13:39 +01:00
ItsDrike
dd19000089
bugfix: show the top card in foundation
2024-12-03 15:08:00 +01:00
ItsDrike
883d766dc3
Register QObject classes as QML elements via macros
...
Using manual registration with qmlRegisterType (or
qmlRegisterUncreatableType) isn't ideal, because Qt Creator can't pick
up on it. When using the macros, autocompletion & unknown type warnings
in the code disappear.
2024-12-03 15:05:30 +01:00
ItsDrike
629676428f
Fix some bugs in gamestate
2024-12-03 02:15:49 +01:00
ItsDrike
69c3b43834
Add logic for auto-moves
2024-12-03 01:55:54 +01:00
ItsDrike
c47f973873
Extract logic to check if move to column is legal
2024-12-03 01:54:01 +01:00
ItsDrike
408457e7ce
Log warnings in certain unexpected branches
2024-12-03 01:51:11 +01:00
ItsDrike
a1d676779d
Keep track of gameWon state
2024-12-03 01:33:12 +01:00
ItsDrike
b558a3396e
Fix signal naming
2024-12-03 00:33:22 +01:00
ItsDrike
c35dd9e56e
Store column property to avoid repetition
2024-12-03 00:23:49 +01:00
ItsDrike
3160ad6cc4
Make cardModel clickable
2024-12-02 19:30:47 +01:00
ItsDrike
2b58dc25fa
Render the columns in QML
2024-12-02 19:00:15 +01:00
ItsDrike
48f84bb528
Store revealed state for the columns
2024-12-02 16:10:51 +01:00
ItsDrike
730b92fa65
Add first row, with foundation,throwaway & draw piles
2024-12-02 15:35:37 +01:00
ItsDrike
0b65ce5d56
Add basic GameState class
2024-12-01 22:40:42 +01:00
ItsDrike
6ad3fe5bba
Make isFaceDown visual property only (pure QML)
2024-12-01 22:36:01 +01:00
ItsDrike
868699979d
Improve PlayingCard class
...
- Move to using enums to represent the suit & value
- This changes the badly named color to more appropriate suit.
- Add createDeck static method
2024-12-01 21:17:45 +01:00
ItsDrike
e3242b71e9
Manage playing cards from C++ only
2024-12-01 19:43:49 +01:00
ItsDrike
bfa876f87f
Add script to build the project manually
2024-12-01 01:10:43 +01:00
ItsDrike
9762d7d566
Add support for face down cards
2024-12-01 01:10:27 +01:00