リバーシづくり4日目です
コンピュータがルールを無視してくるのでその修正をしています
今できてるもの
コンピュータがルールを理解して正々堂々と勝負できるようになりました
コンピュータがルールを守るようになりました
— おとぼう (@otobou0320) August 2, 2021
Flutterで売れるアプリを作ってみようPart4 CPUと正々堂々と対戦する https://t.co/mlI5zBabJb pic.twitter.com/HL304b5jxp
とはいえ弱すぎます
学んだこと
List.whereの結果
List.whereの結果はIterableなのでListで受け取るときはtoListする
List<int> list = [1,2,3,4,5];
Iterable<int> list2 = list.where((element) => element.isEven);
print(list2);
List<int> list3 = list.where((element) => element.isEven).toList();
print(list3);
// 実行結果
(2, 4)
[2, 4]
ユーザの入力フォームはFormを使う
- ユーザの入力画面はFormWidgetを使う
- テキスト入力はTextFormField
- FocusNodeでアクティブな入力フォームを変更できる
- フォーカスのコントロールはFocusScopeで変更できる
FocusScope.of(context).requestFocus(フォーカスノード)
- FocusNodeはメモリリークするのでWidgetのdispose時にFocusNodeもdisposeする
- 入力エラー時のメッセージはvalidatorを使うと良い、正常時はnullを返す
- FormのkeyにGlobalKey<FormState>();で取得した値を設定するとForm外からFormを操作できる
final formKey =GlobalKey<FormState>();
Form(
key: formKey,
…
)
次にやること
コンピュータを強くする
コメント