ohthatsa/lib/pages/practice/thing/PracticeThing.dart
2025-06-21 17:08:45 +02:00

60 lines
No EOL
1.4 KiB
Dart

import 'dart:math';
import 'package:flutter/material.dart';
import 'package:ohthatsa/pages/practice/PracticeAnswer.dart';
import 'package:ohthatsa/pages/practice/PracticePage.dart';
abstract class PracticeThing {
final random = Random();
final List<PracticeAnswer> answers = [];
final PracticePageState practicePageState;
PracticeThing(this.practicePageState){
next();
}
bool isCorrect(int answer);
bool answer(int answer);
void next();
List<bool> getBoolAnswers();
Text getAppBarTitleText();
Text getCurrentQuestionText();
Text getLastAnswerText(bool showCorrect);
Text getSecondLastAnswerText(bool showCorrect);
Widget getButtons(){
List<Widget> buttons = [];
for(int i in [1,2,3,4,5,6,-1,0,-1]){
if (i == -1){
buttons.add(Container());
continue;
}
buttons.add(
TextButton(
onPressed: () {
practicePageState.checkAnswer(i);
},
style: TextButton.styleFrom(
backgroundColor: Colors.blue,
foregroundColor: Colors.white,
textStyle: TextStyle(fontSize: 30),
),
child: Text(
i.toString(),
),
),
);
}
return GridView.count(
primary: false,
crossAxisCount: 3,
padding: EdgeInsets.fromLTRB(0, 20, 0, 20),
mainAxisSpacing: 10,
crossAxisSpacing: 10,
shrinkWrap: true,
children: buttons
);
}
}