Debugging I';我是颤振的初学者,如何修复此代码?
我在这里得到随机数,用于我的加法、减法、乘法问题Debugging I';我是颤振的初学者,如何修复此代码?,debugging,flutter,dart,Debugging,Flutter,Dart,我在这里得到随机数,用于我的加法、减法、乘法问题 import 'dart:math'; import 'package:dart_random_choice/dart_random_choice.dart'; import 'package:flutter/material.dart'; gameWin告诉玩家是否通过了数学考试,是否可以进入下一关 Map questions = { "Addition": AdditionWidget( num1: num1,
import 'dart:math';
import 'package:dart_random_choice/dart_random_choice.dart';
import 'package:flutter/material.dart';
gameWin告诉玩家是否通过了数学考试,是否可以进入下一关
Map questions = {
"Addition": AdditionWidget(
num1: num1,
num2: num2,
),
"Subtraction": SubtractionWidget(
num1: num1,
num2: num2,
),
"Multiplication": MultiplicationWidget(
num1: num1,
num2: num2,
)
};
@override
void initState() {
super.initState();
}
Widget build(BuildContext context) {
initializeGame();
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Math Rush'),
),
body: Center(
child: Row(
children: <Widget>[
question,
Flexible(
child: TextField(
controller: answerController,
onChanged: (text) {
switch (question) {
case 'Addition':
{
if (num1 + num2 == int.parse(text)) {
gameWin = true;
checkAnswerIsCorrect();
}
}
break;
case 'Subtraction':
{
if (num1 - num2 == int.parse(text)) {
gameWin = true;
初始化游戏是一个函数,每当新游戏开始并选择
随机数学方程
bool gameWin = false;
TextEditingController answerController;
不清楚你有什么问题。你的标题需要更清楚。请在顶部告诉我们您看到了什么错误。顺便说一句,您没有正确使用
Random
。您应该实例化一个随机数生成器并重复从中获取随机数,而不是实例化多个随机数生成器。只能在@TommieC处进行第二次实例化。标题应该被编辑。但随机性不应该是他的主要问题;-)
initializeGame() {
String typeOfQuestion = randomChoice(typeOfQuestions);
switch (typeOfQuestion) {
case 'Addition':
{
question = questions['Addition'];
}
break;
case 'Subtraction':
{
question = questions['Subtraction'];
}
break;
case 'Multiplication':
{
question = questions['Addition'];
}
break;
default:
{
question = questions['Subtraction'];
}
break;
}
}
class Game extends StatefulWidget {
_GameState createState() => _GameState();
}
class _GameState extends State<Game> {
@override
void initState() {
super.initState();
}
Widget build(BuildContext context) {
initializeGame();
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Math Rush'),
),
body: Center(
child: Row(
children: <Widget>[
question,
Flexible(
child: TextField(
controller: answerController,
onChanged: (text) {
switch (question) {
case 'Addition':
{
if (num1 + num2 == int.parse(text)) {
gameWin = true;
checkAnswerIsCorrect();
}
}
break;
case 'Subtraction':
{
if (num1 - num2 == int.parse(text)) {
gameWin = true;
checkAnswerIsCorrect();
}
}
break;
case 'Multiplication':
{
if (num1 * num2 == int.parse(text)) {
gameWin = true;
checkAnswerIsCorrect();
}
}
}
},
),
),
],
),
),
),
);
}
checkAnswerIsCorrect() {
setState(
() {
if (gameWin == true) {
num1 = Random().nextInt(100);
num2 = Random().nextInt(100);
initializeGame();
}
},
);
}
}