Python关卡生成异常:生成方向错误(垂直而非水平)求助
问题解决:关卡行垂直生成的修复
问题根源在于直接迭代多行字符串level时,会逐个遍历每个字符(包括换行符),而非按行遍历。正确做法是先把字符串按行分割,过滤空行后再处理。
修复后的代码:
level = ''' g ggg gggggggggggggggg''' x=0 y=0 # 按行分割并过滤空行 for row in level.strip().split('\n'): for col in row: if col == 'g': plats.append(ground.Ground(x,y,50,WINDOW)) x += 50 y += 50 x = 0
关键修改点:
- 用
level.strip()去掉字符串首尾的空白(包括开头的换行) - 用
split('\n')把字符串分割成每行的列表,确保for row in ...遍历的是完整的一行内容,而非单个字符 - 内层循环可正确遍历每行的每个字符,实现关卡块的水平生成
内容的提问来源于stack exchange,提问作者Ihaveknowideawhatimdoing
相关产品推荐
相关产品推荐

