Compare commits

...

2 Commits

Author SHA1 Message Date
b653ee2eee 添加游戏结束按钮 2024-12-24 09:25:44 +08:00
eba8a2fc62 游戏结束相关内容 2024-12-24 09:19:25 +08:00

View File

@@ -33,7 +33,10 @@ struct ContentView: View {
var answerTime: Double var answerTime: Double
@Binding var isGameActive: Bool @Binding var isGameActive: Bool
@State private var playerHasWon = false
var body: some View { var body: some View {
ZStack(alignment: .topTrailing) {
HStack(spacing: 0) { HStack(spacing: 0) {
PlayerButton(gameState: gameState, score: player1Score, color: .blue, onSelect: selectPlayer1) PlayerButton(gameState: gameState, score: player1Score, color: .blue, onSelect: selectPlayer1)
@@ -54,11 +57,32 @@ struct ContentView: View {
PlayerButton(gameState: gameState, score: player2Score, color: .red, onSelect: selectPlayer2) PlayerButton(gameState: gameState, score: player2Score, color: .red, onSelect: selectPlayer2)
} }
Button("End Game", systemImage: "xmark.circle") {
isGameActive = false
}
.symbolVariant(.fill)
.labelStyle(.iconOnly)
.font(.largeTitle)
.tint(.white)
.padding(40)
}
.ignoresSafeArea() .ignoresSafeArea()
.frame(maxWidth: .infinity, maxHeight: .infinity) .frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color(white: 0.9)) .background(Color(white: 0.9))
.persistentSystemOverlays(.hidden) .persistentSystemOverlays(.hidden)
.onAppear(perform: createLevel) .onAppear(perform: createLevel)
.alert("Game Over!", isPresented: $playerHasWon) {
Button("Start Again") {
isGameActive = false
}
} message: {
if player1Score > player2Score {
Text("Player 1 Won \(player1Score) - \(player2Score)")
} else {
Text("Player 2 Won \(player2Score) - \(player1Score)")
}
}
} }
func createLevel() { func createLevel() {
@@ -114,7 +138,7 @@ struct ContentView: View {
} }
if player1Score == 5 || player2Score == 5 { if player1Score == 5 || player2Score == 5 {
// playerHasWon = true
} else { } else {
createLevel() createLevel()
} }