2
ポンのアスキーゲーム
アスキーポン 課題は、古典的なゲーム「ピンポン」を可能な限り短いコードでASCII文字で再現することです。 要件/仕様 「画面」は45x25文字にする必要があります。 空白は実際には空白でなければなりません。 パドルは9つの等号=========である必要があります。また、一番上と一番下の行にある必要があります(オリジナルは上から下ではなく左右に再生されることはわかっていますが、これはアスキーポンに適しています。 )。 ボールは、小文字、大文字、oまたはゼロにすることができます。 任意の種類の2つの入力ボタン(ユーザーが入力に文字を表示するキーを押しても問題ありません)は、プレーヤーのパドルを1つまたは2つのキャラクターを左右に一度に移動します。 ボールは、パドルや壁に当たったときに適切な角度で跳ね返る必要があります(ヒント:xまたはyの差の値を無効にします)。 スコアは出力のどこかに表示されます。スコアは、プレーヤーがボールを正常に打った回数です。 ボールがプレーヤーのパドルに当たらない場合は、プログラムを終了してください。 なければならないいくつかの AIの並べ替え(AIのパドルがちょうどボールのx値と一致した場合でも)。 ボールは垂直または水平に直線で移動できません。 開始画面/最初のフレームは次のようになります。 ========= o ========= score: 0 スコアリング これはコードゴルフなので、最短のコードが勝ちます...しかし、キャラクター数を減らすためにいくつかのボーナスがあります: -30キャラクター:パドルのどこに当たるかによってボールの弾道を変更 -10キャラクター:時間の経過とともにゲームをスピードアップ -20文字:AIを打ち負かす -20キャラクター:プレーヤーが静止し、勝ったり負けたりせずにゲームが永遠に続くような状況は避けてください(特定の軌道とAIパターンが原因) -20文字:ボールを(半)ランダムな軌道で動き始めます -25文字:リセットオプションを追加 以下は、JavaScriptにボーナスがない、ゴルフではない例です。 //init var x = 22, y = 12, xd = Math.random() < 0.5 ? -1 : 1, yd = 1, …