呼呼(js圍棋基本功能達成 )

2021-08-16 20:21:32 字數 691 閱讀 6125

到今天為止悶頭肝了3天,用js達成了圍棋介面,實現了一定的基本邏輯(提子之類的2333)

在邏輯上難點主要在於提子和落子是否合法(禁入點)的操作,這就跟棋子的氣相關了(用個二維陣列吧233)。我這裡是在每次落子時進行判斷。先判斷這個落子是否能觸發提子,如果能提子的話就不需要判斷這個落子是否合法了,否則就要判斷這個落子是否合法。雖說判斷順序是先提子後合法,然而寫**函式的時候先寫的是是否合法。這裡通過遞迴得到與落子相連的棋子,同時判斷相連的棋子是否有氣(因為遞迴所以可能會發生重複判定導致死迴圈,所以需要另乙個二維陣列來判定是否判定過該棋子

),只要有乙個棋子有氣就說明這塊棋是不會被提子的,即落子是不會導致這個棋子所在的這塊棋沒氣,即落子是合法的。

回過頭來說為什麼要先寫這個合法函式,因為這個函式能判定棋的死活,那樣在提子的函式裡呼叫這個函式就會方便許多了。

(**不敢貼上來,因為感覺寫得行數有點多了,還要再優化、再優化……)

剛剛修正了一大堆bug,最後終於成功地擺了一盤棋,過程沒有出bug,這真的是讓我太興奮了:)))))))

(其實打劫的部分還沒做 囧)

接下來工作就是完善其他功能和介面吧,目標是幽靈圍棋的實現……這大概還有許多路要走吧……

Bash基本功能

history 選項 歷史命令儲存檔案 c 清空歷史命令 w 把快取中的歷史命令寫入命令儲存檔案 歷史命令預設儲存1000條,可以在環境變數配置檔案 etc profile中進行修改 必須重新登陸,歷史命令可以儲存檔案 歷史命令的呼叫 使用上,下箭頭呼叫以前的歷史命令 使用 n 重複執行第n條命令 ...

Nginx基本功能

1 靜態http伺服器 首先,nginx是乙個http伺服器,可以將伺服器上的靜態檔案 如html 通過http協議展現給客戶端。配置 plain view plain copy server 2 反向 伺服器 什麼是反向 客戶端本來可以直接通過http協議訪問某 應用伺服器,管理員可以在中間加上乙...

shell 基本功能

chmod 755 test.sh 設定可執行許可權 cat a test.sh 包含隱藏檔案 別名 alias 別名 原命令 alias rm rm i alias cp cp i alias mv mv i 永久生效,設定在 root bashrc 檔案種 unalias 別名 刪除別名 ctr...