M src/assets.tal => src/assets.tal +1 -1
@@ 121,7 121,7 @@
118c 9c9c 9c9c 9c21 118c 9c9c 9c9c 9c21
-@nametable
+@graphics
8182 8282 8283 8542 8686 8687 8552 8686 8687 85e8 e4e5 e987 85ec e0e1 ed87 85f8 f5f6 fb87 8586 f9fa 8687 85fc fdfe ff87 89ee ebea ef8b ( heart1 )
8182 8282 8283 8542 8686 8687 8546 8686 8687 8586 8686 8687 8586 4286 8687 8586 8642 8687 8586 8686 8687 8586 8686 8687 898a 8a8a 8a8b ( heart2 )
8182 8282 8283 8542 8686 8687 8547 8686 8687 8586 8686 8687 8586 4286 8687 8586 8642 8687 8586 4286 8687 8586 8686 8687 898a 8a8a 8a8b ( heart3 )
M src/main.tal => src/main.tal +64 -8
@@ 48,7 48,11 @@
@player
&hp $1 &sp $1 &sp-max $1 &xp $1
&run $1 &sick $1
-
+@table
+ &a $1 &b $1 &c $1 &d $1
+@deck
+ &length $1
+ &cards $36
@selection $1
@cursor
&x $2 &y $2 &last $1
@@ 85,7 89,7 @@
#0a .player/sp STZ
#0b .player/xp STZ
- ;redraw JSR2
+ ;start-game JSR2
BRK
@@ 119,6 123,58 @@ BRK
BRK
+( core )
+
+@start-game ( -- )
+
+ ( reset player )
+ #15 .player/hp STZ
+ #0000 .player/sp STZ2
+ #00 .player/xp STZ
+
+ ( start deck )
+ ;init-deck JSR2
+ ;shuffle-deck JSR2
+ ;pull-card JSR2 #00 ;put-card JSR2
+ ;pull-card JSR2 #01 ;put-card JSR2
+ ;pull-card JSR2 #02 ;put-card JSR2
+ ;pull-card JSR2 #03 ;put-card JSR2
+
+ ;redraw JSR2
+
+RTN
+
+@init-deck ( -- )
+
+ #3600
+ &loop
+ DUP DUP .deck/cards + STZ
+ INC GTHk ,&loop JCN
+ POP2
+
+RTN
+
+@shuffle-deck ( -- )
+
+RTN
+
+@pull-card ( -- card )
+
+ #20
+
+RTN
+
+@put-card ( card id -- )
+
+ .table + STZ
+ ;draw-table JSR2
+
+RTN
+
+@return-card ( -- )
+
+RTN
+
@select ( id state -- )
SWP
@@ 147,19 203,19 @@ RTN
.frame/x LDZ2
.frame/y LDZ2 #0030 ++
- #00 ;draw-card JSR2
+ .table/a LDZ ;draw-card JSR2
.frame/x LDZ2 #0038 ++
.frame/y LDZ2 #0030 ++
- #21 ;draw-card JSR2
+ .table/b LDZ ;draw-card JSR2
.frame/x LDZ2 #0070 ++
.frame/y LDZ2 #0030 ++
- #13 ;draw-card JSR2
+ .table/c LDZ ;draw-card JSR2
.frame/x LDZ2 #00a8 ++
.frame/y LDZ2 #0030 ++
- #36 ;draw-card JSR2
+ .table/d LDZ ;draw-card JSR2
.frame/x LDZ2
.frame/y LDZ2 #0088 ++
@@ 193,7 249,7 @@ RTN
.Screen/x DEO2
STHr
( get card nametable )
- TOS #0036 ** ;nametable ++ STH2
+ TOS #0036 ** ;graphics ++ STH2
( auto x ) #01 .Screen/auto DEO
#3600
&loop
@@ 327,7 383,7 @@ RTN
@get-card-name ( card -- name* )
- POP ;deck LDA2
+ POP ;card-names LDA2
RTN
M src/strings.tal => src/strings.tal +1 -1
@@ 60,7 60,7 @@
&j01 "Red_Donsol_21 $1
&j02 "Black_Donsol_21 $1
-@deck
+@card-names
:cards/h01 :cards/h02 :cards/h03 :cards/h04 :cards/h05
:cards/h06 :cards/h07 :cards/h08 :cards/h09 :cards/h0a
:cards/h0b :cards/h0c :cards/h0d