我是Python和编程的新手,我在编程课程中遇到了一项任务。
我需要创建一个将在6×6网格上进行游戏的游戏。网格将代表一张地图,游戏英雄将从位置(0,0)开始。同样,开始时,项目将被随机放置在网格上的唯一位置。它们以字母/符号表示。 (例如“ S”,“ R”,“ *”)
我对此有一些疑问。
1)我不确定如何将英雄(“ H”)放置在网格上。
2)我不知道如何在网格上随机获取物品。
有人可以帮我吗?这就是我创建网格的方式:
board = []
def print_board(board):
for x in range(6):
board= (["-"] * 6)
print(" ".join(board))
return board
print_board(board)
这就是我试图将英雄放置在网格上的方法:
board[0][0] = "H"
但是,我不确定应该将这段代码放在哪里/如果正确的话。另外,我应该能够“移动”英雄(通过询问玩家是否要向左/向右/向上/向下移动)。可能这首先需要一个函数来询问玩家方向,然后是一个for循环来执行移动,对吗?
这是一门初学者课程,所以我认为无论答案是什么,它都可能很简单。我只是似乎无法绕过它。预先谢谢你。
编辑
很抱歉给您带来麻烦,我在这里也很新。无论如何,我尝试过:
def PlaceItem(board, item):
for i in range(len(board)-1):
board[x] = randint(0,len(board) - 1)
board[y] = randint(0,len(board) - 1)
if board[x] == "-" and board[y] == "-":
board[x][y] = item
print(board)
else:
continue
return board
我之前已经定义了项目(例如,剑=“ S”)。然后,我将该函数称为PlaceItem(board,sword)。不起作用,所以我假设有什么问题。
答案 0 :(得分:1)
您需要首先建立一个真正符合您要求的董事会:
board = [
[None, None, None, None, None, None], # Row 1 (but accessed with 0!)
... 5 more times
]
然后,您可以根据需要放置英雄。您还可以使用random
模块来确定随机位置。寻找randint
函数。
放置字符时,为该字符编写函数很有用
答案 1 :(得分:0)
您可以首先随机查看库,具体来说:
import random
print(random.choice(["S","R","Q"]))