@KawaiRrrr

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

invalid syntaxの原因がわからない

これは何ですか??

Pyxelでプログラミングを始めたPython初学者です。
リブロワークスさんの『ゲームで学ぶPython!』を参考にゲームを作成しているのですが、何が間違っているのか全くわかりません。

1000005979.jpg

よく聞く全角カッコなども無いですし、サンプルと比較しても何が違うか見つかりません。そもそもこの赤線は何を指しているのでしょうか?
どなたか助けてください……

0 likes

2Answer

画像ではなく、
Markdownのコードブロックを使用して質問文に
コードの該当箇所を貼ってもらうことはできますか?

0Like

Comments

  1. @KawaiRrrr

    Questioner

    player.py
    import pyxel as px
    
    from collision import get_tiletype
    from constants import TILE_CARROT, TILE_SPIKE
    

    これで合っていますでしょうか?
    invalid syntax と指摘はされるんですがしっかり実行はできるんですよね…

  2. ありがとうございます。その方法で合っています。
    特に問題無いように見えますね。

    constantsモジュール(constants.py)の方で何か問題は指摘されていませんか?

  3. @KawaiRrrr

    Questioner

    特に問題は指摘されてないですね。念のため貼っておきます。

    constants.py
    # タイル判定用
    TILE_NONE = 0
    TILE_WALL = 1
    TILE_SPIKE = 2
    TILE_CARROT = 3
    
    TILETYPE = {
        (1, 0): TILE_WALL,
        (2, 0): TILE_WALL,
        (3, 0): TILE_WALL,
        (4, 0): TILE_WALL,
        (0, 2): TILE_CARROT,
        (1, 2): TILE_SPIKE,
    }
    

    PythonかVSCodeのバグなんでしょうか?

  4. どちらも問題なく見えますね。
    VSCodeのPython用静的解析ツールプラグインを導入して
    一回網羅的に全コードをチェックしてみてはいかがですか。

  5. @KawaiRrrr

    Questioner

    試しにRuffを導入してみましたが、該当箇所については特に何もない様子?
    最初の画像と変化なしです。
    他箇所の問題は未使用の変数の指摘ぐらいでした。

最初の画像左の見切れた辺りにヒントがありそう。
player.pyとconstants.pyは同じ階層(entitiesフォルダ)内に存在していますか?
以上

0Like

Comments

  1. @KawaiRrrr

    Questioner

    constantsモジュールはフォルダの外ですね。参考元も同じ階層構造になっていました。

Your answer might help someone💌