Fix: Nowinner
This commit is contained in:
parent
9a8505b0d9
commit
41e602c868
2 changed files with 12 additions and 1 deletions
|
@ -53,6 +53,7 @@ function Map({ mapSize }) {
|
||||||
const [currentMove, setCurrentMove] = useState(0);
|
const [currentMove, setCurrentMove] = useState(0);
|
||||||
const xIsNext = currentMove % 2 == 0;
|
const xIsNext = currentMove % 2 == 0;
|
||||||
const [winner, setWinner] = useState(null);
|
const [winner, setWinner] = useState(null);
|
||||||
|
const [noWinner, setNoWinner] = useState(false);
|
||||||
const [history, setHistory] = useState([Array(mapSize).fill(null)
|
const [history, setHistory] = useState([Array(mapSize).fill(null)
|
||||||
.map(() => Array(mapSize).fill(null))])
|
.map(() => Array(mapSize).fill(null))])
|
||||||
|
|
||||||
|
@ -73,6 +74,9 @@ function Map({ mapSize }) {
|
||||||
}
|
}
|
||||||
updateMap(nextMap)
|
updateMap(nextMap)
|
||||||
setCurrentMove(currentMove + 1)
|
setCurrentMove(currentMove + 1)
|
||||||
|
if (currentMove + 1 >= mapSize * mapSize){
|
||||||
|
setNoWinner(true)
|
||||||
|
}
|
||||||
if (calculateWinner(row, column,nextMap)) {
|
if (calculateWinner(row, column,nextMap)) {
|
||||||
setWinner(nextMap[row][column])
|
setWinner(nextMap[row][column])
|
||||||
}
|
}
|
||||||
|
@ -146,6 +150,7 @@ function Map({ mapSize }) {
|
||||||
setCurrentMove(currentMove - 1);
|
setCurrentMove(currentMove - 1);
|
||||||
setHistory(history.slice(0, -1));
|
setHistory(history.slice(0, -1));
|
||||||
setWinner(null);
|
setWinner(null);
|
||||||
|
setNoWinner(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -164,6 +169,7 @@ function Map({ mapSize }) {
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-xl text-center">{winner != null ? winner + "赢了" : ""} </p>
|
<p className="text-xl text-center">{winner != null ? winner + "赢了" : ""} </p>
|
||||||
|
<p className="text-xl text-center">{noWinner ? "没有胜利者" : ""} </p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,12 @@ import { BrowserRouter, Routes, Route } from "react-router-dom";
|
||||||
const root = createRoot(document.getElementById("root"));
|
const root = createRoot(document.getElementById("root"));
|
||||||
root.render(
|
root.render(
|
||||||
<StrictMode>
|
<StrictMode>
|
||||||
<BrowserRouter>
|
<BrowserRouter
|
||||||
|
future={{
|
||||||
|
v7_relativeSplatPath: true,
|
||||||
|
v7_startTransition: true,
|
||||||
|
}}
|
||||||
|
>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route path="/" element={<NameList />} />
|
<Route path="/" element={<NameList />} />
|
||||||
<Route path="/tictactoe" element={<TicTacToe />} />
|
<Route path="/tictactoe" element={<TicTacToe />} />
|
||||||
|
|
Loading…
Reference in a new issue