關於個人的第二個程序——黑白棋續



       距離我上次的五子棋編寫已經過去一個禮拜了。在此分享一下我的關於黑白棋的一些新的體會。

       首先,在我的上一篇博客裏面提到的喫子不完善問題,導致變成了“黑白隨機喫子棋”,但其實許多看似非常嚴重的問題的背後,錯誤往往是非常簡單的。而且自己寫的程序也可以給別人看看,讓別人跳出自己的思維檢查邏輯錯誤。實在不行可以在一些小的方面改變邏輯處理方式可能會有效果。這次的bug就是這樣,自己看不出錯誤,別人看看自己的也沒有問題,但自己在一些小部分改變了寫法,就使得bug消失。

       這次我的bug就是當組成“白白黑”或“黑黑白”的形式時(三者最後那個子是最後下的),中間的那個子會被認爲喫掉,而且當棋子變多時會有許多莫名其妙的錯誤。其實這個的問題就在於,當我判斷喫子時(以下了黑子爲例),向上(和其他7個方向)判斷,如果是白棋,繼續,直到不是白棋爲止。這樣一來就會引發如上的錯誤。解決方法其實也很簡單,多加一個if判斷就可以了。這個問題一些像我一樣不仔細的小白容易犯的,希望能與大家共勉。

       另外,關於最後的一個勝利界面分享一個小技巧。如果只是在文本框裏顯示黑棋勝未免顯得有點寒酸。所以其實可以這麼做:1.把黑棋勝的圖標倒入到庫和舞臺,選好位置,命名爲blackwin(白棋勝、平局亦然)。2.寫上代碼blackwin.visible = false; 這樣一來,剛開始圖標在舞臺上就是不可見的了。3.當黑棋勝利後,寫上blackwin.visible = true;就可以顯示出來了。同時要注意,在清盤時要輸入black.visible = false;使其消失。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章