从列表python读取位置

我正在编程一个应该在控制台中运行的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游戏,而是在控制台中。我希望这些图形像是蛇或入侵者之类的东西。希望这对其他遇到相同问题的人有所帮助。我正在使用getpass模块进行隐形WASD按压,尽管它们确实按Enter键。我尝试使用星号“ *”作为字符,并遇到了另一个问题,即如何在屏幕上动态移动播放器。我对此进行了2周的研究,但没有找到任何答案。


杨魅力
浏览 183回答 2
2回答

收到一只叮咚

注意我没有使用curses或PyGame你应该开始。curses正是您所需要的。除非您知道用户使用哪种终端,否则您将无法可靠地在屏幕底部以外的任何地方打印文本。如果您确实知道用户拥有什么终端,则可以使用控制代码和转义序列,但是使用curses仍然很有帮助,因为它为您提供了一种更好的使用方式。

慕盖茨4494581

在制作子手游戏时,我做过类似的事情,对您来说唯一的不同是您需要在屏幕上的某个位置显示X字符。您可以使用2D数组来完成此操作,该数组概述了“屏幕”上的位置首先,如果您在Windows上,则应os.system('cls')在draw()方法的开头进行调用,该方法应连续调用(在while循环中),然后将整个2d数组打印到屏幕上。2,如果您使用2D数组表示地图,则原点通常在左上角,这意味着您的位置将全部为正,并且x的数字将在屏幕的右侧,y的数字将在屏幕的右侧屏幕底部。3,当用户输入可能来自pythoninput()或raw_input()取决于您的python版本的键时,您想在2d数组中将其位置上下左右移动让我知道您需要什么帮助,我可以详细说明
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python