120 文字でスカッシュゲーム(2020.02.27)

つぶやき Processing でテレビゲーム

 この作品の 3 日前には、インタラクティブな水面シミュレータを作ってました。 この日は、さらなるインタラクティビティを!ということで、 原始的なスカッシュゲームを つぶやき Processing で実現してみました。

作品解説&ソースコード

 実は当たり判定やゲームオーバー処理が甘く、バグってしまう場合があります。 もうすこし文字数に余裕があれば、これらのバグも直せると思いますが、 私のコードゴルフの腕前では、ちょっと無理そうです。

 ここでは、できれば残して置きたかった GAME OVER 表示を加えて、 清書したものを載せておきます。 バグは依然として残っていますが、つぶやき Processing した作品と同様、 実際に遊ぶことができます(プレイアブルなソースコードです)。

def setup():size(400,600)
x=X=200
y=s=t=5
D=[1,-1]
def draw():
    global X,x,y,s,t;
    if y<600:
        clear()
        X+=keyPressed*([0,-5][key=='z']+[0,5][key=='x'])
        x+=s
        y+=t
        s*=D[x<0 or x>400]
        t*=D[y<0 or (y>545 and abs(X-x)<50)]
        rect(x,y,9,9)
        rect(X,550,50,9)
    else:
        text("GAME OVER",100,300)

 変数 X がパドルの位置で、(x,y) がボールの位置を表しています。

 ちなみに、結構努力した割には反響はイマイチな作品でした。 やはり画面が地味なのは、あんまりウケないみたいですね…。