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

        ?

        論基于JavaScript語言的Bingo游戲?qū)崿F(xiàn)

        2011-02-27 05:42:38鄧家榮
        電腦與電信 2011年5期
        關(guān)鍵詞:基數(shù)單元格格子

        鄧家榮 吳 焱

        (1.文山學(xué)院,云南 文山 663000;2.昆明冶金高等??茖W(xué)校,云南 昆明 650033)

        1.引言

        “Bingo”是一種填寫格子的卡片游戲,因游戲中第一個(gè)成功者以喊“Bingo”表示取勝而得名。在英美國(guó)家有一個(gè)說法是:“If you have never played Bingo before,then you are probably in am inority.”[1]。在廣泛使用互聯(lián)網(wǎng)和互聯(lián)網(wǎng)服務(wù)的今天,在網(wǎng)站上進(jìn)行Bingo游戲也是玩家的新選擇。

        JavaScript是一種能給網(wǎng)頁創(chuàng)建動(dòng)態(tài)的用戶界面、控制瀏覽器、處理表單、設(shè)置cookie、即時(shí)構(gòu)建HTML頁面以及創(chuàng)建基于Web的應(yīng)用程序[2]。用JavaScript語言實(shí)現(xiàn)Bingo游戲可以更好地讓用戶體驗(yàn)到網(wǎng)站游戲的魅力。

        2.Bingo游戲規(guī)則

        首先,所有參加游戲的人購買一張或多張Bingo票。一張Bingo票是一張5格x5格的卡片,如圖1所示??ㄆ械?列分別對(duì)應(yīng)著“B”、“I”、“N”、“G”、“O”5個(gè)字母。每張卡片上隨機(jī)地分布著從1到75的24個(gè)號(hào)碼??ㄆ现虚g那個(gè)格為空白區(qū)域,稱作“Free Space”,可以代表“填充”或“不填充”,依參賽者的意愿而定[1]。

        圖1 Bingo票示例

        “B”列中的號(hào)碼取自從1到15的數(shù);“I”列中的號(hào)碼取自從16到30的數(shù);“N”列中的號(hào)碼取自從31到45的數(shù);“G”列中的號(hào)碼取自從46到60的數(shù);“O”列中的號(hào)碼取自從61到75的數(shù)。

        游戲開始時(shí)由叫號(hào)員依次隨機(jī)地選取1到75的號(hào)碼,并念出來。如念出來的號(hào)碼出現(xiàn)在游戲玩家自己的Bingo卡片上,參賽者則將該號(hào)碼所在的格子涂黑(填充)。如果自己的某張卡片上涂黑的格子組成了規(guī)定的Bingo圖案中的任何一個(gè),則高喊“Bingo”!第一個(gè)正確地喊出“Bingo”的參賽者即為獲勝者。

        不同的游戲比賽場(chǎng)所可以規(guī)定不同的Bingo圖案,如圖2所示為部分典型的Bingo圖案。

        圖2 典型的Bingo圖案

        3.游戲的算法設(shè)計(jì)

        3.1 卡片界面的實(shí)現(xiàn):

        用HTML的<table>、<tr>、<th>、<td>標(biāo)簽制作出Bingo卡片的框架,并為每個(gè)單元格設(shè)定id屬性,便于在程序中操縱單元格的內(nèi)容。

        3.2 卡片單元格中內(nèi)容的填寫:

        使用循環(huán)控制語句,將用隨機(jī)函數(shù)生成的從1到75的數(shù)字[3]依次填寫到卡片中。

        3.3 各列不同取數(shù)范圍的實(shí)現(xiàn):

        為各列分配編號(hào),B列為0、I列為1、N列為2、G列為3、O列為4;

        設(shè)定各列基數(shù)為列編號(hào)*15,則B列基數(shù)為0、I列基數(shù)為15、N列基數(shù)為30、G列基數(shù)為45、O列基數(shù)為60;

        用隨機(jī)函數(shù)生成從1到15的數(shù)字,再加上單元格所在的列基數(shù),就得到符合規(guī)則的數(shù)字,即B列為1到15的數(shù),I列為16到30的數(shù),N列為31到45的數(shù),G列為46到60的數(shù),O列為61到75的數(shù)。

        3.4 剔除重復(fù)的數(shù)字:

        多次調(diào)用隨機(jī)函數(shù)可能會(huì)計(jì)算出相同的結(jié)果,而卡片中不能出現(xiàn)重復(fù)的數(shù)字。采用數(shù)組[3]記錄1到75個(gè)數(shù)字的使用狀態(tài),每計(jì)算出一個(gè)數(shù)字,就在數(shù)組中查詢其狀態(tài),如果已經(jīng)使用了,就再調(diào)用隨機(jī)函數(shù)重新計(jì)算一個(gè),如果還沒使用過,就將其填入卡片的單元格并在數(shù)組中記錄下新狀態(tài)。

        3.5 由用戶控制新卡片的創(chuàng)建:

        當(dāng)瀏覽器加載HTML頁面時(shí),程序運(yùn)行生成卡片,同時(shí),還允許用戶點(diǎn)擊頁面上的鏈接來重新運(yùn)行程序。這樣就可以在瀏覽器中由用戶控制生成卡片,不會(huì)產(chǎn)生額外的服務(wù)器負(fù)載。

        3.6 允許用戶糾正選錯(cuò)的格子:

        首先查明被用戶點(diǎn)擊的格子,將該單元格的背景色改為紅色,表示已經(jīng)選中該單元格;如果用戶點(diǎn)擊了紅色的單元格,則將單元格背景色恢復(fù)為白色,表示取消對(duì)該單元格的選擇。這里使用預(yù)設(shè)的CSS樣式文件來實(shí)現(xiàn)單元格樣式的應(yīng)用。

        3.7 檢查獲勝狀態(tài):

        檢查用戶選中的單元格是否構(gòu)成獲勝的Bingo圖案,如果確認(rèn)獲勝,則頁面閃爍。

        獲勝圖案中被選中的單元格用1標(biāo)識(shí),空白的單元格用0標(biāo)識(shí),將單元格從右下角向左上角依次記下其01序列,如圖2中獲勝圖案(a)的編碼是:00000000000000000011111,即十進(jìn)制數(shù)31。將用戶的圖案也用同樣的標(biāo)識(shí)代替,用戶圖案的編碼與獲勝圖案的編碼進(jìn)行按位與運(yùn)算[3],結(jié)果與獲勝圖案的編碼相同,則可判定用戶獲勝。

        4.游戲的實(shí)現(xiàn)及核心代碼

        4.1 制作Bingo卡片的頁面(bingo1.htm l):

        4.2 CSS樣式表文件(bingo1.css):

        4.3 JavaScript程序(bingo1.js):

        5.結(jié)束語

        JavaScript是用于Web應(yīng)用程序開發(fā)的主要腳本語言。它與HTML、CSS結(jié)合起來,可以在一個(gè)網(wǎng)頁中鏈接多個(gè)對(duì)象,實(shí)現(xiàn)與網(wǎng)絡(luò)客戶的交互作用。

        用JavaScript實(shí)現(xiàn)的Bingo游戲,界面友好,交互便捷,不占用服務(wù)器資源。

        如果再增加登錄入口、叫號(hào)員叫號(hào)、獲勝信息上傳等模塊,就可以實(shí)現(xiàn)多用戶的實(shí)時(shí)Bingo游戲。

        [1]撲克論壇 http://www.preferpoker7.com/forum/read.php? tid=25787

        [2]Tom Negrino.JavaScript基礎(chǔ)教程作者[M].北京:人民郵電出版社,2009.

        [3]趙增敏.JavaScript動(dòng)態(tài)網(wǎng)頁編程[M].北京:電子工業(yè)出版社,2010.

        猜你喜歡
        基數(shù)單元格格子
        一次性傷殘就業(yè)補(bǔ)助金的工資基數(shù)應(yīng)如何計(jì)算?
        玩轉(zhuǎn)方格
        玩轉(zhuǎn)方格
        千萬不要亂翻番
        巧妙推算星期幾
        數(shù)格子
        填出格子里的數(shù)
        淺談Excel中常見統(tǒng)計(jì)個(gè)數(shù)函數(shù)的用法
        西部皮革(2018年6期)2018-05-07 06:41:07
        『基數(shù)』和『序數(shù)』
        格子間
        女友(2017年6期)2017-07-13 11:17:10
        国产免费av手机在线观看片| 日本一道dvd在线中文字幕 | 亚洲av无码精品色午夜果冻不卡| 午夜三级网| 免费人成黄页网站在线观看国产 | 日韩熟女一区二区三区| 国产精品人妻熟女男人的天堂| 亚洲精品成人网站在线播放| 国产精品天天狠天天看| 吃下面吃胸在线看无码| 国产精品成人一区二区在线不卡 | 99精品人妻无码专区在线视频区| 国产精品户露av在线户外直播| 国产日韩AV无码免费一区二区 | 亚洲一区二区三区国产| 少妇被粗大的猛烈进出69影院一| 亚洲国产精品一区二区第四页| 亚洲高清一区二区三区在线观看| 国产精品熟女少妇不卡| 亚洲加勒比久久88色综合| 久久精品国产日本波多麻结衣| 中文字幕日本人妻一区| 一区二区三区国产黄色| 国偷自产一区二区免费视频| 99ri国产在线观看| 开心激情网,开心五月天| 人妻熟妇乱又伦精品视频| 亚洲一区二区三区成人网站| 亚洲AV秘 无码一区二区三| 亚洲精品国产综合久久| 黑人巨大精品欧美一区二区免费| 精品无码久久久久久久动漫| 亚洲精品中文有码字幕| 公厕偷拍一区二区三区四区五区| 国产精品爽黄69天堂a| 手机看片福利日韩国产| 国产女人乱码一区二区三区| 亚洲av日韩av天堂久久| 欧美人妻日韩精品| 久久99久久久精品人妻一区二区| 国产精品婷婷久久爽一下|