-3

我需要做的这个游戏有问题。玩家、地精、坑和金币随机放置在一个数组中。玩家需要在不掉进坑里或被地精吃掉的情况下获得金币。我仍处于起步阶段,但我什至无法让玩家进入随机房间。这是我的代码

array = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
print (array)
rows=4
cols=4
objects = [[0 for x in range(cols)]for y in range(rows)]
print (objects)



import random
player = "player"
row=random.randrange(0,3)
col=random.randrange(0,3)
if (objects[row][col]) == 0:
objects[row][col]= player




import random
goblin = "goblin"
flag = True
while (flag):
row=random.randrange(0,3)
col=random.randrange(0,3)
if (objects[row][col]) == 0:
    objects[row][col]= goblin
    flag = False

pit = "pit"
flag = True
while (flag):
row=random.randrange(0,3)
col=random.randrange(0,3)
if (objects[row][col]) == 0:
    objects[row][col]= pit
    flag = False

pit = "pit"
flag = True
while (flag):
row=random.randrange(0,3)
col=random.randrange(0,3)
if (objects[row][col]) == 0:
    objects[row][col]= pit
    flag = False


gold = "gold"
flag = True
while (flag):
row=random.randrange(0,3)
col=random.randrange(0,3)
if (objects[row][col]) == 0:
    objects[row][col]= gold
    flag = False
    print (objects)

objects[0][0]=1
objects[0][1]=2
objects[0][2]=3
objects[0][3]=4
objects[1][0]=5
objects[1][1]=6
objects[1][2]=7
objects[1][3]=8
objects[2][0]=9
objects[2][1]=10
objects[2][2]=11
objects[2][3]=12
objects[3][0]=13
objects[3][1]=14
objects[3][2]=15
objects[3][3]=16

print ("Welcome to the Adventure Game")
print ("You are in Room " , objects[player])

我想在数组中找到玩家的位置并通过说“你在房间里”来打印它,但我不知道该放什么来显示

4

1 回答 1

0

我假设您正在寻找播放器的位置。尝试这个:

import random

array = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
print (array)
rows=4
cols=4
objects = [[0 for x in range(cols)]for y in range(rows)]
print (objects)


player = "player"
row=random.randrange(0,3)
col=random.randrange(0,3)
if (objects[row][col]) == 0:
    objects[row][col]= player



goblin = "goblin"
flag = True
while (flag):
    row=random.randrange(0,3)
    col=random.randrange(0,3)
    if (objects[row][col]) == 0:
        objects[row][col]= goblin
        flag = False

pit = "pit"
flag = True
while (flag):
    row=random.randrange(0,3)
    col=random.randrange(0,3)
    if (objects[row][col]) == 0:
        objects[row][col]= pit
        flag = False

pit = "pit"
flag = True
while (flag):
    row=random.randrange(0,3)
    col=random.randrange(0,3)
    if (objects[row][col]) == 0:
        objects[row][col]= pit
        flag = False


gold = "gold"
flag = True
while (flag):
    row=random.randrange(0,3)
    col=random.randrange(0,3)
    if (objects[row][col]) == 0:
        objects[row][col]= gold
        flag = False
        print (objects)


print ("Welcome to the Adventure Game")
#iterate through the 2D array and look for player
for room in objects:
    for thing in room:
        if thing == "player":
            #this will print out the room where the player is
            print thing + " is in room: "
            print room

我还想让你知道,你不必import random多次,只需一次即可!你那里还有一些冗余,为了简单起见,我会清理一下。

于 2015-12-16T02:04:25.940 回答