U-16プロコン 競技プログラム

Ver. 4 Cool&Hot




クリックしてCool用のプレビューを表示
#CHaserをインポートする
import CHaser

#説明
#行動関数が返すリストは行動後のマップ情報9つ.
#[-][X][X]
#[-][C][O]
#[H][-][-]
#このときは [0, 2, 2, 0, 0, 3, 1, 0, 0] が返る。
#1:enemy:H,2:block:X,3:item:O
#Ver.4-C

#動く部分
c = CHaser.Client() #インスタンスを設定
no = ""
turn = 0
#ゲームループ
while True:
    value = c.get_ready() # サーバーに行動準備が完了したと伝える
    #敵にブロック
    if (1 in value):
        if (value[0] == 1):
            c.put_up()
        elif (value[1] == 1):
            c.put_up()
        elif (value[2] == 1):
            c.put_right()
        elif (value[3] == 1):
            c.put_left()
        elif (value[5] == 1):
            c.put_right()
        elif (value[6] == 1):
            c.put_left()
        elif (value[7] == 1):
            c.put_down()
        elif (value[8] == 1):
            c.put_down()

    #角とかの4マスループ回避
    #1
    elif (value[1] == 2 and value[3] == 2 and value[5] != 2 and value[7] != 2):
        if (value[5] != 2 and no != "right"):
            c.put_down()
            no = "down"
        elif (value[7] != 2 and no != "down"):
            c.put_right()
            no = "right"
・・・


クリックしてHot用のプレビューを表示
#CHaserをインポートする
import CHaser

#説明
#行動関数が返すリストは行動後のマップ情報9つ.
#[-][X][X]
#[-][C][O]
#[H][-][-]
#このときは [0, 2, 2, 0, 0, 3, 1, 0, 0] が返る。
#1:enemy:H,2:block:X,3:item:O
#Ver.4-H

#動く部分
c = CHaser.Client() #インスタンスを設定
no = ""
turn = 0
#ゲームループ
while True:
    value = c.get_ready() # サーバーに行動準備が完了したと伝える
    #敵にブロック
    if (1 in value):
        if (value[0] == 1):
            c.put_up()
        elif (value[1] == 1):
            c.put_up()
        elif (value[2] == 1):
            c.put_right()
        elif (value[3] == 1):
            c.put_left()
        elif (value[5] == 1):
            c.put_right()
        elif (value[6] == 1):
            c.put_left()
        elif (value[7] == 1):
            c.put_down()
        elif (value[8] == 1):
            c.put_down()

    #角とかの4マスループ回避
    #1
    elif (value[1] == 2 and value[3] == 2 and value[5] != 2 and value[7] != 2):
        if (value[5] != 2 or no != "right"):
            c.put_down()
            no = "down"
        elif (value[7] != 2 or no != "down"):
            c.put_right()
            no = "right"
・・・