python
1コード 2from random import randint 3 4def create_map_line(ginfo): 5 if randint(0, 99) < 10: 6 ginfo["dir"] = randint(-1, 1) 7 cx, sz, gdir = (ginfo["cx"], ginfo["size"], ginfo["dir"]) 8 if (gdir == -1 and cx <= 1): 9 ginfo["dir"] *=-1 10 if (gdir == 1 and (cx + sz) >= (ginfo["cols"] - 1)): 11 ginfo["dir"] *= -1 12 ginfo["cx"] += ginfo["dir"] 13 line = [1] * ginfo["cols"] 14 for i in range(ginfo["size"]): 15 line[i + ginfo["cx"]] = 0 16 return line 17def create_map(ginfo): 18 map_data = [] 19 for i in range(ginfo["rows"]): 20 line = create_map_line(ginfo) 21 map_data.insert(0, line) 22 return map_data 23 24if __name__ == "__main__": 25 ginfo = { 26 "rows": 20, 27 "cols": 30, 28 "dir": 0, 29 "cx": 10, 30 "size": 8 31 } 32 map_data = create_map(ginfo) 33 for row in map_data: print(row)``` 34コード