大家應該都玩過五子棋。五子棋是全國智力運動會競技項目之一,是一種兩人對弈的純策略型棋類遊戲。通常雙方分别使用黑白兩色的棋子,下在棋盤橫線與豎線的交叉點上,先形成5子連線者獲勝。所以,我更喜歡形象地叫它五子連珠。
下面是我從網絡找到的相關資料,我們在編寫程序前,必須要了解這些相關知識。
編程前的思考五子棋的棋盤由橫縱各15條等距離,垂直交叉的平行線構成,在棋盤上,橫縱線交叉形成了225個交叉點為對弈時的落子點。鄰近兩個交叉點的距離要略大于棋子的直徑。
以對局開始時的黑方為準,棋盤上的縱行線從近到遠用阿拉伯數字1-15标記,橫行線從左到右用英文字母A-O按字母順序标記。由于每個英文字母都對應着一條縱線,每個阿拉伯數字都對應着一條橫線,所以,棋盤上的每一個交叉點都可用英文字母和阿拉伯數字的組合來标示出來。在标示各點時,要将英文字母放在前邊,阿拉伯數字放在後邊。如“L6”“F4”等。
在棋盤上有5個比較特殊的交叉點,用實心小圓點标示出來,這5個點稱為“星”。中間的星也稱天元,位置在H8,表示棋盤的正中心。其他4個星,也叫小星,分别在D12、L12、D4、L4位置。星在棋盤上起标示位置的作用,利于在行棋、複盤、記錄等時,更清晰、迅速地找到所需位置。
本節Scratch編程課程,我們将使用畫筆工具來繪制一個棋盤。你也許會向我建議:為什麼不直接找個繪制好的棋盤圖片,作為舞台背景,多省事呀。但是,如果真這麼做,後續編程可能會變得複雜起來。
實際上,Scratch這款強大的工具,給我們提供了“畫筆”工具,而五子連珠棋盤又是有規律可循的,畫一個棋盤還是綽綽有餘的。
接下來講下我的思路:我們都知道,舞台背景是360x480,所以我們的正方形棋盤的邊長必須小于360。每行都有14個格子,也就是每條邊被分成了14份。如果棋盤直接和舞台邊緣對齊,這麼算的話,每個小格子邊長是360➗14=25.714286。但是,棋盤的最外邊也可能落子,必須把棋子的大小計算進去。所以,我們把棋盤的最上面和最下面也增加一個小格子的長度,這麼計算的話,每個小格子邊長是360➗16=22.5。
經過上述分析,我們得出棋盤的每一小格邊長是22.5,棋盤的邊長是22.5x14=315 。
但是,為了後續的計算方便,我們直接把每個小格子的邊長湊整為23。棋子的寬度應當小于等于小格子的邊長,棋子的寬度可以設計為20。 棋盤的邊長就是23x14=322,上下兩邊多出(360-322)➗2 = 19 ,已經足夠放置棋子了,因為棋子最多隻會在邊上多出半個棋子,半個棋子寬度是10,10<19。
編寫代碼首先要把畫筆工具從Scratch的擴展庫中,添加進來。
我的代碼如下圖所示:
運行程序後,我們能清楚地看到整個繪畫過程。一張規則的棋盤被Scratch軟件很輕松地畫了出來。
圖1
視頻效果最後,我将本節Scratch編程的運行演示錄制了視頻,大家點擊下方的“三角形”播放按鈕觀看。
本次Scratch編程課程就講到這裡,後續課程見!
本文所有圖片、視頻及文字内容,均為原創,轉載時請保留版權信息。
查看更多Scratch編程教程,請點擊下一行的了解更多
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!