任 燕 曾金輝
(遵義師范學院計算機與信息科學學院,貴州 遵義 563002)
在這個網絡發達的信息化時代,各種游戲如雨后春筍般涌現出來,比如有動作的、冒險的、策略的、射擊的等等;游戲可以使人放松,因此現在已經很少有完全沒接觸過游戲的人存在了,游戲已漸漸成為人類文化藝術的一個重要組成部分。由于很多人都會沉溺于游戲中不能自拔,影響了他們的正常生活,所以現在游戲開發者也越來越傾向于開發益智類、接近生活類的游戲,如棋類游戲、球類游戲等。游戲的實質是一種交互式的應用軟件,具備著交互、系統、畫面、聲音等元素的游戲才是一個完整的游戲。制作游戲的方法多種多樣,而制作出的游戲也各有特色,當人們將注意力重心轉移到簡易與輕松的時候,Flash 游戲就一躍進入了人們的眼簾。
Flash 是一種交互式動畫設計工具,用它可以將音樂、聲效、動畫以及富有新意與創意的界面融合在一起,以制作出高品質的動畫游戲效果。Flash 使用矢量圖形和流式播放技術,與位圖圖形不同的是,矢量圖形可以任意縮放尺寸并且不影響圖形的質量,生成的影片文件所占體積小;流式播放技術使得動畫游戲可以邊播放邊下載,從而緩解了玩家焦急等待的情緒。Flash 游戲的算法實現,主要依賴于腳本即Flash 自身的ActionScript 語言,它是一種面向對象的程序語言,它可以控制Flash 中的對象,創建各種元素,擴展Flash 的交互能力和應用能力,將ActionScript 使用好,將是游戲制作成功的關鍵。使用Flash 制作的游戲擁有各種分類,最常見的類型主要有3 類,即:動作類(ACT),解謎類(AVG)與角色扮演類(RPG)。
我們知道,很多人長時間地待在一個地方一刻不停地工作,很難得到適當的休息,即使有空余時間休息,休息的時間也比較短暫,如果有不需要花太多時間、能速戰速決的游戲,那么我們就可以在短時間內獲得放松,因此有必要開發一個小型的Flash 動畫游戲。按類型分類,五子棋游戲應該歸類于解謎類游戲(AVG)之中的休閑小類,它是一種兩個人對弈的純策略型棋類游戲,屬于益智型游戲,起源于中國古代的傳統的黑白棋種之一。最初是在日本發展起來的,在歐美比較流行。它簡單易懂,操作方便,適合工作學習之余想要放松自己的人群,同時也適合于對兒童進行邏輯思維能力的培養鍛煉。
經過上面的需求分析,此五子棋游戲系統應包含系統初始化模塊、下棋模塊和結束模塊3 大功能模塊,其中下棋模塊又包含初始化棋盤模塊、玩家下棋模塊和電腦下棋模塊3個子模塊。功能分別描述如下:
(1)系統初始化模塊:顯示游戲規則,并進入游戲。
(2)下棋模塊:為電腦和玩家繪制且顯示棋子,并為電腦分析最佳位置。
(3)初始化棋盤模塊:設置電腦在棋盤中間固定位置下一個白棋子,并提示玩家接下一個棋。
(4)玩家下棋模塊:為玩家繪制并顯示一個黑棋子。
(5)結束模塊:判斷并顯示輸贏,然后重新開始或退出游戲。
游戲運行之后會顯示游戲規則,在此處點擊進入游戲按鈕即可開始游戲。首先會初始化棋盤,電腦會下第一個點(白子),此時等待玩家落子(黑子),玩家落子后系統會判斷此時誰達到了贏的條件,若都沒有達到,輪到電腦思考、下棋,再判斷,再交替,直到玩家或電腦達到贏的條件,此時顯示結果并可選擇是否重新開始或退出游戲。
(1)初始化棋盤模塊:在這個模塊中,必須先定義好棋盤的盤面坐標數組pmzb[15][15],玩家棋子數組wjqz[15][15][4]和電腦棋子數組dnqz[15][15][4],并將其初始化為0,定義棋子可能落子的8個方向,也就是4個對稱方向的數組,并初始化棋盤,讓電腦先在中間下一個棋子,然后把下棋權交給玩家。
(2)玩家下棋模塊:該模塊主要是接收玩家下的棋子的各種信息然后為玩家繪制棋子并作出相應的判斷和記錄,故在這里應該設置一個棋盤按鈕來實現。
(3)電腦下棋模塊:該模塊采用冒泡法,冒泡法是一種排序的算法。在該模塊中,為了使電腦能對棋盤上的棋子進行比較,需要定義一個列表函數用來記錄棋盤上所有棋子的信息,如坐標、棋盤上還有沒有空位置、各個方向的棋子情況等等,并作出相應判斷,記錄最佳位置,把最佳位置記錄賦給主函數并繪制出電腦的棋子顯示在棋盤上,最后把下棋權交給玩家,直到對弈結束。
根據五子棋游戲的制作需要,首先在Flash 中盡量把必須的一些影片剪輯、按鈕、圖片等3 種類型的元件準備好,為布置游戲場景做好充分的準備。經分析,圖形元件有“棋盤”;按鈕元件有“按鈕1”、“進入游戲”、“重新開始”;影片剪輯元件有“規則界面”、“白棋”、“黑棋”、“棋盤按鈕”、“下棋”、“電腦思考”和“游戲結束”等。
在主場景中,從【庫】面板中將“棋盤”圖形元件布置在圖層1 對應幀上;將“白棋”、“黑棋”、“棋盤按鈕”影片剪輯元件布置在圖層2 對應幀上;將“進入游戲”按鈕元件布置在圖層3 對應幀上;將“規則界面”、“電腦思考”、“游戲結束”和“下棋”影片剪輯元件布置在圖層4 對應幀上。并對在每個圖層上添加的實例設置相應實例名。
新建圖層,命名為“AS”,分別選擇“AS”圖層的第1 幀、第2 幀、第6 幀、第7 幀和第10 幀,按F7 鍵,插入空白關鍵幀。在相應幀上打開動作面板,添加相應代碼。所涉及到的ActionScript 腳本代碼主要有fscommand、if、gotoAndPlay、stop 等等。
在進行游戲發布之前進行游戲測試,按Ctrl+Enter 調用Flash 播放器對整個游戲進行調試。測試成功后打開屬性面板,找到“發布設置”,在“發布設置”對話框中勾選Flash(.swf)、HTML(.html)、Windows 放映文件(.exe)3個選項,點擊“發布”則可分別生成一個影片文件、一個網頁文件和一個應用程序文件。
實踐證明,由于Flash 具備著那些面向一般用戶的軟件所具有的便利性,使游戲開發過程變得比較簡易,即使是面對新手也具有較強的可操作性。此外在小游戲范疇,使用Flash 所制作出的游戲即使和專業的程序設計軟件相比,也毫不遜色。
[1]郝春雨,唐有明,朱俊成,等.Flash CS3 典型應用100 例[M].北京:電子工業出版社,2008:162-201.
[2]付巖.基于Flash 的游戲設計與開發[J].計算機光 盤軟件 與應用,2013,3:173-174.
[3]肖剛.回合制Flash 游戲開發的通用框架[J].閩江學院學報:自然科學版,2006,27(2):53-56。