

あるYouTubeの動画を参考にpyxelを使用してテトリスを作ろうとしていたところ、エラーが出ました。解決策があれば教えてください。よろしくお願いします。  
以下は使用したコードとエラーです。

実行環境はwindows11、python3.9.0、pyxel1.6.9、jupyter notebookで実行

[code]

    from random import randint
    import pyxel
    
    TILE_SIZE = 8
    MAP_WIDTH = 14
    MAP_HEIGHT = 25
    WAIT = 60
    
            
    class Tetris:
        def __init__(self):
            self.mGameOver = False
            self.mNext = randint(0,6)
            self.mX = 0
            self.mY = 0
            self.mA = 0
            self.mT = 0
            self.mWait = 0
        
            pyxel.init(MAP_WIDTH*TILE_SIZE , 
                       MAP_HEIGHT*TILE_SIZE ,fps = 10)
            pyxel.load('tetris.pyxres')
        
            self.next()
        
            pyxel.run(self.update , self.draw)
        
        def update(self):
            pass
    
        def draw(self):
            pyxel.bltm(0,0,0,0,0,MAP_WIDTH,MAP_HEIGHT)
          
        
        def put(self,x,y,t,a,s,test):
            for j in range(4):
                for i in range(4):
                    p = [i,3-j,3-i,j]
                    q = [j,i,3-j,3-i]
                    if pyxel.tilemap(0).get(16+t*4+p[a],q[a]) == 7:
                    continue
                    
                    v=t
                    if s == False:
                    v=7
                    elif pyxel.tilemap(0).get(x+i , y+j) != 7:
                        return False
                    if test == False:
                        pyxel.tilemap(0).set(x+i , y+j , v)
                    
            return True
    
        def next(self):
            self.mX = 5
            self.mY = 2
            self.mT = self.mNext
            self.mWait = WAIT
        
            self.mA = 0
            if pyxel.btn(pyxel.KEY_X):
                self.mA = 3
            if pyxel.btn(pyxel.KEY_Z):
                self.mA = 1
        
            if self.put(self.mX , self.mY , self.mT , self.mA , True , False) == False:
                self.mGameOver = True
        
            self.put(5,-1,self.mNext,0,False,False)
            self.mNext = randint(0,6)
            self.put(5,-1,self.mNext,0,True,False)
        
    Tetris()
    
[/code]

**エラーメッセージ**

[code]

    AttributeError                            Traceback (most recent call last)
    <ipython-input-1-c5ae4bd3c03b> in <module>
         69         self.put(5,-1,self.mNext,0,True,False)
         70 
    ---> 71 Tetris()
    
    <ipython-input-1-c5ae4bd3c03b> in __init__(self)
         21         pyxel.load('tetris.pyxres')
         22 
    ---> 23         self.next()
         24 
         25         pyxel.run(self.update , self.draw)
    
    <ipython-input-1-c5ae4bd3c03b> in next(self)
         62             self.mA = 1
         63 
    ---> 64         if self.put(self.mX , self.mY , self.mT , self.mA , True , False) == False:
         65             self.mGameOver = True
         66 
    
    <ipython-input-1-c5ae4bd3c03b> in put(self, x, y, t, a, s, test)
         37                 p = [i,3-j,3-i,j]
         38                 q = [j,i,3-j,3-i]
    ---> 39                 if pyxel.tilemap(0).get(16+t*4+p[a],q[a]) == 7:
         40                     continue
         41 
    
    AttributeError: 'builtins.Tilemap' object has no attribute 'get'
    
[/code]


CC BY-SA 4.0
2022-02-13T18:41:50.847
86322
2022-02-14T10:50:40.263
2022-02-13T23:58:34.470
3060
51412
question
python
python , pyxelでのエラーについて