我正在制作一个小游戏,其中我需要一个五到六个插槽库存,基本上看起来像这个[] [] [] [] [] [],并且在每个框中,一个项目需要将被置于。目前,我尝试过使用词典,但他们没有得到我想要的东西。我想要的列表:一个6槽库存,可以在第一个打开的槽中放置任何东西(例如:矩形)。如果按下某个键,则最右边的插槽中有一个项目的项目将消失,当按下另一个键时,它应该将项目放入第一个打开的插槽中。我只是希望有人向我发送正确的方向并告诉我以这种方式创建库存会有什么用处。
答案 0 :(得分:0)
我对pygame不太熟悉,但我熟悉python,所以希望这对你很有帮助。
听起来你需要制作一个以stack
运作的清单inv = []
下面的代码会在该列表中添加一个项目。
if len(inv) < 6:
inv.append(item)
else:
print("No inventory space")
此代码将删除最近添加的项目:
inv.pop()
.pop()删除python中列表中最近添加的项目。此时此人可以尝试将之前的项目重新添加到空间中,并且它应该进入空间6(在列表中为inv [5],因为列表将0作为第一个插槽)。
编辑1评论回复: import pygame,sys pygame.init()
inv = []
#Code below will add an item to that list.
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
key_pressed = pygame.key.get_pressed()
if key_pressed[pygame.K_x]:
if len(inv) < 6:
inv.append("someItem")
else:
print("No inventory space")
#This code will remove the most recently added item:
if key_pressed[pygame.K_z]:
inv.pop()
if key_pressed[pygame.K_c]:
print(inv)