0
0

【Power Apps】じゃんけんゲーム作成の軌跡①

Posted at

Power Appsでタイマーを勉強しようとした時、ふと思った。

じゃんけんゲームを作ろうと・・・
image.png
こんなの作れないかなと思い、とりあえず「icooon mono」でそれっぽいアイコンをダウンロード
https://icooon-mono.com/

image.png

頭の中で仕様をイメージ
①機械側:タイマー走らせてModで3で割って数値0,1,2を取り出してグー、チョキ、パーの判定 Context関数に入れる
②自分側:グー、チョキ、パーに数値を振り当てContext関数に入れて
③判定:①と②で変数を比較 勝ちor負けorあいこ判定
④勝ちor負けの場合は終了あいこの場合は一定時間止まって再度じゃんけんが始まる
⑤+α機能つける(文字表示、コイン払い出しルーレット、声、所持コイン枚数表示・・・)

とりあえず今回は①~④までやってみる

image.png
雑にコントロールトセット

機械側のイメージコントロール
Visible:If(Mod(timJankenJanken.Value,3)=0,true,false)

動き:これでじゃーんけーんって言っている間はグーチョキパーがピコピコ変わる

じゃんけんスタートボタンコントロール
onSelect:UpdateContext({locReset:true}); UpdateContext({locReset:false});      UpdateContext({locStart:true});

動き:なんか適当に色々リセットした後に
 タイマー1のスタートの値をtrueにしてじゃんけんがスタートする

自分側のイメージコントロール
OnSelect:UpdateContext({locResult:2, locStart:false,             locAikohantei:Mod(timJankenJanken.Value,3 ) })

動き:locResultが自分、locAikohanteiが機械側 それぞれContext関数に入れる
   機械側のピコピコ変わるのを止めるためにlocStartをfalseに変更

ここまでで終了ですがあいこの場合タイマー2を起動させる

タイマー2のタイマーコントロール
Start:If(locResult=locAikohantei,true,false)

動き:上記2つの変数が同じ(=あいこ)の場合trueになるのでタイマースタート
   この時間はフリーズ時間
   ここでプレイヤーはあいこを確認する
OnTimerEnd:UpdateContext({locStart:true,
              locAikohantei:Blank()});
      UpdateContext({locReset2:true});
      UpdateContext({locReset2:false})

動き:フリーズ時間が終了したらタイマー1を動かし、機械側の変数をBlankにしたのち
   タイマー2をリセットするためにlocReset2をカチカチする

これでいったんじゃんけんはできるようになりました
ただし最初画面表示時にタイマー2のStart条件
If(locResult=locAikohantei,true,false)がtrueとなってしまうため
falseとなるようlocResultを適当に変数の値を入れておきます

次回は「じゃんけん」「あいこで」「勝ち」「負け(ズコー)」の表示が出るようにしたいと思っています

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0