首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有python的MineSweeper地图创建者

带有python的MineSweeper地图创建者
EN

Stack Overflow用户
提问于 2020-12-15 19:13:45
回答 1查看 123关注 0票数 0

我试图创建某种扫雷地图创建者,但有一个困难的时间与它。脚本应该得到地图上的许多列和行,然后取炸弹的数量和它们的位置。

在创建的地图中,炸弹应该显示为*,其他单元应该包括它们的邻居中的炸弹数量(对角线包括在内)。

(例如):

代码语言:javascript
复制
* 1
1 1

代码语言:javascript
复制
* 3 3 * 
* 3 * * 
1 2 2 2 

我的代码:

代码语言:javascript
复制
#takes the number of colmuns and lines from user
xy=input()
xy=xy.split(" ")
m=int(xy[0])
n=int(xy[1])
#takes the number of the bombs
number=int(input())
bomb=[""]*number
matrix = [[0 for x in range(m)] for y in range(n)] 
#take position of the bombs
for i in range(number):
    bomb[i]=input()
    
for i in range(number):
    
    o=bomb[i].split(" ")
    x=int(o[0])-1
    y=int(o[1])-1
    #puts * in matrix as bombs
    matrix[y][x]="*"
    #checks the neighbor cells of the bomb
    for j in range(-1,2):
        for k in range(-1,2):
            
            #shouldnt check the bombs cell
            if j!=0 or k!=0:
                #ignores some type and index errors
                try:
                    matrix[y+j][x+k]+=1
                except:
                    pass
                    
                        
                        
#turn the matrix to desired format
for i in range(m):
    string=""
    for j in range(n):
        string+=str(matrix[j][i])+" "
    print(string)

输入如下:

代码语言:javascript
复制
2 2 #columns and lines
1   #number of bombs
1 1 #postion of bombs all in separate lines

它应返回:

代码语言:javascript
复制
* 1
1 1

但它会返回:

代码语言:javascript
复制
* 2
2 4

我不知道这里出了什么问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-15 19:46:35

正如人们在评论中指出的那样,你不能正确地处理负面消息。举个例子:

代码语言:javascript
复制
print(["hi", "hello"][-1])

输出hello。这是因为-1将是最后一个元素。和-2将是第二个最后,以此类推,这意味着它处理这些完全好,没有错误。这意味着您应该检查该数字是否大于-1,方法是

代码语言:javascript
复制
if j!=0 or k!=0:
    #ignores numbers less than 0
    if y + j > -1 and x + k > -1:
        matrix[y+j][x+k]+=1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65312281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档