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

?

C語言在游戲程序設(shè)計中的應(yīng)用與研究

2018-12-18 11:09:38海南大學(xué)周宇揚
電子世界 2018年23期
關(guān)鍵詞:程序開發(fā)數(shù)據(jù)類型鏈表

海南大學(xué) 周宇揚

引言:隨著TD-LTE移動通信、智能手機等軟硬件技術(shù)的發(fā)展,越來越多的益智型小程序誕生,大大的促進了人們的娛樂生活。C語言作為一種面向過程的程序開發(fā)語言,擁有數(shù)據(jù)、指針、結(jié)構(gòu)體等多種數(shù)據(jù)類型,運行速度非??欤梢浦残詮姡幹朴螒虺绦蚓哂邢忍煨詢?yōu)勢,具有重要的作用和意義。本文基于筆者的研究和分析,首先描述C語言在游戲程序開發(fā)中的優(yōu)勢,然后以經(jīng)典益智游戲俄羅斯方塊為實例,設(shè)計了C語言數(shù)據(jù)、結(jié)構(gòu)體和鏈表,為游戲程序開發(fā)提供參考。

1.C語言在游戲程序中開發(fā)優(yōu)勢

C語言作為一種應(yīng)用程序開發(fā)語言,擁有豐富的數(shù)據(jù)結(jié)構(gòu)類型和運算符,并且開創(chuàng)性的提出了指針類型,實現(xiàn)計算機物理地址的運算,進行位操作,兼具高級程序語言和低級程序語言的優(yōu)點,可以變現(xiàn)系統(tǒng)軟件,也可以開發(fā)應(yīng)用軟件,比如Unix操作系統(tǒng)、Linux操作系統(tǒng)、游戲程序等,利用圖形功能支持各類尺寸的顯示器和驅(qū)動器,計算功能和邏輯判斷能力非常強。C語言在游戲程序開發(fā)中具有很強的優(yōu)勢,如下所述:

(1)面向過程程序開發(fā)。C語言是一種面向過程的語音,程序員可以使用過程或函數(shù)執(zhí)行任務(wù),面向過程語言與人們的日常思考一直,易于學(xué)習(xí)和掌握,能夠面向過程的語音開發(fā)程序,編寫算法實現(xiàn)程序功能。

(2)擁有許多庫文件。C語言提供了大量的函數(shù)程序,包括系統(tǒng)自動生成的函數(shù)和程序語言編寫的函數(shù),C語言編譯器自帶頭文件,這些頭文件中的函數(shù)都是已經(jīng)編寫完成的基本功能,可以直接調(diào)用和使用。

(3)編譯運行速度非???。C語言編譯器產(chǎn)生的機器代碼運行速度非常多,C編譯器編譯千行代碼僅需要兩秒,同時完成優(yōu)化代碼提高執(zhí)行速度功能。

2.C語言在游戲程序設(shè)計中的具體應(yīng)用

俄羅斯方塊是一款風(fēng)靡全球的智能手機應(yīng)用程序,利用移動、旋轉(zhuǎn)和擺放等功能輸出各種方塊,然后將其排列成一行或多行消除得分,俄羅斯方塊看似簡單卻變化無窮,簡單易學(xué)和益智,但是熟練掌握應(yīng)用程序操作卻需要開動腦筋,因此目前的普及程度非常高。本文基于C語言開發(fā)俄羅斯方塊游戲程序,其主要功能包括游戲方塊預(yù)覽、游戲方框控制、游戲分數(shù)統(tǒng)計和游戲幫助功能。

游戲程序初始化運行開始之后,游戲方塊預(yù)覽區(qū)域出現(xiàn)一個游戲方塊,有利于玩家控制游戲策略。俄羅斯方塊有七種不同的方塊組成,因此具有七種策略,游戲方塊生成是隨機的。游戲方塊控制能夠可以實現(xiàn)方塊的自由下落、左移、快速下移、右移、旋轉(zhuǎn)和消除行。游戲分數(shù)控制可以實現(xiàn)分數(shù)增加,消除一行增加100分,也可以自動化返回游戲初始界面。游戲幫助功能可以實現(xiàn)游戲操作提醒功能。俄羅斯方塊的主要算法流程如圖1所示。

圖1 俄羅斯方塊結(jié)構(gòu)化流程圖

俄羅斯方塊采用C語言開發(fā),關(guān)鍵功能是實現(xiàn)數(shù)據(jù)類型的設(shè)計,其余操作實現(xiàn)簡單,數(shù)據(jù)類型包括數(shù)組、結(jié)構(gòu)體和鏈表。

(1)數(shù)組設(shè)計

C語言數(shù)組可以把具有相同類型的數(shù)據(jù)有序組織在一起。俄羅斯方塊使用了三個關(guān)鍵數(shù)組,分別是俄羅斯方塊的四個變換樣式、方塊顏色、玩家游戲得分。

(2)結(jié)構(gòu)體設(shè)計

俄羅斯方塊使用了兩個結(jié)構(gòu)體,分別是方塊結(jié)構(gòu)體Struct Block和Struct BlockInfo,Struct Block可以定義俄羅斯方塊的狀態(tài)和顏色,提示給出下一方塊的信息;Struct BlockInfo能夠定義俄羅斯方塊的移動方向和移動距離。

Struct Block{ unsigned int rockShapeBits;//描述方塊的形狀,8位字節(jié),每4位表示一行

Int nextRockIndex;//表示下一個方塊的數(shù)組下表}Block Type;

Struct BlockInfo { int left; int right; int translate; int drop; int speeddrop} BlockInfo Type; //描述方塊方向

(3)鏈表設(shè)計

C語言最具關(guān)鍵的程序數(shù)據(jù)類型就是指針,利用指針可以設(shè)計鏈表結(jié)構(gòu),鏈表結(jié)構(gòu)可以克服數(shù)據(jù)結(jié)構(gòu)的許多缺點,比如使用數(shù)組必須預(yù)知數(shù)據(jù)大小,這樣很容易浪費內(nèi)存空間。鏈表結(jié)構(gòu)則充分利用計算機的內(nèi)存空間,將所有的分散內(nèi)存空間實現(xiàn)動態(tài)管理,俄羅斯方塊的鏈表定義如下所述fillrectangle(50+(block->x+c01)*BLOCK—LEN,50+(block一>Y+row)*BLOCK LEN。

3.幾點收獲

基于C語言的俄羅斯方塊游戲采用了先進的圖形界面組函數(shù)、數(shù)組、結(jié)構(gòu)體和指針鏈表等技術(shù),能夠?qū)崿F(xiàn)不同類型的方塊生成和加工,下左右快速移動和旋轉(zhuǎn)變形等,也可以利用函數(shù)實現(xiàn)整行消除。俄羅斯方塊有效提升了大眾移動設(shè)備的娛樂需求,也提高了筆者學(xué)習(xí)和掌握C語言的實踐,體會到利用C語言編程需要熟練掌握它的數(shù)據(jù)類型,也需要根據(jù)需求隨機的谷歌或百度C語言的函數(shù)庫,能夠?qū)崿F(xiàn)快速編程和編譯,讓筆者掌握更多的C語言編程設(shè)計方法。同時,基于C語言設(shè)計俄羅斯方塊還可以復(fù)制到其他程序,比如貪吃蛇游戲、五子棋游戲等,一通二百通,更好的為未來C語言應(yīng)用打下基礎(chǔ)。

猜你喜歡
程序開發(fā)數(shù)據(jù)類型鏈表
詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
APP應(yīng)用程序開發(fā)模式探究
電子制作(2019年19期)2019-11-23 08:42:02
基于二進制鏈表的粗糙集屬性約簡
跟麥咭學(xué)編程
基于TestStand的自動檢測程序開發(fā)
電子測試(2018年11期)2018-06-26 05:56:16
基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
基于App inventor 2手機程序開發(fā)過程的學(xué)習(xí)與實——以“喵喵定時器”APP開發(fā)為例
電子制作(2017年1期)2017-05-17 03:54:08
鏈表方式集中器抄表的設(shè)計
電測與儀表(2014年1期)2014-04-04 12:00:22
张掖市| 内黄县| 中宁县| 庄河市| 历史| 尼木县| 怀化市| 仁化县| 孟津县| 阳高县| 浦县| 阜康市| 土默特左旗| 永福县| 东乌珠穆沁旗| 凤庆县| 霍林郭勒市| 平顶山市| 吉木乃县| 大邑县| 沙湾县| 广西| 麟游县| 达日县| 元阳县| 大埔县| 习水县| 西昌市| 崇州市| 栾川县| 江都市| 福安市| 平湖市| 青浦区| 会宁县| 桐柏县| 博野县| 延津县| 湖南省| 甘谷县| 南开区|