From 996e0ce8fc0285194b6522c82c0d6e91fbb1dc2d Mon Sep 17 00:00:00 2001 From: Isaac Date: Mon, 26 Aug 2024 21:03:25 -0700 Subject: [PATCH] Main Menu + New Run --- src/App.tsx | 162 ++++++++++++++++--------------- src/Constants.ts | 45 ++++++--- src/GameState.ts | 27 +++--- src/assets/decks/Abandoned.png | Bin 0 -> 5422 bytes src/assets/decks/Anaglyph.png | Bin 0 -> 1348 bytes src/assets/decks/Black.png | Bin 0 -> 3264 bytes src/assets/decks/Blue.png | Bin 0 -> 3258 bytes src/assets/decks/Checkered.png | Bin 0 -> 1576 bytes src/assets/decks/Erratic.png | Bin 1042 -> 2234 bytes src/assets/decks/Ghost.png | Bin 0 -> 3845 bytes src/assets/decks/Green.png | Bin 0 -> 3262 bytes src/assets/decks/Magic.png | Bin 0 -> 6107 bytes src/assets/decks/Nebula.png | Bin 0 -> 4362 bytes src/assets/decks/Painted.png | Bin 0 -> 3989 bytes src/assets/decks/Plasma.png | Bin 0 -> 7475 bytes src/assets/decks/Red.png | Bin 1974 -> 3264 bytes src/assets/decks/Yellow.png | Bin 0 -> 3275 bytes src/assets/decks/Zodiac.png | Bin 0 -> 3013 bytes src/assets/logo.png | Bin 0 -> 26877 bytes src/components/Blind.css | 1 + src/components/Card.css | 5 +- src/components/Consumable.css | 1 + src/components/Deck.css | 1 + src/components/DeckMenu.css | 12 ++- src/components/Hand.css | 2 + src/components/InfoPanel.css | 1 + src/components/Joker.css | 1 + src/components/MainMenu.css | 25 +++++ src/components/MainMenu.tsx | 18 ++++ src/components/Options.tsx | 20 ++-- src/components/PlayMenu.css | 170 +++++++++++++++++++++++++++++++++ src/components/PlayMenu.tsx | 88 +++++++++++++++++ src/components/Round.css | 1 + src/components/RunInfo.css | 3 +- src/components/Shop.css | 1 + src/index.css | 3 +- 36 files changed, 467 insertions(+), 120 deletions(-) create mode 100644 src/assets/decks/Abandoned.png create mode 100644 src/assets/decks/Anaglyph.png create mode 100644 src/assets/decks/Black.png create mode 100644 src/assets/decks/Blue.png create mode 100644 src/assets/decks/Checkered.png create mode 100644 src/assets/decks/Ghost.png create mode 100644 src/assets/decks/Green.png create mode 100644 src/assets/decks/Magic.png create mode 100644 src/assets/decks/Nebula.png create mode 100644 src/assets/decks/Painted.png create mode 100644 src/assets/decks/Plasma.png create mode 100644 src/assets/decks/Yellow.png create mode 100644 src/assets/decks/Zodiac.png create mode 100644 src/assets/logo.png create mode 100644 src/components/MainMenu.css create mode 100644 src/components/MainMenu.tsx create mode 100644 src/components/PlayMenu.css create mode 100644 src/components/PlayMenu.tsx diff --git a/src/App.tsx b/src/App.tsx index 6e797cf..0c8e7e8 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -11,20 +11,16 @@ import { InfoPanel } from './components/InfoPanel' import { Joker } from './components/Joker' import { Round } from './components/Round' import { Shop } from './components/Shop' -import { Blinds, Consumables, DeckType } from './Constants' +import { Blinds } from './Constants' import { gameReducer, GameStateContext, initialGameState } from './GameState' import { cardSnap } from './Utilities' +import { MainMenu } from './components/MainMenu' export default function App() { const [ game, dispatch ] = useReducer(gameReducer, initialGameState) const gameRef = useRef(game) gameRef.current = game - useEffect(() => { - dispatch({type: 'init', payload: {deck: DeckType.Red }}) - dispatch({type: 'addCard', payload: {cardLocation: 'consumables', card: Consumables[41]}}) - }, []) - useEffect(() => { document.addEventListener('keydown', handleKeys) @@ -53,91 +49,93 @@ export default function App() { return ( -
- -
-
-
-
- - {game.jokers.map(j => - - )} -
-
{`${game.jokers.length}/${game.stats.jokerSize}`}
-
-
-
- - {game.cards.consumables.map(c => ( - - ))} -
-
{`${game.cards.consumables.length}/${game.stats.consumableSize}`}
+ {game.state === 'main-menu' ? : +
+ -
-
- {game.state === 'blind-select' && <> -
- - - -
- } - {game.state === 'scoring' && <> -
- {game.cards.submitted.map(c => )} +
+
+
+
+ + {game.jokers.map(j => + + )}
-
- +
{`${game.jokers.length}/${game.stats.jokerSize}`}
+
+
+
+ + {game.cards.consumables.map(c => ( + + ))}
- } - {game.state === 'post-scoring' && <> -
-
-
-
{ - dispatch({type: 'state', payload: { - state: 'shop', - amount: reward, - }}) - }}>{`Cash Out: $${reward}`}
- -
{'. '.repeat(49)}
- {game.stats.hands > 0 && -
-
{game.stats.hands}
-
{'Remaining Hands \[$1 each\]'}
-
{'$'.repeat(game.stats.hands)}
-
- } - {game.stats.money > 4 && -
-
{Math.min(Math.floor(game.stats.money / 5), 5)}
-
{'1 interest per $5 \[5 max\]'}
-
{'$'.repeat(Math.min(Math.floor(game.stats.money / 5), 5))}
-
- } +
{`${game.cards.consumables.length}/${game.stats.consumableSize}`}
+
+
+
+
+ {game.state === 'blind-select' && <> +
+ + + +
+ } + {game.state === 'scoring' && <> +
+ {game.cards.submitted.map(c => )} +
+
+ +
+ } + {game.state === 'post-scoring' && <> +
+
+
+
{ + dispatch({type: 'state', payload: { + state: 'shop', + amount: reward, + }}) + }}>{`Cash Out: $${reward}`}
+ +
{'. '.repeat(49)}
+ {game.stats.hands > 0 && +
+
{game.stats.hands}
+
{'Remaining Hands \[$1 each\]'}
+
{'$'.repeat(game.stats.hands)}
+
+ } + {game.stats.money > 4 && +
+
{Math.min(Math.floor(game.stats.money / 5), 5)}
+
{'1 interest per $5 \[5 max\]'}
+
{'$'.repeat(Math.min(Math.floor(game.stats.money / 5), 5))}
+
+ } +
-
- } - {game.state === 'shop' && } + } + {game.state === 'shop' && } +
+
-
-
+ } ) } diff --git a/src/Constants.ts b/src/Constants.ts index a77abc1..993b068 100644 --- a/src/Constants.ts +++ b/src/Constants.ts @@ -1,5 +1,24 @@ export enum DeckType { Abandoned, Anaglyph, Black, Blue, Challenge, Checkered, Erratic, Ghost, Green, Magic, Nebula, Painted, Plasma, Red, Yellow, Zodiac } +export const deckInfo: {[D in keyof typeof DeckType]: string} = { + Abandoned: 'Start run with\n no/ {orange}Face Cards\n in your deck', + Anaglyph: '', + Black: '{orange}+1/ Joker slot\n {blue}-1/ hand\n every round', + Blue: '{blue}+1/ hand\n every round', + Challenge: '', + Checkered: 'Start run with\n {orange}26/ {dark-purple}Spades/ and\n {orange}26/ {red}Hearts/ in deck', + Erratic: 'All Ranks and\n Suits in deck\n are randomized', + Ghost: '{indigo}Spectral/ cards may\n appear in the shop,\n start with a/ {indigo}Hex/ card', + Green: 'At end of each Round:\n {yellow}$2/ {small black}per remaining/ {blue}Hand\n {yellow}$1/ {small black}per remaining/ {red}Discard\n Earn no/ {orange}Interest', + Magic: 'Start run with the\n {purple}Crystal Ball/ voucher\n and/ {orange}2/ copies\n of/ {purple}The Fool', + Nebula: 'Start run with the\n {aqua}Telescope/ voucher\n {red}-1/ consumable slot', + Painted: '{orange}+2/ Hand Size,\n {orange}-1/ Joker Slot', + Plasma: '', + Red: '{red}+1/ discard\n every round', + Yellow: 'Start with\n extra/ {yellow}$10', + Zodiac: 'Start run with\n {purple}Tarot Merchant/,\n {aqua}Planet Merchant/,\n and {orange}Overstock' +} + export enum Suit { Spades, Hearts, Clubs, Diamonds } export enum Rank { Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace } export enum Edition { Foil, Holographic, Negative, Polychrome } @@ -15,22 +34,22 @@ export const editionInfo: {[E in keyof typeof Edition]: string} = { } export const enhancementInfo: {[E in keyof typeof Enhancement]: string} = { - Base: "", - Bonus: "{blue}+30/ extra chips", - Glass: "{red-invert}X2/ Mult\n{green}1 in 4/ chance\nto destroy card", - Gold: "{yellow}+$3/ if this\ncard is held in hand\nat end of round", - Lucky: "{green}1 in 5/ chance\nfor /{red}+20/ Mult\n{green}1 in 15/ chance\nto win /{yellow}$20", - Mult: "{red}+4/ Mult", - Steel: "{red-invert}X1.5/ Mult\nwhile this card\nstays in hand", - Stone: "{blue}+50/ Chips\nno rank or suit", - Wild: "Can be used\nas any suit" + Base: '', + Bonus: '{blue}+30/ extra chips', + Glass: '{red-invert}X2/ Mult\n{green}1 in 4/ chance\nto destroy card', + Gold: '{yellow}+$3/ if this\ncard is held in hand\nat end of round', + Lucky: '{green}1 in 5/ chance\nfor /{red}+20/ Mult\n{green}1 in 15/ chance\nto win /{yellow}$20', + Mult: '{red}+4/ Mult', + Steel: '{red-invert}X1.5/ Mult\nwhile this card\nstays in hand', + Stone: '{blue}+50/ Chips\nno rank or suit', + Wild: 'Can be used\nas any suit' } export const sealInfo: {[S in keyof typeof Seal]: string} = { - Blue: "Creates the/{aqua}Planet/card\nfor final played/{orange}poker hand\nof round if/{orange}held/in hand\n{grey}(Must have room)", - Gold: "Earn/{yellow}$3/when this\ncard is played\nand scores", - Purple: "Creates a/{purple}Tarot/card\nwhen/{orange}discarded\n{grey}(Must have room)", - Red: "Retrigger this\ncard/{orange}1/time" + Blue: 'Creates the/{aqua}Planet/card\nfor final played/{orange}poker hand\nof round if/{orange}held/in hand\n{grey}(Must have room)', + Gold: 'Earn/{yellow}$3/when this\ncard is played\nand scores', + Purple: 'Creates a/{purple}Tarot/card\nwhen/{orange}discarded\n{grey}(Must have room)', + Red: 'Retrigger this\ncard/{orange}1/time' } export const rankChips: {[R in keyof typeof Rank]: number} = { diff --git a/src/GameState.ts b/src/GameState.ts index 09ddc49..6f38a9d 100644 --- a/src/GameState.ts +++ b/src/GameState.ts @@ -5,8 +5,7 @@ import { CardInfo } from "./components/CardInfo" import { Activation, JokerInstance, JokerType } from "./components/JokerInfo" import Rand from "rand-seed" -export const seed = (Math.random() + 1).toString(36).toUpperCase().slice(2) -export const Random = new Rand(seed) +export let Random: Rand = new Rand() export const levelHand = ({ hand, n = 1 }: {hand: keyof typeof handLevels, n?: number}) => { handLevels[hand].level += n @@ -14,10 +13,12 @@ export const levelHand = ({ hand, n = 1 }: {hand: keyof typeof handLevels, n?: n handLevels[hand].mult += handUpgrade[hand].mult * n } -type GameStates = 'blind-select' | 'scoring' | 'post-scoring' | 'shop' +type GameStates = 'main-menu' | 'blind-select' | 'scoring' | 'post-scoring' | 'shop' export type GameState = { state: GameStates + seed: string + seeded: boolean stats: { handSize: number @@ -96,7 +97,8 @@ export type GameAction = { 'setLastUsedConsumable' | 'updateJokers' | 'addJoker' | 'removeJoker' | 'shop-select' | 'shop-remove' | 'reroll' payload?: { - deck?: DeckType, + deck?: DeckType + seed?: string state?: GameStates @@ -113,7 +115,9 @@ export type GameAction = { } export const initialGameState: GameState = { - state: 'shop' as GameStates, + state: 'main-menu' as GameStates, + seed: '', + seeded: false, stats: { handSize: 8, @@ -134,8 +138,8 @@ export const initialGameState: GameState = { offers: [], weights: { Joker: 20, - Tarot: 0, - Planet: 1, + Tarot: 4, + Planet: 4, Card: 0, Spectral: 0 } @@ -192,16 +196,13 @@ export const gameReducer = (state: GameState, action: GameAction): GameState => case DeckType.Erratic: next.stats.deck = DeckType.Erratic for(let i = 1; i <= 52; i++) { - let rank = Rank[ranks[Math.floor(Random.next()*ranks.length)*0+4]] + let rank = Rank[ranks[Math.floor(Random.next()*ranks.length)]] arr.push( { id: i, suit: Suit[suits[Math.floor(Random.next()*suits.length)]], rank: rank, chips: rankChips[rank], - edition: Edition.Polychrome, - enhancement: (Random.next() < .9 ? Enhancement.Steel : Enhancement.Glass), - seal: Seal.Red, deck: DeckType.Erratic } ) @@ -220,7 +221,10 @@ export const gameReducer = (state: GameState, action: GameAction): GameState => ) })}) } + next = initialGameState next = {...next, + seed: action.payload?.seed ?? (Math.random() + 1).toString(36).toUpperCase().slice(2), + seeded: action.payload?.seed !== undefined, blind: {...state.blind, boss: boss_roll(state.stats.ante), base: ante_base(state.stats.ante) @@ -230,6 +234,7 @@ export const gameReducer = (state: GameState, action: GameAction): GameState => deck: arr } } + Random = new Rand(next.seed) break case 'state': next = {...next, diff --git a/src/assets/decks/Abandoned.png b/src/assets/decks/Abandoned.png new file mode 100644 index 0000000000000000000000000000000000000000..8753d835cade7d79ec1fe88e26a56311e4636cd2 GIT binary patch literal 5422 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 OiH4U=b*r?UiT?vkcCOw4 literal 0 HcmV?d00001 diff --git a/src/assets/decks/Anaglyph.png b/src/assets/decks/Anaglyph.png new file mode 100644 index 0000000000000000000000000000000000000000..bf9ec531ae0205e9a6b0ce87753888ced11dff63 GIT binary patch literal 1348 zcmeAS@N?(olHy`uVBq!ia0vp^u0R~i!3HEhbF97(q*&4&eH|GXHuiJ>Nn{1`6_P!I zd>I(3)EF2VS{N990fib~Fff!FFfhDIU|_JC!N4G1FlSew4NxK=HNrE^*Ox&H$mU>R zViaOv2C^7|kfA-3fd$NFU;vr~1k4K<5wZ)I;Igg@nBnYLkV1=~%Yr~dA~QoGN+NuH ztdjF{^%7I^lT!66atlBT7;Gx6fXv*~l0=1y+?>2(s|s5sunH?68zii+qySb@l5MLL z;TxdfoL`ixV5VoFXP{)qrJ$f-QP|K%!RuMVYBUn?dH=8QOqVqKHB5vC#)v zj^r4KPr;%(T zmX!R!fJcUj?TDrY=LSOswHA%igL{tb$dxmx&zYwj>iOrA)xSULQ{%YuZM;sUL`{0P zVAkWzhYjhyiiZ;fVua_IzH_-NDB(TT$FFbq>V|8NkBS~Rog}_H`sY_4%?yQ~A-BHD z%`3kDx>Ef9ZA*K(jZyRB;vNd$xOeBrL*w96{i~TxXEZovEnJkk)-}$@Aye>&()_dq z5kcLO8r??i`_j0&M7PdpY6?4IQ~zv1L_oKt#^+7#TV}UhiqchEs1UmFrxEwkrBP>` zE*f=gn%Q>AOLy7A1ydCN&S<~nr2A~)2_2$qZp#_0qDPD?*0ulIk}O9_Z{@l0Wy za^=sx+poXh{P25m-qZC`0pCxm8XFrtd+;vDtb4DfOx@DUN)CU#-qzkSSX!{`x6ir~ zor4b-X|8zxsmbx7=k;}_4tw@^J=_s($1-*L1)~E+l~eV!Ii}3=PM4I}bx)j+#p~n| z!DJJQS@GKgyrxeO+tQ+Zd`GJi^H1M;xjBx`i4$1Vb+0bmaxdj_g7@vK3#a%UxwNBU zQHt_{1q-j-@z49NKeZq%nQN(rOsvz&l|o5R_`Grz-YrmQ5D*dn9voo6!6AA%;DUkO z#E_Ox)7L)^Gg#%E$X@&EnnA_7v(x)U1$bIssRigXWiTDJ;*b#WS6Jora6kK#$7iq1 zoc?Y8cagRSst+brerx(9&zLbGM5DH8y8FZ$mz9>ElTI(tX;x&c;N0}y##rOevxO|@ zKc2dE_pgYgLvNi!;0iVo7Lj}Xm*Pb<>wITBX?j&Lc>zOSV_5){;^ON1zW!+dmzQRj zeE70}u1V_}npz%JZsuL8Fm=(7B9M<(uHriSdS8%e*CZD4Wetm#XfD{&@Tf4JbE$?` zpg+g|!<8F^vNvi5cl}xa;OP7yiwmzd9)DtT*r2POv!mtMVHOsFcXjslO+23tGTCHs em}<5>{==Xzv2I`V*9DJ3g^Z`GpUXO@geCwGI{S+N literal 0 HcmV?d00001 diff --git a/src/assets/decks/Black.png b/src/assets/decks/Black.png new file mode 100644 index 0000000000000000000000000000000000000000..a2806ff8c783897da66aeee6445cf59e16426e98 GIT binary patch literal 3264 zcmZt|3tZAymu80f+}6W16LPCo8K9_%0wRti$OP|Kl=0u>Sz6UEo}r&{~I-|xHs-~Zlo&pG#;d+xdSob%n`L*8b_ z*2W+Z$ZY>UFF#=11N@;zD}Y{O^xF_HEXVKi*#!dC=9$b#8Uk}@)IL8S5GZ*w2$Xpa z1kwSh%n=YM5di{?MSwtV`5=&GLSf@KXn=6|RN($-A0N;*05$@Bvg~t^0RSxnJ`jTd zTK*0OfdENBGbma1FSX>8kJLRS1|Q*2J)^5%?`MFJAVNSOCD7-fTNE)47I~6*;uMS) zm!M|=p=oXa7VsAKV8$Xt-Yae{JTyrSGtSsaRt){Nu4pP>2 zhXNddmWl{(9hntE@;btAE$AM#gEL~&Uv~}L{n}92ikPn^?o`)hY|5CM^APt#`WNQH zm*yvt)H(m51;6y^Qj&v*bX1j2-I@l4Ode?_b3M4V$FvIq*3iPl==zZJ!UvPQfl&+m zq7`29QU-s>@R}L8wjltP#nKI=u&FQ3D3~P26rOi7>`N;T5>u#b)-dlpu$eD=J}~;k zK-F+&#v^25;v|*bdUajUfs8G=2~DiqsT>8XshXPD^+lxmJeMBm*WOQ@g)lWgm>eNMaGdQ7iE7AP2l0_-4T#=*5u!cnY)e77r75|Q|2QA&jayulF8 z3ULjwzjvpZUv02Bzq!6)xG6Q$d4_MOFr5))hd`7!3xKVyL9Rh3?)bjDUOvUn{`o*l zokSVs@_Y9xQ?qOH{(u7*DK1=lx4XQ_w%)9KS4JK;G7&@mJ( zD(G=!^Prnf9izTP@2TPzCSA^99GE7oSlTW)^4g%TsxiE_`?5nKt*5KY2F@e*o zwsL>VrcZX`Mh#A;uZ{7Im9(+QG=x_2?3_?RPjf;Sl6f~A#I_WTYU`x{u%QA$yG7R} zjABBTa=AZ~QQOyDm$3@KDmSD-7GB`*s#*+AD5TY92kaWpZ`68K|enZaYe#)0Se{4&CMvS?5yVU%V3hcJYx5QgK=ms zN@rhAGy~r}Us185tJg|mxoBqJoY?K~V;->2%bgp?`J9XRNE8&_z)z#iT#Mo_ym*Oj z2$h%LouxcJ$9pJkvE*fW3sZ7yHc;KDfD;F8F0rGN6gwR}LN9m~Y$=jSpso0rntAIRy89oqY)?YBj;lg5sUja-B z!u-&n%-`{`y&;yIaLqBSqQ5U$s9gR&$kbUnQoll?7pq6kR;VnS6Cri~4-Rg6tQjL;$aw_mR;@G< zTcsYCK9f0&&z{Rbj>0v5O_UAC7pY5Q5~MFNegmxkJ`<8Vc3LZ8`O^msyv-AV71=YKxs^>dMl^`>p2HOD=s+4V@7dVl+l&!q&V4f2UI7c2it1ZCM^#?# z@SLXs=GTpX1ROgKJOcYPIl{lJD~h8no_^44gW}N#JTG<#oAfuQ!Lr?7(94h>J{hck zS{hWr!TJCi!ZF`Baq-@(bEuN`Rnb^3Mvx<1g?5{CEUWVfcAD|ilw=$vHcoR*LT@2i z?(mtWt81$b9d3h(5NNP#YRuX8tkP20AeM5>IayxA#c2G3UzNzvWl>hn*5q-CE22o` z1!g>QUf?qL_{Lf7RhK!$u`G_FaJx#IzVHIy$fnd}lQPglE_ZH}s!?IagjXNZh@t5%1JML6^{K7=gu8Xxb7T<12ySqqJ z2k1lzv>AQ{TT<0kSW#O9xz(P5leJwa5}eaAmOsL&tiq==D=f^te~~|w;$EMLuE8T) z^l_d9-A4Ns{&!nPwnO`EQ>O&c`7VC@Y5U{&<({5qNpJZ$f+qOtVZ|VMc)E0DJj@l& zs9RCo5W!wHl$@Z*W>YkN z2;O6vi#CsC&yJ`$sidP1yQGHvbcca3LH`+L9w(GjnTw2FW2NZJAkpF4g z9#tM@;WzE~&D~R0;sw8h{pzuzA4*!1!{u7)(jsH!pJogCJ_oU=D)#uSWQq65h4h^3 d;YLHV;gfSIn;u=yA?OSI{d*31Rqu{C`yZ-uMGgP} literal 0 HcmV?d00001 diff --git a/src/assets/decks/Blue.png b/src/assets/decks/Blue.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd388076b8c16bbf7e4a7985a5ee13f23b351a9 GIT binary patch literal 3258 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 literal 0 HcmV?d00001 diff --git a/src/assets/decks/Checkered.png b/src/assets/decks/Checkered.png new file mode 100644 index 0000000000000000000000000000000000000000..6143195f764714c1b79e83aa84a90ea685255dc0 GIT binary patch literal 1576 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 M07*qoM6N<$f@$gjUjP6A diff --git a/src/assets/decks/Ghost.png b/src/assets/decks/Ghost.png new file mode 100644 index 0000000000000000000000000000000000000000..c2cca84cc4475ba9978c795dfd5addc2ded89e4d GIT binary patch literal 3845 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 literal 0 HcmV?d00001 diff --git a/src/assets/decks/Nebula.png b/src/assets/decks/Nebula.png new file mode 100644 index 0000000000000000000000000000000000000000..3997a7ba8aa8f56029663b7e383f895db5d4ddba GIT binary patch literal 4362 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 literal 0 HcmV?d00001 diff --git a/src/assets/decks/Plasma.png b/src/assets/decks/Plasma.png new file mode 100644 index 0000000000000000000000000000000000000000..f3235dabd514f268613c7baf8b5c1b66841e3483 GIT binary patch literal 7475 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 literal 1974 zcmV;n2TAyeP)Px+a7jc#RCr$PUCUD2KoG<~nR7lZ=lrBoxR7gT`Z2ST3DMZxxV$|7 z$PQfaJJ;*=`cwOLxm@1$8y2e2(RmGe_G8sn_t_;YhkZNe+I?c&3Qy|wU`^d z-fl}pIMjU0`r+Jr~0^-hFWXtfnv;a=%5{rp4lB<{!>G+jqszoGO)zUelH ziQr_ST_oUjtM_%0jC!`4Rw$OPRLAZ{(DRg-%i(z5#O)7>i3 z2?f?A-;NtG&B12XH59#0cdI0-j9RWa6+vl(m4b|B?0(nS!$M%nC`?nfjVn=24#yfd zS?7LED#@3L`C)G5oPyD*HYnv8HAzH-(nHiOw&_E1j&ds%&=^Wk2;DWVF7s zyLBq#S<;-&qE25}AY=~6kfbPw2B2K)u!QW+R%v2gv1C+H$+r^~oJ%UrQG+}MIhE6O zVYfL~c+wg~qNDd=$VqOMkj3nC+bGL6>L`KDPQsmKLKWeEYonZ{>>16$zcmV-DFi+C>uEBx_#MJRAb6W7M2(5$Z^RQ%VSO>tU1AF@|ma zkPw(ewL>!p-%1l@^GcMv?xY68^y%Kn4y{s#K#^tcfo|kPHBrrJVF$IWq06*#$YF?Z zNLr;5Qp|-scaC#u9BUiBvQX3R@ErxR(uBDWeunu(#R!IC+;nR6h*n4mcRF|6R?kVA z)3IoW;71K%pU7$c-v<`P)B%&ZREKsB zEniM^Ftk10>g`ADaf%5!EXM!WIVWk3qKe8l>NP_W-|9BWdGLJ3T-N2QwjissP|6ng zeU?fw2RhW$l3I& zBI!g|bC_GQXEWMkTCd1auG~6XF_CkxDQZL2*D3d;l&!?wiGJD#CjC)!l(1F}z^~ba z+!U2VI@B;RSLks^piy(wyN}7#+_j8On7YxmoUL~d%MibdR@hOsfI|=~JUv%YFF7P? zV4|o(Yl~LQt(bkPBAkFT3w3(bF$g8nY9C9@ac8RpZfR(qFnTY)3GC9!ZBBiU z(b;X3*>iH#j*E_HmAI-h1m+rL*BwD;&ti1xY`(5HMh?reZlk z3bT5aX(lxx1Jpi8v{Hw;YM*GO&hA~>olqE!fYnn6lC<-Vz{$%lHbrIW(_)-+Bw_8K zhN1Now@On*^eAmon!#X>s7;7u847i6S96q#GtR19p^(KI5{vbQLs`)Q9{KBhZ@%8B|%m58zb3!7ij*AirxJUa;& zqrRdBHluSyz-D&nGYIY+coLX2*~{*IrqV$|8n<*1dlnP!fWgS1i!S?PmnKsst* zq3THB8iRB~(cYbqm0P6=qkyWg$Hd$0x^~lwAxAZ$GkvxhC-yAaGGSGExYerm zfqU7dIY>LjWhTt*+LUupgr|*3gB&%-rBGI=au8fJU8m@g?(5XFHB^Px_WK-$3}%Py zl$@?}8)eQ>k+!m)%0*bmQghPuyHj)5brEy)T1p<;uPlxzh&_V^J{1DbtYMd1omCh* z2&2!LYwxC&6EBrsr=P0^OrNuQJ=3|il|N#7E}uMN{g#z)cK4`)P!OvyKe7hYx;t`i z4f(;pDddCpy!~YV^Os@}cy903pTBFSG-qqdU7#Py>+iPKKi2;MP;msVt^fc407*qo IM6N<$f~367ApigX diff --git a/src/assets/decks/Yellow.png b/src/assets/decks/Yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3f6ca6982d9a7c4efa3f817ad70ab3f7575236 GIT binary patch literal 3275 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 VDe8@60l#Mi2bNKhhDn+R{SS_V@5}%I literal 0 HcmV?d00001 diff --git a/src/components/Blind.css b/src/components/Blind.css index 50f87e4..6fc228f 100644 --- a/src/components/Blind.css +++ b/src/components/Blind.css @@ -243,6 +243,7 @@ #blind-select.true:hover { cursor: pointer; + filter: brightness(.75); } #blind-select.false { diff --git a/src/components/Card.css b/src/components/Card.css index 2e1c4b9..b08e692 100644 --- a/src/components/Card.css +++ b/src/components/Card.css @@ -68,7 +68,10 @@ } .card:hover { scale: 1.1; } -.card.standard:hover { cursor: pointer; } +.card.standard:hover { + cursor: pointer; + filter: brightness(.75); +} .card:active { z-index: 1; } diff --git a/src/components/Consumable.css b/src/components/Consumable.css index 4255e3a..e6d8194 100644 --- a/src/components/Consumable.css +++ b/src/components/Consumable.css @@ -17,6 +17,7 @@ div[id^='consumable_'].shopping { div[id^='consumable_']:hover { cursor: pointer; + filter: brightness(.75); scale: 1.1; } diff --git a/src/components/Deck.css b/src/components/Deck.css index dd0566d..73fd282 100644 --- a/src/components/Deck.css +++ b/src/components/Deck.css @@ -25,6 +25,7 @@ #face-down:hover { cursor: pointer; + filter: brightness(.75); } #deck-label { diff --git a/src/components/DeckMenu.css b/src/components/DeckMenu.css index a54bc30..53bc60e 100644 --- a/src/components/DeckMenu.css +++ b/src/components/DeckMenu.css @@ -41,6 +41,7 @@ .view-button:hover { cursor: pointer; + filter: brightness(.75); } .arrow { @@ -53,12 +54,12 @@ border-top: 20px solid var(--red); } -#deck-view { +#deck-menu #deck-view { display: flex; flex-direction: row; } -#deck-info { +#deck-menu #deck-info { display: flex; flex-direction: row; margin: 0 8px 0 36px; @@ -67,13 +68,13 @@ width: fit-content; } -#deck-info-left { +#deck-menu #deck-info-left { display: flex; flex-direction: column; justify-content: space-between; } -#deck-name { +#deck-menu #deck-name { background-color: var(--grey); text-align: center; border-radius: 8px; @@ -82,7 +83,7 @@ line-height: 32px; } -#deck-bio { +#deck-menu #deck-bio { display: flex; align-items: center; justify-content: center; @@ -201,4 +202,5 @@ #back:hover { cursor: pointer; + filter: brightness(.75); } \ No newline at end of file diff --git a/src/components/Hand.css b/src/components/Hand.css index ec1dd83..8231292 100644 --- a/src/components/Hand.css +++ b/src/components/Hand.css @@ -28,6 +28,7 @@ .button.true:hover { cursor: pointer; + filter: brightness(.75); } #ship.true { @@ -64,4 +65,5 @@ .sort-button:hover { cursor: pointer; + filter: brightness(.75); } \ No newline at end of file diff --git a/src/components/InfoPanel.css b/src/components/InfoPanel.css index fd62341..a02e61e 100644 --- a/src/components/InfoPanel.css +++ b/src/components/InfoPanel.css @@ -24,6 +24,7 @@ .info-button:hover { cursor: pointer; + filter: brightness(.75); } #run-info-button { diff --git a/src/components/Joker.css b/src/components/Joker.css index 1257d0b..a6a773e 100644 --- a/src/components/Joker.css +++ b/src/components/Joker.css @@ -27,6 +27,7 @@ div[id^='joker_'].shopping { div[id^='joker_']:hover { cursor: pointer; + filter: brightness(.75); scale: 1.1; } diff --git a/src/components/MainMenu.css b/src/components/MainMenu.css new file mode 100644 index 0000000..c261e3c --- /dev/null +++ b/src/components/MainMenu.css @@ -0,0 +1,25 @@ +#main-menu { + display: flex; + flex-direction: column; + align-items: center; +} + +#logo { + width: 666px; +} + +#main-menu-buttons { + display: flex; + width: fit-content; + justify-content: center; + background-color: var(--grey); + border-radius: 8px; +} + +#play { + font-size: 64px; + background-color: var(--blue); + border-radius: 8px; + margin: 8px 32px; + padding: 16px 64px; +} \ No newline at end of file diff --git a/src/components/MainMenu.tsx b/src/components/MainMenu.tsx new file mode 100644 index 0000000..fd38450 --- /dev/null +++ b/src/components/MainMenu.tsx @@ -0,0 +1,18 @@ +import { useState } from 'react' +import logo from '../assets/logo.png' +import './MainMenu.css' +import { PlayMenu } from './PlayMenu' + +export const MainMenu = () => { + const [ playMenu, setPlayMenu ] = useState(false) + + return ( + + ) +} \ No newline at end of file diff --git a/src/components/Options.tsx b/src/components/Options.tsx index 2995ce3..73b62f4 100644 --- a/src/components/Options.tsx +++ b/src/components/Options.tsx @@ -1,24 +1,32 @@ +import { useContext } from 'react' import './Options.css' -import { seed } from '../GameState' +import { GameStateContext } from '../GameState' type OptionsProps = { setMenu: React.Dispatch> } export const Options = (props: OptionsProps) => { + const { state: game, dispatch } = useContext(GameStateContext) + return (
Seed:
-
{seed}
+
{game.seed}
{ - navigator.clipboard.writeText(seed) + navigator.clipboard.writeText(game.seed) }}>Copy
-
{ - window.location.reload() - }}>New Run
+ +
props.setMenu(false)}>Back
diff --git a/src/components/PlayMenu.css b/src/components/PlayMenu.css new file mode 100644 index 0000000..ab082c9 --- /dev/null +++ b/src/components/PlayMenu.css @@ -0,0 +1,170 @@ +#play-menu { + position: absolute; + background-color: var(--grey); + border: 4px solid var(--light-grey); + border-radius: 8px; +} + +#play-menu > #views { + display: flex; + justify-content: center; + position: relative; + margin-top: 24px; +} + +#play-menu .view { + position: relative; + margin: 8px; + background-color: var(--red); + font-size: 32px; + line-height: 32px; + padding: 8px 24px; + border-radius: 8px; + text-align: center; + width: 140px; + padding: 8px; +} + +#play-menu .view:hover { + cursor: pointer; + filter: brightness(.75); +} + +#play-menu-arrow { transform: .1s; } + +#deck-selection { + display: flex; + margin: 16px 64px; +} + +.cycle-button { + display: flex; + align-items: center; + justify-content: center; + background-color: var(--red); + border-radius: 8px; + padding: 12px; + margin: 4px; +} + +.cycle-button:hover { + cursor: pointer; + filter: brightness(.75); +} + +#deck-display { + display: flex; + background-color: var(--dark-grey); + border-radius: 8px; + margin: 16px 0; +} + +#deck-display img { + flex: 1; + width: 104px; + height: 140px; + margin: 8px; +} + +#deck-info { + display: flex; + flex-direction: column; + align-items: center; + background-color: var(--grey); + border-radius: 8px; + margin: 8px; + width: 250px; +} + +#deck-name { + font-size: 32px; + margin-top: 8px; +} + +#description-bkg { + display: flex; + justify-content: center; + align-items: center; + text-align: center; + background-color: aliceblue; + border-radius: 8px; + margin: 8px 4px; + width: 242px; + height: 92px; + font-size: 20px; +} + +#seeded-info { + display: flex; + justify-content: center; + align-items: center; + min-height: 32px; +} + +#seed-disclaimer { + display: block; + width: 120px; + text-align: center; +} + +#enter-seed { + background-color: var(--blue); + border-radius: 8px; + border: none; + text-align: center; + font-size: 20px; + width: 130px; + font-family: m6x11; + font-size: 24px; +} +::placeholder { + color: deepskyblue; + font-family: m6x11; +} + +#paste-seed { + background-color: var(--blue); + border-radius: 8px; + margin: 0 8px; + width: 50px; + text-align: center; +} + +#bottom { + display: flex; + justify-content: center; + align-items: center; +} + +#seeded { + display: flex; +} + +#isSeeded { + border: 2px solid aliceblue; + background-color: var(--red); + border-radius: 16px; +} + +#play-button { + font-size: 48px; + background-color: var(--blue); + border-radius: 8px; + margin: 8px 32px; + padding: 8px 128px; +} + +#play-menu-back { + margin: 8px auto; + font-size: 32px; + line-height: 32px; + width: 98%; + text-align: center; + background-color: var(--orange); + border-radius: 8px; +} + +#play-menu-back:hover { + cursor: pointer; + filter: brightness(.75); +} \ No newline at end of file diff --git a/src/components/PlayMenu.tsx b/src/components/PlayMenu.tsx new file mode 100644 index 0000000..208bb81 --- /dev/null +++ b/src/components/PlayMenu.tsx @@ -0,0 +1,88 @@ +import { useContext, useEffect, useState } from 'react' +import './PlayMenu.css' +import { deckInfo, DeckType } from '../Constants' +import { getImage } from '../Utilities' +import { GameStateContext } from '../GameState' +const images: Record = import.meta.glob('../assets/decks/*.png', { eager: true }) + +export const PlayMenu = ({ setMenu }: {setMenu: React.Dispatch>}) => { + const { dispatch } = useContext(GameStateContext) + const [ view, setView ] = useState<'new-run'>('new-run') + const decks = [DeckType.Red, DeckType.Blue, DeckType.Yellow, DeckType.Green, DeckType.Black, DeckType.Magic, DeckType.Nebula, DeckType.Ghost, DeckType.Abandoned, DeckType.Checkered, DeckType.Zodiac, DeckType.Painted, DeckType.Anaglyph, DeckType.Plasma, DeckType.Erratic] + const [ deckIndex, setDeckIndex ] = useState(0) + const [ seeded, setSeeded ] = useState(false) + const [ seed, setSeed ] = useState() + + useEffect(() => { + const arrow = document.getElementById('play-menu-arrow')! + const button = document.getElementById(view)!, rect = button.getBoundingClientRect() + const left = button.offsetLeft + (rect.width - arrow.getBoundingClientRect().width) / 2 + arrow.style.left = `${left}px` + }, [view]) + + const deckImage = getImage(`../assets/decks/${DeckType[decks[deckIndex]]}.png`, images) + const deckDescription = deckInfo[DeckType[decks[deckIndex]] as keyof typeof deckInfo].split('\n').map((line, i) => +
+ {line.split('/').map((str, i) => +
+ {str.replace(/{.+}/g, '')} +
+ )} +
+ ) + + return ( +
+
+
+
+
setView('new-run')}>New Run
+
+
+
+ {view === 'new-run' && <> +
+
setDeckIndex(Math.max(0, deckIndex - 1))}>{'<'}
+
+ +
+
{`${DeckType[decks[deckIndex]]} Deck`}
+
+
+ {deckDescription} +
+
+
+
+
setDeckIndex(Math.min(decks.length-1, deckIndex + 1))}>{'>'}
+
+
+
+ {seeded && <> +
All Unlocks and Discoveries disabled
+ setSeed(e.target.value)}/> +
{ + navigator.clipboard.readText().then(text => { + setSeed(text) + }).catch(_ => { + alert("Failed to read clipboard contents! (Make sure to allow us to read your clipboard contents)") + }) + }}>Paste Seed
+ } +
+
+
+
Seeded Run
+ setSeeded(!seeded)} /> +
+
{ + dispatch({type: 'init', payload: {deck: decks[deckIndex], seed: seed}}) + dispatch({type: 'state', payload: {state: 'blind-select'}}) + }}>PLAY
+
+ } +
+
setMenu(false)}>Back
+
+ ) +} \ No newline at end of file diff --git a/src/components/Round.css b/src/components/Round.css index dc6c210..3b1a9fc 100644 --- a/src/components/Round.css +++ b/src/components/Round.css @@ -37,6 +37,7 @@ #score-display:hover { cursor: pointer; + filter: brightness(.75); } #stake-icon { diff --git a/src/components/RunInfo.css b/src/components/RunInfo.css index e7a7548..dcf8fe6 100644 --- a/src/components/RunInfo.css +++ b/src/components/RunInfo.css @@ -1,6 +1,5 @@ #run-info { position: absolute; - z-index: 1; left: 350px; right: 370px; top: 100px; @@ -20,6 +19,7 @@ #run-info-views:hover { cursor: pointer; + filter: brightness(.75); } .run-info-view { @@ -152,4 +152,5 @@ #run-info-back:hover { cursor: pointer; + filter: brightness(.75); } \ No newline at end of file diff --git a/src/components/Shop.css b/src/components/Shop.css index 2a79cb8..822f313 100644 --- a/src/components/Shop.css +++ b/src/components/Shop.css @@ -47,6 +47,7 @@ .shop-button:hover { cursor: pointer; + filter: brightness(.75); } #next-round { background-color: var(--red); } diff --git a/src/index.css b/src/index.css index 9c5cb3c..2a4da90 100644 --- a/src/index.css +++ b/src/index.css @@ -46,4 +46,5 @@ .aqua { color: var(--aqua) } .purple { color: var(--purple) } .dark-purple { color: var(--dark-purple) } -.grey { color: var(--light-grey) } \ No newline at end of file +.grey { color: var(--light-grey) } +.black { color: black } \ No newline at end of file