整理地图
(有思路,但……运行结果乱)这不是作业!是想开发的控制台小游戏
我有一个地图game_map,是一个一维列表。
定义getmap()函数,已知全局变量WIDTH, HEIGHT(整理后地图的长和宽),返回整理后的地图。
比如:
WIDTH = 4
HEIGHT = 4
game_map = [*range(1, 13)]
for line in getmap():
print(line)
'''
''' 没听懂{:10_277:} isdkz 发表于 2023-4-1 18:43
没听懂
看看示例输出。从右下角开始是索引0,到右下角的上面是索引-1,中间(非边缘)是值0 歌者文明清理员 发表于 2023-4-1 18:50
看看示例输出。从右下角开始是索引0,到右下角的上面是索引-1,中间(非边缘)是值0
你是要把从 1 到 16 按照绕圈圈的方式放到列表?
我之前解决过一个类似的帖子:https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=223532&pid=6120760 isdkz 发表于 2023-4-1 19:02
你是要把从 1 到 16 按照绕圈圈的方式放到列表?
我之前解决过一个类似的帖子:https://fishc.com.c ...
没看懂{:10_282:} 本帖最后由 andy大宝 于 2023-4-1 21:06 编辑
不知道您的意思是不是这样:
def getmap(WIDTH,HEIGHT):
game_map = []
make_list = []
right_num = WIDTH + HEIGHT - 1
left_num = right_num #这两个变量之后用来生成两侧数字
#用嵌套列表模拟二维列表
#生成顶部数字
for i in range(WIDTH):
make_list.append(right_num)
right_num += 1
game_map.extend()
#生成两侧数字
make_list = []
right_num -= 1
for i in range(HEIGHT - 2):
left_num -= 1
right_num += 1
make_list.append(left_num)
for i in range(WIDTH - 2):
make_list.append(0)
make_list.append(right_num)
game_map.extend()
make_list = []
#底部逆序生成数字
make_list = []
for i in range(WIDTH):
make_list.append(WIDTH - i)
game_map.extend()
#打印二维数组
for i in game_map:
print(i)
花了半个小时,代码有些繁琐,见谅{:10_266:} andy大宝 发表于 2023-4-1 21:04
不知道您的意思是不是这样:
花了半个小时,代码有些繁琐,见谅
已解决
发一个空zip附件,定价随便,我买了,就当送你的鱼币(非常感谢!!!!!!!!!!!!) 纯粹练习练习{:5_91:}{:5_91:}{:5_91:}
def getmap(WIDTH, HEIGHT):
MAP = [ for _ in range(HEIGHT)]
row = + + +
col = + + +
p = zip(row, col)
for n, (R, C) in enumerate(p, start = 1):
MAP = n
return MAP 歌者文明清理员 发表于 2023-4-2 10:09
已解决
发一个空zip附件,定价随便,我买了,就当送你的鱼币(非常感谢!!!!!!!!!!!!)
如果是送鱼币的话就免了吧,感谢您对我的肯定^_^
页:
[1]