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

        ?

        有關(guān)俄羅斯方塊的設(shè)計

        2017-04-06 03:02:57
        福建質(zhì)量管理 2017年12期
        關(guān)鍵詞:方塊界面設(shè)計正方形

        (河北大學(xué) 河北 保定 071000)

        有關(guān)俄羅斯方塊的設(shè)計

        齊子歡

        (河北大學(xué)河北保定071000)

        一、設(shè)計目的

        俄羅斯方塊是一個很經(jīng)典的小游戲,簡單有趣。本次實驗主要是設(shè)計一個易操作且界面美觀的一款俄羅斯方塊游戲。俄羅斯方塊的設(shè)計工作對我這樣的初學(xué)者來說有很大的挑戰(zhàn)性,整個過程種包含的內(nèi)容多,涉及的知識廣泛,在設(shè)計的過程中也實現(xiàn)了知識的應(yīng)用,有利于學(xué)習(xí)框架的建立。

        二、設(shè)計內(nèi)容

        本次設(shè)計可分為游戲設(shè)置、控制、幫助、場景、界面設(shè)計幾大模塊來描述

        游戲設(shè)置模塊:游戲設(shè)置主要實現(xiàn)的功能有速度設(shè)置、背景顏色設(shè)置、方塊顏色設(shè)置、恢復(fù)默認設(shè)置以及退出游戲的設(shè)置。速度設(shè)置分為了慢、中、快三個等級,從而來改變游戲的難易程度;背景顏色設(shè)置主要指的是場景的背景設(shè)置,通過添加了colordialog這個控件來進行顏色的修改;方塊顏色設(shè)置可以對7種組合方式進行顏色的自由搭配,選中該組合即可進行前景色和背景色的改變從而實現(xiàn)一種美觀的漸變效果。

        控制模塊:主要對游戲過程進行控制,包括開始、暫停、重新開始、結(jié)束等操作功能的實現(xiàn)。

        幫助模塊:涉及到鍵盤操作的一些指示性的指令。向下、向左、向右、向下加速對應(yīng)的按鍵。

        場景模塊:主要包括正在運行的俄羅斯方塊和隨機出現(xiàn)的下一個方塊,正在運行的俄羅斯方塊可以通過控制模塊和鍵盤的按鍵來進行一系列的操作。

        界面設(shè)計:整個界面顏色的主要以同類色為主,使整個畫面感更和諧。界面設(shè)計的風格以活潑為主,符合游戲本身的特點,簡單有趣。

        三、設(shè)計方案(程序設(shè)計說明)

        游戲主要由四部分組成:square類,block類,gamefield類,游戲引擎

        Square類 描述的對象是組成大方塊中的每個小正方形實體;

        定義square類之后在這個cs中創(chuàng)建Graphics類的對象g 并進行實例化,以及進行毛刷類GraphicsPath、矩形類Rectangle、顏色類Color、漸變類PathGradientBrush等對象的定義和實例化。從而來實現(xiàn)畫方塊(主要起作用的類有Graphics、GraphicsPath、Rectangle)的操作,并對其進行漸變式顏色的填充。之后進行擦出方塊,主要利用的原理是有場景的背景色對方塊進行填充。

        block類描述的對象是某一個大方塊的實體。每個大方塊由四個小正方形組成,一共有7中組合方式。這個類需要實現(xiàn)一個大方塊實體所有的屬性和動作,包括:方塊的形狀、位置、方塊左移、右移、下移、旋轉(zhuǎn)等。

        class Block

        { public Square square1;?//組成block的四個小方塊public Square square2;public Square square3;public Square square4;private const int squareSize = GameField.SquareSize;?//小方塊的邊長

        方塊的形狀:public enum BlockTypes//一共有7種形狀{ undefined = 0,square = 1,line = 2,J = 3,L = 4,T = 5,Z = 6,S = 7};

        移動的代碼:(左移、下移同理)

        public bool right()//檢測是否可以右

        { if(GameField.isEmpty(square1.location.X / squareSize +1,square1.location.Y / squareSize)&& GameField.isEmpty(square2.location.X / squareSize +1,square2.location.Y / squareSize)&& GameField.isEmpty(square3.location.X / squareSize +1,square3.location.Y / squareSize)&& GameField.isEmpty(square4.location.X / squareSize +1,square4.location.Y / squareSize))

        { Erase(GameField.winHandle);

        square1.location = new Point(square1.location.X + squareSize,square1.location.Y);

        square2.location = new Point(square2.location.X + squareSize,square2.location.Y);

        square3.location = new Point(square3.location.X + squareSize,square3.location.Y);

        square4.location = new Point(square4.location.X + squareSize,square4.location.Y);Draw(GameField.winHandle);return true;} else //如果不能右移了{ return false;}

        gamefield類所描述的對象是游戲場景實體,在其中進行了場景的背景色,大小,方塊是否還可以移動等的設(shè)置。

        游戲引擎,就像一個發(fā)動機一樣讓游戲不間斷運行。本游戲中就是讓方塊以一定的速度下落,并響應(yīng)鍵盤事件,實現(xiàn)左右移動,和向下加速的一些功能。

        聲音播放:使用一個using System.Media來定義一個播放聲音的命名空間,然后創(chuàng)建一個soundplayer的對象,用soundlocation屬性設(shè)置聲音文件的地址,然后調(diào)用play()方法即可進行播放。

        /*播放聲音*/ public static void PlaySound(string soundstr)

        {switch(soundstr){ case "FinishOneLine"://消除一行的聲音 if(!File.Exists("FinishOneLine.wav"))return;sound.SoundLocation = "FinishOneLine.wav";break;case "CanNotDo"://當無法操作時if(!File.Exists("CanNotDo.wav"))return;sound.SoundLocation = "CanNotDo.wav" break;} sound.Play();}

        四、設(shè)計步驟或程序(經(jīng)調(diào)試后正確的源程序)

        (一)首先要定義一個類來描述組成每一個大方塊的小正方形實體;

        (二)進行Graphics類、毛刷類GraphicsPath、矩形類Rectangle、顏色類Color、漸變類PathGradientBrush從而進行小方塊的顏色的填充,完成一個小正方形實體的構(gòu)造;

        (三)進行大方塊進行定義,每四個小正方形組成一個大方塊,并通過調(diào)節(jié)小正方形在位置來形成7中大方塊的組合形式,大方塊便是出現(xiàn)在主頁面場景中的一個個組合;

        (四)進行按鍵方面的指定和一些操作上的限制,例如是否還可以右移、左移、下移,當不能移動時出現(xiàn)聲音提示;暫停、重新開始分別用鍵盤上的空格和回車進行實現(xiàn);

        齊子歡(1995-),女,漢族,河北邯鄲人,學(xué)生,本科,河北大學(xué)教育學(xué)院教育技術(shù)學(xué)專業(yè),研究方向:教育技術(shù)學(xué)。

        猜你喜歡
        方塊界面設(shè)計正方形
        方塊村(1)
        旋轉(zhuǎn)吧!方塊!
        《京燕兒》APP界面設(shè)計
        大眾文藝(2023年22期)2023-12-10 04:27:18
        中醫(yī)養(yǎng)生APP界面設(shè)計
        大眾文藝(2022年19期)2022-10-19 08:18:18
        有多少個方塊
        “共享員工”平臺界面設(shè)計
        包裝工程(2022年14期)2022-07-28 07:07:00
        不一樣的方塊橋
        剪正方形
        面向智能手機的UI界面設(shè)計
        剪拼正方形
        自拍视频国产在线观看| 欧美亚洲国产片在线播放| 亚洲中文字幕第一页在线| 中国人妻沙发上喷白将av| 极品少妇人妻一区二区三区 | 男女啪啪永久免费观看网站| 中年人妻丰满AV无码久久不卡| 国产一级av理论手机在线| 国产精品一区二区三区在线免费| 一本色道无码道在线观看| 欧美老熟妇又粗又大| 美女被插到高潮嗷嗷叫| 青青草成人在线免费视频| 久久久国产精品黄毛片| 麻豆久久五月国产综合| 亚洲福利视频一区二区三区| 国产乱子伦精品无码专区| a级国产乱理论片在线观看| mm在线精品视频| 亚洲在线精品一区二区三区| 免费无码av一区二区三区| 亚洲欧美日韩精品高清| 永久免费在线观看蜜桃视频| 国产农村妇女精品一区| 天天弄天天模| 毛片av在线播放亚洲av网站| 免费看片的网站国产亚洲| 免费看又色又爽又黄的国产软件| 66lu国产在线观看| 少妇被日到高潮的视频| 中文字幕一区二区三区视频| 亚洲男人第一无码av网站| www.日本一区| 日本系列有码字幕中文字幕| 日韩人妻无码精品久久免费一| 天天狠天天透天干天天| 国产自拍成人在线免费视频| 免费无遮挡无码永久视频| 欧美精品一区二区性色a+v| 天堂av在线播放观看| 2019nv天堂香蕉在线观看|