タグ別アーカイブ: ゲーム
ガッツの日記 第2回~Power Appsの新たな可能性 コネクト4ゲーム作成
【人気ゲーム、コネクト4の作成の仕方を小学生が解説するサイトがありました】
Power Appsはローコードで作成できる素晴らしいソフトです。小学生がゲームを作成できるぐらい自由度も高く、今後、職場を大きく変えていく可能性を感じます!
先日、こんなサイトを見つけました
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-60.png)
海外のサイトなのですが、子供にPower Appsでゲームを作成してもらって楽しんでもらおうというサイトです
驚いたのは、小学生がPower Appsでのコネクト4の作成の仕方を解説していることです
その内容もアイデアが素晴らしく、自分でも作成しながら感動しました
今回の記事では、Power Apps4Kidsで紹介されていたコネクト4の内容の概要を紹介するなかで、ローコードの世界の魅力、Power Appsの可能性を感じて頂けたら幸いです
コネクト4とは?
コネクト4とはオセロ、テトリス、ビンゴが組み合わさったようなゲームです
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/2c63c216d9fd9bb6666e4dc1d11d1e9c.gif)
縦横斜め、自分の色を4つ並べたら勝ちです
ちなみに上記のGIF画像はコネクト4を使用している様子ですが、こちらはPower Appsで作成しています
Power Apps4Kidsのサイトではこちらのゲームのソースコードも公開されています
自分自身でも最近、結構ハマっています
アイデア1
ゲーム内の縦横の●を2次元でうまく表現できているのが素晴らしいです
まず、2つのGalleryを縦横で組み合わせます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-61.png)
そして、縦横のGalleryに沿った形でCollectionも作成します
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-62.png)
上記の「Rows」を展開すると次のようになります
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-63.png)
コードで書くと下のような形です
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-64-644x175.png)
一般的なソフトでは、縦横の双方向を表現するのはなかなか難しいのですが、これはなかなかいいアイデアです
アイデア2
縦横、斜めで4つ色が揃ったらゲームが終了になり、「いいね」と「矢印」を表示します
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-65-644x254.png)
こちらは数十種類パターンを用意しますので、骨は折れますが、とてもシンプルな方法で表示が行えます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-66-644x542.png)
例えば、一番下の一番左の矢印には1つ隣~3つ隣までの色が一致していたらVisibleプロパティがtrueになるように仕込んであります
ちなみに一番下の一番左の矢印の名前は「h-0-5」とつけてあります
こちらの矢印が表示されたらいいねマークも表示されるように、いいねマークのVisibleプロパティの設定を行っておきます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-67.png)
上記画像内のv~とかh~とかは矢印の名前です
<まとめ>
このブログのテーマは「誰もが手軽にデータを有効活用してExcellentなビジネスライフを送れるようにします」です
Power Apps4Kidsの記事を見ていて、テーマ実現に向けた大いなるヒントを得たような気がします
Power Appsの自由度の高さとローコードである点を有効活用すれば、誰もが手軽に自分達専用のアプリを作成していける、自身でDXを推進していける未来があるような気がします
一方で、Power Appsの教材や事例が不足しているというのも現状では事実です
私もなんとかこのブログでPower Appsの教材や事例不足を補っていきたいと思っています
ちなみに、
Power Apps4Kidsにあるコードをそのままコピーしても一部、動かないところがありますので注意が必要です
修正が必要な箇所が2つあります
・色の初期値指定:
White ⇒ Color.White
・コインの色を変える式
Filter( colColumns, ColNumber = ThisItem.ColNumber ) ).Rows, Value.RowNumber = 5 ).Value ).Value.Row
⇒
Filter(
colColumns,
ColNumber = ThisItem.ColNumber
)
).Rows,
Value(RowNumber) = 5
この2点は注意が必要です
ゲームではじめるマクロ/VBA~繰返処理を字幕で学ぼう!
前回は、めいろゲーム1を試してみて頂いた上で、カーソルを動かす簡単なマクロを試して頂きました
今回、まずはエクセルマクロ/VBAの醍醐味である「繰り返し処理/ループ」を試してみて頂きます
この「繰り返し処理」はシステム全般の醍醐味といっても過言ではありません
この繰り返し処理のおかげで、人間は退屈な処理から解放されています
ぜひ、めいろゲーム2を通じて、この繰り返し処理を体感してみてください
この繰り返し処理は通常のマクロ/だと一瞬で終わってしまい、結果でしか、実感する暇がありません
このゲーム形式だと、登場人物に合わせて表示されるコードにて、はっきりと繰り返し処理が行われている様子を実感できるのが大きなメリットです!
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/091f5d0007be866fcb283d4e28189aea-1.gif)
めいろゲーム2の遊び方
迷路ゲーム2のシートにて、L列の下にある「やり方」ボタンを押すとゲームのコード設定の方法が表示されます
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-68-644x463.png)
このめいろ2では、めいろ1と違い「2つのコード」とそれぞれの処理回数の指定だけで「ペンギン」が「オバケ」を壁にぶつからないでつかまえることができるようにします
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-69.png)
めいろ1とめいろ2は「めいろの内容」と「ペンギンとオバケの配置」は全く同じです
ところが、繰り返し処理を行うめいろ2の場合は僅か2行のコードを設定するだけで済みます
この2行へのコードの集約がまさに「繰り返し」処理の醍醐味です
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-70.png)
ペンギンがオバケをつかまえた後は、カーソルの動きの動き(ペンギンの移動)について実行された「全てのコード」が表示されます
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-72.png)
上の画像を見て「なんのことかさっぱり??」と思われたかもしれませんが、
次の章で、中身について解説していきます
繰り返し処理の中味を見る
繰り返し処理には様々な種類がありますが、今回はFor ~Next文に絞って解説を行います
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-73.png)
上の画像の赤字部分が、構文になります(➡後は可変になります)
ForとNextの間に書いてあるコードを繰り返し処理をさせます
「繰り返し処理を何回行うか?」
の指定については、変数という概念を使います
今回はこの変数については「魔法の呪文」と割り切って話を進めさせて頂きます
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-74.png)
上の画像の「Dim myCount As Long」とは、「myCount」を「整数の型式」にて変数として使うという意味になります
この変数の「myCount」は中学の数学で使う「X」のような意味で考えて頂いて結構です
数学の問題ではXに様々な値が入り、Yの値が変わっていきます
今回の繰返し処理のコードでは「As Long」として指定することにより、「myCount」に整数だけが入るというルールになります
ちなみに、myCountという名前は「i」などの他の名前にして頂いても結構です
さて、
この「myCount」はFor~Next文の中で、繰り返し処理回数をコントロールするのに重要な役割を果たします
「For myCount = 1」と指定することで、myCountは整数の1から始まり、
その後に「to 4」と指定することで、myCountを1つずつ増やして4になるまでFor ~ Nextの中に入るコードを繰り返し処理するという意味になります
実際にコードをいじってみよう
今回は演習2というサンプルファイルを添付します
サンプルファイルの中には3つのマクロが入っています
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-75.png)
このうち「Sample1」は前回に使用したものです
今回は、Sample2とSample3を使用します
まず、Sample2です
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-76.png)
Sample2を実行すると「メッセージ」が表示されます
では、「編集」ボタンを押してSample2の中味をみてみましょう!
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-77.png)
本当に簡単な一文が書かれているはずです
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-78.png)
MsgBox~この一文だけで「メッセージ」を表示させることができます
では、Sample3を実行してみましょう!
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/a56056a2d57135d19f53b471bcceba2b.gif)
今度は3回メッセージが出てきました
Sample2と同じ様に中味をみてみましょう
![](https://analytic-vba.com/wp/wp-content/uploads/2021/08/image-79.png)
めいろ2と同じ様な繰り返し処理のコードが書かれています
今回の場合には、Toの後が4から3に変わっています
ですので、メッセージを出すコードが3回繰り返し実行されています
繰返し処理を体感する意味で、この「3」を他の数字に変更してみましょう!
変更した上で実行すると、繰り返し処理を体感しやすいはずです
<まとめ>
いかがでしたでしょうか?
今回は、繰り返し処理について体験して頂きました
記事の冒頭でも書きましたが、この繰り返し処理はシステムの醍醐味です
この繰り返し処理を使いこなせると、エクセルを使う景色が変わってきます
今回の内容は、繰り返し処理の中でも一番、基礎的な内容です
この基礎形を理解しておくと、様々な形で応用が効きますのでぜひマスターしておきましょう!
!ストリート・アカデミーにてゲームを使ったマクロ/レッスンも行っています➡ 詳細