のののーと

ライフワークとライスワークの割合

QueueとStackを用いてゲームつくる

週末開発その2。ブロックを積んでいき、同じ高さのブロック同士で数字の大きさを比べ、勝ち星の多さを競う。 入れ物にQueueとStackを用いたのでメモ。ゲームはこちら

QueueAndStack | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

f:id:nonoui:20180121233420p:plain

※unity version 2017.2.1

QueueとStackってなんぞや

QueueはFIFO(First In First Out)。最初に入ったデータは最初に取り出される。一方で、StackはFILO(First In Last Out)。最初に入ったデータが最後に取り出される。 取り出される順番が違うのねー!なるほどー!

ゲームルール

とりあえず入れ物を用意する。

f:id:nonoui:20180121220610p:plain

つんでいく。

f:id:nonoui:20180121222522p:plain

たまに取り出したり。Queueから取り出す(dequeue)と押し出される感じになる。画像は「1」を取り出して「2」を挿入している(enqueue)。

f:id:nonoui:20180121222602p:plain

Stackの場合は最近積まれたブロックを取り出す(pop)感じになる。画像は「5」を取り出して「3」を挿入している(push)。

f:id:nonoui:20180121224220p:plain

なんやかんやあって双方すべて積み終わる。

f:id:nonoui:20180121224346p:plain

同じ高さのブロック同士を比べて数字の大きい方に王冠をつけるとこんな感じになる。 自分3つで相手2つだから今回は勝ち。「Joker」ブロックはすべてに強いけど、「1」には負けるみたいな。よくあるやつ。

f:id:nonoui:20180121224505p:plain

つくっててこまった点

  • Queueの方が有利

単純にQueueの方が中身が変わりやすいので、上の部分しか変わらないStackの方が不利な気がする...申し訳程度にルールをターン制にして、Queueは先行にした。

  • ルールが説明しにくい

題材がナゾいのでルール説明も分かりにくい。シンプルなのは大事だ... 自分でも最適ムーブが分かってないのでcomの思考ルーチンもふわふわした感じになってしまった。。。

以上!

初期の構図はこんな感じだったけど、 最終的に全然違う感じになった!

今回はここまでだけど、時間あったら出来なかった部分をやりたいな!(comの思考ルーチンとかボタンの挙動部分とか...

余談

以下はゲームに関係ないことについて思ったことを書く。

WebGL Buildに苦戦する

ビルドがうまくいかない...! 仕方ないのでunity cloud buildを利用することに。ただし、トライアル中のやつなので1ヶ月で終了なのじゃ... ビルドとか30分くらいかかりそーって思ってたけど15分くらいで終わって早って印象だった。まぁ中身が少ないってのもあるかも

今回のゲーム

前回は思考ルーチンで週末終わったことを反省し、今回は既に知ってることを題材にして、本当に週末で一通りできるかどうかを試した。 nonoui.hatenablog.jp

一応やれるところまでやれたかなーって感じだけど、得たものはほぼない。強いて言うならば、背景の銀、金のカラーリングが結構気に入ってることぐらい。 2日と半日で何か作成するっていうスタンスは崩さずに、知見も広げられるようにしていけたらいいな。

トランプで試してみた

初期構図がカードっぽい感じだったのは、トランプで友人と遊んでみたから。