1

スキルを少し向上させるためにこれを行っているだけです。何年も前に学校で退屈していたときに考えたゲームを再現しようとしています。

基本的には 3D コネクト 4 のようなもので、ひっくり返ることになっているので、空間認識が良くない場合はアイデアが台無しになります。私はPythonで非常に基本的なディスプレイを作成しようとしました(PythonではなくMayaで物事を構築する方法を知っているので、今のところ、動作するまでゴミのようなデザインに固執します)。ポイントを配置します。

しかし、私は実際にこれらのポイントを読んで 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 + "/___/___/___/___/"

記録として、何もすることがなければゲームはとても楽しいです。

4

1 に答える 1