From 2b8d5045de9a5c9f2ef36faa5e41621cfb6dd30a Mon Sep 17 00:00:00 2001 From: Mikayla Dobson <93477693+innocuous-symmetry@users.noreply.github.com> Date: Sat, 16 Apr 2022 12:35:08 -0500 Subject: [PATCH] basic rendering for all three card tiers --- client/src/components/Game/GameBoard.js | 37 ++++-- .../src/store/{CardDeck.js => TierOneDeck.js} | 2 +- client/src/store/TierThreeDeck.js | 115 ++++++++++++++++++ client/src/store/TierTwoDeck.js | 54 ++++++++ 4 files changed, 196 insertions(+), 12 deletions(-) rename client/src/store/{CardDeck.js => TierOneDeck.js} (99%) create mode 100644 client/src/store/TierThreeDeck.js create mode 100644 client/src/store/TierTwoDeck.js diff --git a/client/src/components/Game/GameBoard.js b/client/src/components/Game/GameBoard.js index 71c461b..962c719 100644 --- a/client/src/components/Game/GameBoard.js +++ b/client/src/components/Game/GameBoard.js @@ -1,8 +1,11 @@ import '../../styles/GameBoard.css'; -import Card from '../Cards/Card'; -import { CardDeck } from '../../store/CardDeck'; import { useEffect, useState } from 'react'; +import Card from '../Cards/Card'; +import { TierOneDeck } from '../../store/TierOneDeck'; +import { TierTwoDeck } from '../../store/TierTwoDeck'; +import { TierThreeDeck } from '../../store/TierThreeDeck'; + export default function GameBoard() { const [trigger, setTrigger] = useState(true); const [tierThree, setTierThree] = useState(null); @@ -10,6 +13,8 @@ export default function GameBoard() { const [tierOne, setTierOne] = useState(null); const [content, setContent] = useState(null); + + const AllDecks = [TierOneDeck, TierTwoDeck, TierThreeDeck]; useEffect(() => { // param limit sets limit on number of cards rendered @@ -17,13 +22,11 @@ export default function GameBoard() { const buildGameBoardRow = (limit, tier) => { let newBoard = []; let iter = 0; - for (let cardConfig of CardDeck) { - if (cardConfig.tier !== tier) continue; - while (iter < limit) { - iter++; - // if (cardConfig.tier !== tier) continue; - newBoard.push(); - } + while (iter < limit) { + iter++; + + if (!AllDecks[tier-1][iter-1]) continue; + newBoard.push(); } switch (tier) { @@ -45,18 +48,30 @@ export default function GameBoard() { } } - if (trigger) buildGameBoardRow(6,1); + if (trigger) { + buildGameBoardRow(4,3); + buildGameBoardRow(4,2); + buildGameBoardRow(4,1); + } }, [trigger]); return (

SPLINTER

+
+ {tierThree || 'Loading'} +
+ +
+ {tierTwo || 'Loading'} +
+
{tierOne || 'Loading'}
-

Deck length: {CardDeck.length}

+

Deck length: {TierOneDeck.length}

) } \ No newline at end of file diff --git a/client/src/store/CardDeck.js b/client/src/store/TierOneDeck.js similarity index 99% rename from client/src/store/CardDeck.js rename to client/src/store/TierOneDeck.js index 83f600a..5f1b55c 100644 --- a/client/src/store/CardDeck.js +++ b/client/src/store/TierOneDeck.js @@ -1,4 +1,4 @@ -export const CardDeck = [ +export const TierOneDeck = [ // TIER ONE CARDS // total: 40 // cat 1: [2,1] cost cards diff --git a/client/src/store/TierThreeDeck.js b/client/src/store/TierThreeDeck.js new file mode 100644 index 0000000..9d4cacd --- /dev/null +++ b/client/src/store/TierThreeDeck.js @@ -0,0 +1,115 @@ +export const TierThreeDeck = [ + // TIER THREE CARDS + // total: 20 + // cat 1: 7 of a kind + { + tier: 3, + points: 5, + isWorth: 'cedar', + cost: { + cedar: 7, + birch: 0, + walnut: 0, + mahogany: 0, + cherry: 0 + } + }, + { + tier: 3, + points: 5, + isWorth: 'birch', + cost: { + cedar: 0, + birch: 7, + walnut: 0, + mahogany: 0, + cherry: 0 + } + }, + { + tier: 3, + points: 5, + isWorth: 'walnut', + cost: { + cedar: 0, + birch: 0, + walnut: 7, + mahogany: 0, + cherry: 0 + } + }, + { + tier: 3, + points: 5, + isWorth: 'mahogany', + cost: { + cedar: 0, + birch: 0, + walnut: 0, + mahogany: 7, + cherry: 0 + } + }, + { + tier: 3, + points: 5, + isWorth: 'cherry', + cost: { + cedar: 0, + birch: 0, + walnut: 0, + mahogany: 0, + cherry: 7 + } + }, + + // cat 2: [7,3] cost cards + { + tier: 2, + points: 5, + isWorth: 'cedar', + cost: { + cedar: 7, + birch: 3, + walnut: 0, + mahogany: 0, + cherry: 0 + } + }, + { + tier: 2, + points: 5, + isWorth: 'birch', + cost: { + cedar: 0, + birch: 7, + walnut: 3, + mahogany: 0, + cherry: 0 + } + }, + { + tier: 2, + points: 5, + isWorth: 'walnut', + cost: { + cedar: 0, + birch: 0, + walnut: 7, + mahogany: 3, + cherry: 0 + } + }, + { + tier: 2, + points: 5, + isWorth: 'mahogany', + cost: { + cedar: 0, + birch: 0, + walnut: 0, + mahogany: 7, + cherry: 3 + } + }, +] \ No newline at end of file diff --git a/client/src/store/TierTwoDeck.js b/client/src/store/TierTwoDeck.js new file mode 100644 index 0000000..cde13a1 --- /dev/null +++ b/client/src/store/TierTwoDeck.js @@ -0,0 +1,54 @@ +export const TierTwoDeck = [ + // TIER TWO CARDS + // total: 30 + // cat 1: [5,3] cost cards + { + tier: 2, + points: 3, + isWorth: 'cedar', + cost: { + cedar: 5, + birch: 3, + walnut: 0, + mahogany: 0, + cherry: 0 + } + }, + { + tier: 2, + points: 3, + isWorth: 'birch', + cost: { + cedar: 0, + birch: 5, + walnut: 3, + mahogany: 0, + cherry: 0 + } + }, + { + tier: 2, + points: 3, + isWorth: 'walnut', + cost: { + cedar: 0, + birch: 0, + walnut: 5, + mahogany: 3, + cherry: 0 + } + }, + { + tier: 2, + points: 3, + isWorth: 'mahogany', + cost: { + cedar: 0, + birch: 0, + walnut: 0, + mahogany: 5, + cherry: 3 + } + }, + +] \ No newline at end of file