我这样做只是为了稍微提高我的技能,我正在尝试重现我多年前在学校感到无聊时想到的游戏。
基本上它有点像 3d connect 4,也应该翻转,所以如果你的空间意识不是很好,它会搞砸你的想法。我尝试在 python 中进行非常基本的显示(我知道如何在 maya 中构建东西,而不是在 python 中,所以现在我会坚持使用看起来很垃圾的设计,直到我让它工作),它还可以查找点并将它们放入。
但是,我坚持实际阅读这些点以找到任何 4 行。我知道我可以将其全部输入,但我相信会有更好的方法。例如,每个角点都可以x、y、z、xy、xz、yz 或 xyz,我不希望任何人为我编写代码,但如果您能告诉我一种计算方法,而无需输入每种可能的组合,将不胜感激(除非我错过任何一个,否则我认为总共有 76 个)
如果不是对角线,我会做一个循环,但我不知道如何检查这些
干杯
到目前为止的代码在这里 -
#x(width),z(depth),y(height),playernum
points=[1,4,1,1],[2,1,3,1],[4,4,1,2],[3,4,1,2],[2,4,1,2],[1,1,2,1]
for j in range(1,5):
#set indent
spaces=" "
#draw top
print spaces + "________________"
#search points on certain level
validPointsY=[]
for point in points:
if point[2]==5-j:
validPointsY.append( point )
#draw middle
for i in range(1,5):
#search points on certain row
validPointsZ=[]
for point in validPointsY:
if point[1]==5-i:
validPointsZ.append( point )
#place points in correct box
point1=" "
point2=" "
point3=" "
point4=" "
for point in validPointsZ:
if point[0]==1:
point1=str(point[3])
if point[0]==2:
point2=str(point[3])
if point[0]==3:
point3=str(point[3])
if point[0]==4:
point4=str(point[3])
#remove one from space
spaces = spaces[:-1]
print spaces + "/ "+point1+" / "+point2+" / "+point3+" / "+point4+" /"
spaces = spaces[:-1]
print spaces + "/___/___/___/___/"
只是为了记录,如果你无所事事,这个游戏很有趣,但显然它看起来一点也不好看,虽然哈哈