情報技術科作品紹介

情報技術科の先生・生徒の作品

対戦型ゲーム(PC専用)

http://nnssgg1983.cloudfree.jp/taisen.html

左上の機体と右下の機体で戦います。

相手の機体を撃墜した方が勝ち。

ーーー

左上機体の操作

・移動 WASD(上左下右)

・弾発射 Z

ーーー

右下機体の操作(10キー)

・移動 8456(上左下右)

・弾発射 1

ーーー

双方とも進行方向に弾を発射します。

リプレイはSPACEキー。

こんなプログラム(一部)で出来ています。

class APP:
    
    def __init__(self):
        self.jiki = Jiki(147,107)
        self.teki = Teki(10,10)
        pyxel.init(WIDTH,HEIGHT,title="Taisen")
        pyxel.load("taisen.pyxres")
        pyxel.run(self.update,self.draw)

    def update(self):

        global gameover,sndflg

        if gameover == 0:
            self.jiki.update()
            self.teki.update()
            if pyxel.btnp(pyxel.KEY_KP_1):            
                self.tama = Tama(self.jiki.x+1,self.jiki.y+1,self.jiki.v,1)
                tamas.append(self.tama)
            if pyxel.btnp(pyxel.KEY_Z):            
                self.tekitama = Tama(self.teki.x+1,self.teki.y+1,self.teki.v,2)
                tekitamas.append(self.tekitama)

            for obj in tamas:
                obj.update()
            for obj in tekitamas:
                obj.update()

        for obj in tamas:
            if ( self.teki.x <= obj.x and obj.x <= self.teki.x + 2 ) and \
               ( self.teki.y <= obj.y and obj.y <= self.teki.y + 2 ):
                if sndflg == 0:
                    pyxel.play(0,1)
                    sndflg = 1
                pyxel.text(65,60,"RIGHT WIN!",9)
                pyxel.text(65,66,"PUSH SPACE KEY",1)
                gameover = 1

        for obj in tekitamas:
            if ( self.jiki.x <= obj.x and obj.x <= self.jiki.x + 2 ) and \
               ( self.jiki.y <= obj.y and obj.y <= self.jiki.y + 2 ):
                if sndflg == 0:
                    pyxel.play(0,1)
                    sndflg = 1
                pyxel.text(65,60,"LEFT WIN!",5)
                pyxel.text(65,66,"PUSH SPACE KEY",1)
                gameover = 1