亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Scratch 制作井字棋游戲

        2021-09-13 05:57:12陳新龍
        電腦報 2021年34期
        關鍵詞:游戲

        陳新龍

        井字棋,英文名叫Tic-Tac-Toe,是一種在3×3格子上進行的連珠游戲,和五子棋類似,由于棋盤一般不畫邊框,格線排成井字故得名。游戲需要的工具僅為紙和筆,然后由分別代表O和X的兩個游戲者輪流在格子里留下標記(一般來說先手者為X),任意三個標記形成一條直線,則為獲勝。由于井子棋難度低,常用作兒童游戲。玩過這個游戲的人都會發(fā)現(xiàn),如果兩個玩家都做出最優(yōu)選擇,這個游戲一定會出現(xiàn)平局。別看這個游戲簡單,但用數(shù)學計算它整個過程卻復雜得多,從理論上講“井字棋”一共可能有19683種現(xiàn)象!今天就和大家一起用Scratch把“井字棋”游戲給做出來。這個游戲的代碼沒有大家想象的那么難,只要大家跟緊思路就沒有任何問題,讓我們一起開始吧(圖1)。

        首先我們創(chuàng)建需要的角色和背景。點擊舞臺背景在造型中繪制四條線作為棋盤,線條的間距稍微放寬一些,粗細也稍微加粗一些。再寫上X WIN和O WIN兩種結局的背景造型。

        完成三個背景造型之后,新建角色,這個角色的造型中需要添加四個不同的造型,分別是兩個正方形的方塊,方塊比棋盤格子稍微小一點。顏色為一白一灰用于遮擋和顯示鼠標焦點。當鼠標移動到棋盤上的格子時,顏色切換成灰色,默認情況下顏色為白色。另外兩個角色是X和O用來表示棋子。準備好的背景和角色如圖2。

        一切就緒后,可以開始編寫代碼了,我們先為棋盤每個格子編號,左下角為1號位,右上角為9號位。使用兩個變量sign_num(用于標記每個方塊的編號)和toggle(用于標記每個方塊背后的X或者O)。

        將角色造型切換成白色方塊,移動到1號位(-115,-112)。套用雙重循環(huán),每次重復執(zhí)行3次,克隆自己,將X坐標增加115(X和Y的數(shù)值是根據(jù)棋盤與角色方塊的高寬實際情況計算出來的,可以自行調(diào)整)。同時將sign_num的值增加1,內(nèi)層循環(huán)結束。將X坐標重新設為-115,恢復到左邊格子的坐標,將Y坐標增加110,角色到了中間一行。3×3次循環(huán)結束之后,棋盤中的每個方格都有了一個克隆體(如圖3)。

        為了標記這些克隆體,我們新建一個列表cell、一個變量count,默認起始情況下刪除cell中的全部內(nèi)容,將變量count設置為10,重復執(zhí)行9次,將數(shù)字10-19添加到列表中,對應9個位置的角色。列表有兩個作用,第一作為區(qū)分方格的數(shù)字編號,第二游戲時將X和O與列表中的數(shù)字進行替換用來記錄棋局,到此第一步結束(如圖4)。

        游戲開始后所有克隆體快速鋪滿棋盤后,初始狀態(tài)是所有的方格上都是白色的造型(造型編號=1)。我們移動鼠標開始游戲,當碰到鼠標指針后切換成灰色造型(造型編號=2),之后分成兩種情況,點擊鼠標落子和沒有操作移開鼠標。

        當按下鼠標且該位置沒有棋子時(造型編號=2)可以落子,按照井字棋游戲的規(guī)則,兩個玩家輪流按下鼠標打叉(X)和畫圈(O),我們可以通過toggle變量來控制X和O的次序,當toggle為奇數(shù)時(toggle除以2的余數(shù)=1時說明toggle是奇數(shù)),切換成O的造型,當toggle為偶數(shù)時,切換成X的造型,切換造型之后將列表中格子對應的項替換成X或O。每次鼠標點擊,toggle數(shù)值增加1。

        當沒有點擊操作,鼠標移開,就將灰色塊恢復成白色塊。

        到目前為止,游戲已經(jīng)可以操作了,只是還缺少了最重要的一部分判斷勝利,就是需要判斷是否產(chǎn)生了三連。井字棋不同于五子棋,獲取勝利的局面數(shù)量很少,才橫三條、豎三條、斜線兩條共八種可能。我們只需要將八種方式一一列舉出來就可以了,比如當列表的第1項=等2項=第3項的時候,對應方格中的1、2、3號位剛好橫向連成一條線。實際編程時使用“第1項=等2項與等2項=第3項”。再根據(jù)方格中的內(nèi)容來判斷到底是哪一方獲得了勝利。最后用廣播的方式傳遞勝利信息給背景顯示出來(如圖5)。

        到這里,我們的井字棋游戲也成功完成了,這里小陳老師留一個問題,在目前井字棋代碼中我只判斷了贏和輸,如果最終的結局是平局該怎么用代碼表示呢?剩下整個問題就交給大家了。一起動腦思考一下吧,期待你們的答案。

        猜你喜歡
        游戲
        做游戲
        夜間游戲
        游戲
        送信游戲
        數(shù)獨游戲
        瘋狂的游戲
        飛碟探索(2016年11期)2016-11-14 19:34:47
        爆笑游戲
        第八章直接逃出游戲
        小學科學(2015年7期)2015-07-29 22:29:00
        第八章 直接逃出游戲
        小學科學(2015年6期)2015-07-01 14:30:14
        游戲五計算
        国内精品久久久久久无码不卡| 白白白在线视频免费播放| 午夜免费福利小电影| 999国产精品999久久久久久| 亚洲av永久无码国产精品久久| 亚洲 欧美 国产 日韩 精品| 久久久精品免费国产四虎| 亚洲精品中文字幕熟女| 成年丰满熟妇午夜免费视频 | 国产免费在线观看不卡| 国产一区二区精品久久岳| 国产精品久久久久久52avav| 一本一道av中文字幕无码| 插入日本少妇一区二区三区| 免费国产自拍在线观看| 欧美俄罗斯40老熟妇| 欧美巨大精品欧美一区二区| 老熟女熟妇嗷嗷叫91| 蜜桃av一区在线观看| 国产精品日韩经典中文字幕| 久久久www成人免费精品| 毛片免费在线观看网址| 日韩精品有码中文字幕在线| 久久久精品国产av麻豆樱花 | 野外亲子乱子伦视频丶| 无限看片在线版免费视频大全| 成人av天堂一区二区| 一本一道久久综合久久| 欧美日韩视频在线第一区 | 国产无遮挡又黄又爽无VIP| 国产精品日本中文在线| 99精品久久99久久久久| а天堂中文最新一区二区三区 | 国产精品久久久久久久专区| 精品蜜桃av免费观看| 成人麻豆日韩在无码视频| 国产av丝袜旗袍无码网站| 无码人妻少妇久久中文字幕蜜桃 | 最新国产日韩AV线| 99久久精品国产片| 久久本道久久综合伊人|