0

コンソールで実行することになっている Python ゲームをプログラミングしています。これまでのコードは次のとおりです。

#!python

import getpass

a = ""
rv = ""
playerLoc = []
meU= 0
meD= 0
meL= 0
meR= 0

# rv is used as a spae taker. 
# The Me... variables are used to store the players location, MeU is up, meD is down, so     on so forth.

while a != "q":
    a = getpass.getpass("")
    if a=="w":
        meU = meU + 1
    elif a=="a":
        meL = meL + 1
    elif a=="d":
        meR = meR + 1
    elif a=="s":
        meD = meD + 1
    elif a=="q":
        rv = ""
    elif a=="":
        rv = ""
    elif a==" ":
        rv = ""
    else:
        print "%Not A Command%"
while a !="q":
    playerLoc.append(meU)
    playerLoc.append(meD)
    playerLoc.append(meL)
    playerLoc.append(meR)

画面上のグリッドにプレイヤーの座標を表示する方法を知りたいです。curses や PyGame を使用していないことに注意してください。このトピックを調査しましたが、答えが見つかりません。これは GUI ゲームではなく、コンソール内にあることに注意してください。スネークやインベーダーのようなグラフィックにしたいです。これが同じ問題を抱えている他の人に役立つことを願っています。Enterキーを押しますが、目に見えないWASDを押すためにgetpassモジュールを使用しています。アスタリスク '*' を文字として使用してみましたが、画面全体でプレーヤーを動的に移動する方法という別の問題に遭遇しました。これを2週間調査しましたが、答えが見つかりませんでした。

4

2 に答える 2

2

curses や PyGame を使用していないことに注意してください

始めるべきです。cursesまさにあなたが必要とするものです。ユーザーが使用している端末の種類がわからない限り、画面の下部以外の場所にテキストを確実に印刷することはできません。ユーザーが使用している端末がわかっている場合は、制御コードとエスケープ シーケンスを使用できますcurses

于 2013-06-26T16:02:09.227 に答える
0

絞首刑執行人ゲームを作成するときに似たようなことをしました。唯一の違いは、画面上の特定の位置に X 文字を表示する必要があることです。「画面」のどこに何があるかを概説する2D配列でこれを行うことができます

まず第一に、Windows を使用している場合はos.system('cls')、draw() メソッドの先頭で (while ループで) 連続して呼び出す必要があります。その後、2 次元配列全体を画面に出力します。

2、マップを表すために 2D 配列を作成する場合、原点は通常左上にあり、位置はすべて正になり、x の数値が大きいほど画面の右側になり、y の数値が大きいほど画面の右側になります。画面の下部。

input()3、ユーザーがPythonのバージョンから、またはPythonのバージョンに応じてキーを入力するraw_input()と、2次元配列でユーザーの位置を上下左右に移動したい

あなたが何を助けたいか教えてください。私は詳しく説明できます

于 2013-06-26T16:06:41.240 に答える