Flutterで売れるアプリを作ってみようPart3 CPUと対戦する

ほのぼのリバーシ

リバーシを作っています

人同士で対戦はできるようになったので、今はコンピュータと対戦できるようにしています

最初はこちら、前回はこちら、次回はこちらを参照してください

今できてるもの

前回見つかったバグを直しました

コンピュータと対戦できるようになりましたが、

ルールを無視してきます

学んだこと

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 }

次にやること

コンピュータと正々堂々対戦できるようにする

コメント

タイトルとURLをコピーしました