backtracking

This commit is contained in:
Mikayla Dobson
2022-07-24 09:45:01 -05:00
parent a76823f2b5
commit 120d6773a6
2 changed files with 15 additions and 11 deletions

View File

@@ -14,7 +14,7 @@ interface AllPlayersProps extends StateProps {
export default function AllPlayers({ state, setState, chipSelection, liftFromChildren }: AllPlayersProps) { export default function AllPlayers({ state, setState, chipSelection, liftFromChildren }: AllPlayersProps) {
useEffect(() => { useEffect(() => {
console.log(state); return;
}, [state]) }, [state])
return ( return (

View File

@@ -16,21 +16,24 @@ interface PlayerProps extends StateProps {
export default function Player({ player, state, setState, chipSelection, liftFromChildren }: PlayerProps) { export default function Player({ player, state, setState, chipSelection, liftFromChildren }: PlayerProps) {
const [actionPrompt, setActionPrompt] = useState(ActionPrompts[0]); const [actionPrompt, setActionPrompt] = useState(ActionPrompts[0]);
const [actionType, setActionType] = useState<GameActions>(GameActions.AWAIT); const [actionType, setActionType] = useState<GameActions>(GameActions.AWAIT);
const [dynamic, setDynamic] = useState<PlayerData | undefined>(state.players.find((element: PlayerData) => element.id === player.id)); const [dynamic, setDynamic] = useState<PlayerData | undefined>();
const { selection, setSelection } = chipSelection; const { selection, setSelection } = chipSelection;
useEffect(() => { useEffect(() => {
return; return;
}, [selection, setSelection]) }, [selection, setSelection])
useEffect(() => {
setDynamic(state.players.find((element: PlayerData) => element.id === player.id));
}, [state, setState]);
useEffect(() => { useEffect(() => {
const newState = useActionType(state, actionType); const newState = useActionType(state, actionType);
console.log(newState);
switch (actionType) { switch (actionType) {
case GameActions.GETCHIPS: case GameActions.GETCHIPS:
setActionPrompt(ActionPrompts[1]); setActionPrompt(ActionPrompts[1]);
getChips(); getChips(newState);
setSelection([]); setSelection([]);
break; break;
case GameActions.BUYCARD: case GameActions.BUYCARD:
@@ -44,15 +47,16 @@ export default function Player({ player, state, setState, chipSelection, liftFro
} }
}, [actionType]); }, [actionType]);
const getChips = () => { const getChips = (newState: AppState) => {
if (!dynamic?.turnActive) return; if (!dynamic?.turnActive) return;
setActionPrompt(ActionPrompts[1]); setActionPrompt(ActionPrompts[1]);
if (selection.length < 3) return; if (selection.length < 3) return;
setState((prev: AppState) => { setState(() => {
const { newPlayers, roundIncrement } = TurnOrderUtil(prev, dynamic); const { newPlayers, roundIncrement } = TurnOrderUtil(newState, dynamic);
let newResources = prev.gameboard.tradingResources; console.log(newPlayers)
let newResources = newState.gameboard.tradingResources;
for (let item of selection) { for (let item of selection) {
for (let [key, value] of Object.entries(newResources)) { for (let [key, value] of Object.entries(newResources)) {
@@ -64,11 +68,11 @@ export default function Player({ player, state, setState, chipSelection, liftFro
} }
return { return {
...prev, ...newState,
round: (roundIncrement ? prev.round + 1 : prev.round), round: (roundIncrement ? newState.round + 1 : newState.round),
players: newPlayers, players: newPlayers,
gameboard: { gameboard: {
...prev.gameboard, ...newState.gameboard,
tradingResources: newResources tradingResources: newResources
}, },
} }