为了账号安全,请及时绑定邮箱和手机立即绑定

从列表python读取位置

从列表python读取位置

杨魅力 2021-03-29 19:15:23
我正在编程一个应该在控制台中运行的python游戏。这是到目前为止的代码:#!pythonimport getpassa = ""rv = ""playerLoc = []meU= 0meD= 0meL= 0meR= 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周的研究,但没有找到任何答案。
查看完整描述

2 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

注意我没有使用curses或PyGame

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


查看完整回答
反对 回复 2021-04-06
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

在制作子手游戏时,我做过类似的事情,对您来说唯一的不同是您需要在屏幕上的某个位置显示X字符。您可以使用2D数组来完成此操作,该数组概述了“屏幕”上的位置

首先,如果您在Windows上,则应os.system('cls')在draw()方法的开头进行调用,该方法应连续调用(在while循环中),然后将整个2d数组打印到屏幕上。

2,如果您使用2D数组表示地图,则原点通常在左上角,这意味着您的位置将全部为正,并且x的数字将在屏幕的右侧,y的数字将在屏幕的右侧屏幕底部。

3,当用户输入可能来自pythoninput()raw_input()取决于您的python版本的键时,您想在2d数组中将其位置上下左右移动

让我知道您需要什么帮助,我可以详细说明


查看完整回答
反对 回复 2021-04-06
  • 2 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信