9
シンプルな2048ゲームクローンを作成する
2048は非常に楽しくて中毒性のあるゲームで、目標は2048のタイルを作成することです。 ゲームの簡単な説明は次のとおりです。 矢印キーを押すと、ステージ内のすべてのブロックがその方向にスライドします。たとえばx、ブロックを表す場合、この場合は上矢印を押しました。 ...x .x.. ..x. xx.. するとボードは xxxx .x.. .... .... さらに、ブロックには、から始まる番号が付けられ2ます。同じ番号のブロックのうち2つを一緒に移動すると、次の番号にマージされます。たとえば、このボードで「上」を押すと: .2.. ..22 .2.. .... これを作成します: .422 .... .... .... そして、「右」を押すとになり..44、したがって再び右を押すと「8」ブロックが作成されます。 ターンごとに、新しい「2」ブロックがランダムなオープンスクエアに作成されます。(実際には常に「2」ではありませんが、簡単にするためにそれを維持しましょう。)可能な動きが残っていない場合(つまり、ボードがいっぱいで何もマージできない場合)、ゲームは失われ、 2048ブロックが作成され、勝ちます! あなたの課題は、このゲームをゴルフで再現することです! このボードで「右」を押すなどのエッジケースの場合: .... .222 .... .... 押した矢印キーの端に最も近いタイルを結合する必要があります。たとえば..24、2番目と3番目の「2」が右端に最も近いため、これはになります。 プレーヤーが無効な動き(のようなボードで「上」など)を押した場合、2.2. / .... / .... / ....その動きを無視する必要があります。 移動は、クリック、矢印キーなど、あらゆる方法で受け入れることができますULRD。 タイルはすべて同じ形状である必要があります。「1024」タイルは「2」タイルと同じサイズでなければなりません。 タイルは何らかの方法で分離する必要があります。たとえば|1024| 2|1024|1024|、行の有効な例です(タイルが正方形であると仮定)、そうで1024 210241024はありません。 プレイヤーが2048タイルを作成する場合は「勝ちます」、有効な動きが残っていない場合は「失う」を出力する必要があります。 これはcode-golfなので、バイト単位の最短コードが勝ちます!