国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于JavaScript技術下的Web小游戲隨機地圖的實現(xiàn)

2018-01-15 10:14吳強
科學與財富 2018年34期

吳強

摘要:Web小游戲深受大眾所喜愛的小游戲,本文詳細的介紹在Web平臺下,使用JavaScript腳本語言實現(xiàn)Web小游戲中最為關鍵算法之—“隨機地圖”。

關鍵詞:Web小游戲;JavaScript;隨機地圖

隨著社會的發(fā)展,人們的生活的壓力越來越大,游戲成為了人們放松和解壓的一種方式,為了滿足人們的需要,游戲事業(yè)飛速發(fā)展,游戲開發(fā)的種類也越來越多,越來越新穎。網(wǎng)絡游戲深受大眾的喜愛。

JavaScrip是一款Web開發(fā)的腳本語言,常用來制作網(wǎng)頁的動態(tài)功能,制作Web小游戲使用JavaScrip更加機動靈活。

Web小游戲種類繁多,但是絕大多數(shù)游戲都離不開地圖,如貪吃蛇、連連看、推箱子、泡泡堂等等,每種游戲都有不同的地圖,地圖布局大至分為三類:第一類固定地圖,如推箱子,這類游戲地圖的每一關都是固定的;第二類是所有對像都是隨機的,如連連看游戲,游戲圖片要求成對出現(xiàn),隨機布在二維地圖中;第三類為半隨機地圖,各關地圖都是固定的,但是每一關的果實、道具是隨機布在地圖之中的,如貪吃蛇、泡泡堂等。固定地圖的布局相對來說比較簡單,一般采用一個二維數(shù)組,數(shù)組中的數(shù)分別表示不同的對象,再跟據(jù)這個數(shù)組完成相應布局。而隨機地圖布局的方法有很多種,現(xiàn)在我們就探討一下。

一、分析數(shù)據(jù)二維數(shù)組取數(shù)

現(xiàn)在以“連連看游戲”為例,游戲首先要考慮如何制作地圖,根據(jù)游戲規(guī)則,制作地圖要解決以下幾個問題:一是地圖有多大,有多少行,有多少列;二是每張圖片允許出現(xiàn)多少次;三是排列的圖片應是隨機出現(xiàn)的,每次都不相同。

“連連看”是一個平面游戲,根據(jù)關數(shù)的不同圖片的數(shù)量上也可以有所不同,可以由5行8列的組成,也可以由7行12列的等等,跟據(jù)地圖的大小和難度的不同,同一張圖片可以出現(xiàn)8次也可以出現(xiàn)6次或4次列組成,圖片出現(xiàn)的次數(shù)越少,難度越大?,F(xiàn)在我就以7行12列,每張圖片出現(xiàn)6次為例,7×12共有84張圖片,每張出現(xiàn)6次,一共有14張不同的圖片組成。

平面游戲地圖最為常見的是使用二維數(shù)組來完成,JavaScript中的數(shù)組和其他許多編程語言有所不同,JavaScript中數(shù)組的下標變量可以是任意數(shù)據(jù)類型,根據(jù)游戲要求,JavaScript可以更加方便的制作游戲地圖。制作7×12的地圖每張圖片出現(xiàn)6張,因此定義一個7×12的二維數(shù)組,中間取數(shù)為1至14,每個數(shù)出現(xiàn)6次,程序如下:

二、隨機交換數(shù)組數(shù)據(jù):

以上二維數(shù)組的數(shù)據(jù)是有規(guī)律的,那如何將這個有規(guī)律的數(shù)組數(shù)據(jù)隨機排列呢?可以對二維數(shù)組進行遍歷,每個下標變量都和二維數(shù)組中隨機的取一個下標變量交換數(shù)據(jù),當循環(huán)完畢后,數(shù)組也成為了一個隨機的二維數(shù)組,數(shù)據(jù)是沒有規(guī)律出現(xiàn)的。程序代碼如下:

3、制作圖片類:

JavaScript是一個面向對象的編程軟件,可以做一個圖片對象類,可以記錄每張游戲圖片的基本信息及當前狀態(tài)以便程序訪問。

4、根據(jù)數(shù)組數(shù)據(jù)布置地圖

首先用PhotoShop將做出14張一樣大小的圖片,如40×50像素存為jpg文件,并順序命名為pic0、pic1、pic2……pic14,將圖片存入站點中的圖片文件夾img中,利用JavaScript語言生成HTML代碼實現(xiàn)游戲地圖的布局,代碼如下:

隨機地圖布局的算法還有很多,使用不用的HTML標簽布局JavaScript代碼也不相同,在制作游戲的過程中只有利用每一種軟件的優(yōu)勢,才能更好的制作出優(yōu)秀的Web小游戲。