リバーシを作っています
人同士で対戦はできるようになったので、今はコンピュータと対戦できるようにしています
今できてるもの
前回見つかったバグを直しました
コンピュータと対戦できるようになりましたが、
ルールを無視してきます

学んだこと
operatorで四則演算をオーバーライドする
独自クラス同士の足し算ができるようになります
class EvaluationValue{
final int value;
EvaluationValue(this.value);
operator +(EvaluationValue other) => EvaluationValue(this.value + other.value);
operator *(EvaluationValue other) => EvaluationValue(this.value * other.value);
}
// これができるようになります
EvaluationValue(1) + EvaluationValue(1)
EvaluationValue(1) * 2
kotlinみたいにきれいに書くことが難しい
なれてないせいで最大値を出すことも難しい
きれいに書けない。。
final evaluationList = [
EvaluationValue(1),
EvaluationValue(2),
];
// 最大値を出す(Dart)
EvaluationValue max = EvaluationValue(0);
evaluationList.forEach((evaluationValue) {
if (evaluationValue.value > max.value) max = evaluationValue;
});
// 最大値を出す(kotlin)
var max = evaluationList.maxBy { it.value }
次にやること
コンピュータと正々堂々対戦できるようにする
コメント