見出し画像

なでしこさんで2×2リバーシ (笑)

私は頭が悪い。
前回の投稿から約2週間。
前回は月曜に投稿し、週streakを継続するという条件では最大級の投稿間隔となる。
それだけ時間が経ったのに、書きたいアレをいまだに書けていない。
ああ、本当に頭が悪い。

頭が悪いので、アドベントカレンダーの記事を書いていたらタイムリミットまであと約30分になってしまったぞ。
仕方ない。クソアプリアドベントカレンダーにも載せるのは気が引けるレベルのクソで繋ぐか……

今回やったこと

なでしこ で、2×2リバーシ (笑) を作る。

プログラム

2×2リバーシ (プログラム貯蔵庫)

ポイント

枠組みの構築

DOM親要素の「text-align」に「center」をDOMスタイル設定。

タイトル画面は「DIV」のDOM部品作成。
ゲーム画面は「DIV」のDOM部品作成。
それの「display」に「none」をDOMスタイル設定。

全体を中央揃えにする。
各画面を入れる要素を作る。

タイトル画面の構築

タイトル画面にDOM親要素設定。
「2×2リバーシ」のラベル作成。
それの「font-size」に「300%」をDOMスタイル設定。
2回、改行作成。
開始ボタンは「スタート」のボタン作成。
それに{
  "font-size": "200%",
  "padding": "1ex",
}をDOMスタイル一括設定。

タイトルの文字と画面を切り替えるボタンからなる、タイトル画面を作る。

ゲーム画面の構築

ゲーム画面にDOM親要素設定。
「data:image/svg+xml,<svg viewBox="0 0 101 101" xmlns="http://www.w3.org/2000/svg">
<g stroke="black">
  <rect x="1" y="1" width="100" height="100" fill="green" />
  <line x1="50" y1="1" x2="50" y2="101" />
  <line x1="1" y1="50" x2="101" y2="50" />
</g>
<g fill="white">
  <circle cx="26" cy="26" r="20" />
  <circle cx="76" cy="76" r="20" />
</g>
<g fill="black">
  <circle cx="76" cy="26" r="20" />
  <circle cx="26" cy="76" r="20" />
</g>
</svg>」の画像作成。
それに{
  "width": "15ex",
  "height": "15ex",
}をDOMスタイル一括設定。
2回、改行作成。
「引き分け!」のラベル作成。
それの「font-size」に「200%」をDOMスタイル設定。
2回、改行作成。
復帰ボタンは「戻る」のボタン作成。
それの「padding」に「0.5ex」をDOMスタイル設定。

盤面の画像、結果の表示、画面を切り替えるボタンからなる、ゲーム画面を作る。

画面切り替えの実装

開始ボタンをクリックした時には
  タイトル画面の「display」に「none」をDOMスタイル設定。
  ゲーム画面の「display」に「block」をDOMスタイル設定。
ここまで。

復帰ボタンをクリックした時には
  タイトル画面の「display」に「block」をDOMスタイル設定。
  ゲーム画面の「display」に「none」をDOMスタイル設定。
ここまで。

各ボタンがクリックされたら、表示する要素を切り替える処理を行う。

おわりに

今日は12月21日。「1221」と挟まれている感じで、リバーシネタをするにはいい日。

というわけで、なでしこで「2×2リバーシ」を実装した。
0手で決着がつく、超短期決戦である。
これなら、置けるかの判定やひっくり返す処理などを実装しなくてすみ、通常のリバーシと比べて実装のコストを大幅に削減できる。

いいなと思ったら応援しよう!

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
買うたび 抽選 ※条件・上限あり \note クリエイター感謝祭ポイントバックキャンペーン/最大全額もどってくる! 12.1 月〜1.14 水 まで
なでしこさんで2×2リバーシ (笑)|みけCAT
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1