/// <summary> /// コンストラクタ /// </summary> /// <param name="navigationService"></param> public MainPageViewModel(INavigationService navigationService) : base(navigationService) { // タイトル Title = "じゃんけんアプリ"; // 勝敗数 WinCount.Value = "0"; DrawCount.Value = "0"; LoseCount.Value = "0"; // 自分の手ボタンの画像 ButtonImageGu.Value = ImageSource.FromResource("JankenApp.Images.icon_gu.png"); ButtonImageChoki.Value = ImageSource.FromResource("JankenApp.Images.icon_choki.png"); ButtonImagePa.Value = ImageSource.FromResource("JankenApp.Images.icon_pa.png"); // 自分の手ボタンのパラメータ ButtonParameterGu.Value = HAND_GU; ButtonParameterChoki.Value = HAND_CHOKI; ButtonParameterPa.Value = HAND_PA; // コンピュータの手ボタンの処理 CommandStart.Subscribe(_ => { if (!isRunning) { Result.Value = string.Empty; // 結果表示を消す isRunning = true; // コンピュータの手をぐるぐる回す } }); // 自分の手ボタンの処理 CommandSelect.Subscribe <int>(x => { if (isRunning) { isRunning = false; // コンピュータの手をぐるぐる回すのを止める Thread.Sleep(INTERVAL); // ぐるぐるが止まるまでの調整時間 Judge(x); // じゃんけんの結果を判定・表示する } }); // コンピュータの手をぐるぐる回すのを非同期処理で実行 Task.Run(() => ShuffleHand()); }