flutter_wordle/lib/duel_setup_screen.dart
2025-06-19 13:38:17 +02:00

71 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
import 'duel_game_screen.dart';
class DuelSetupScreen extends StatefulWidget {
const DuelSetupScreen({super.key});
@override
_DuelSetupScreenState createState() => _DuelSetupScreenState();
}
class _DuelSetupScreenState extends State<DuelSetupScreen> {
int? _numberOfTurns;
String? _errorMessage;
void _submitTurns() {
if (_numberOfTurns != null && _numberOfTurns! > 0) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DuelGameScreen(numberOfTurns: _numberOfTurns!),
),
);
} else {
setState(() {
_errorMessage = "Please enter a valid number of turns.";
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Duel Setup'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
'Enter the number of turns for the duel:',
style: TextStyle(fontSize: 18),
textAlign: TextAlign.center,
),
const SizedBox(height: 20),
TextField(
keyboardType: TextInputType.number,
onChanged: (value) {
setState(() {
_numberOfTurns = int.tryParse(value);
});
},
decoration: InputDecoration(
labelText: 'Number of turns',
border: const OutlineInputBorder(),
errorText: _errorMessage,
),
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: _submitTurns,
child: const Text('Submit Turns'),
),
],
),
),
);
}
}