亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

.NET實現魔方游戲(一)之任意階魔方的表示

2024-07-10 13:29:53
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了.NET實現魔方游戲(一)之任意階魔方的表示 的相關資料,需要的朋友可以參考下
 

第一節 魔方的簡單表示

  對于任意N階的魔方均有六個面(Surface),每個面有N*N個方塊。在面向對象的程序設計里,我們可以把魔方(Cube)、魔方的面(Surface)和面的方塊(Block)均視作為對象。

  魔方的定義:六個面存儲在一個數組

''' <summary>''' 表示一個指定階的魔方''' </summary>Public Class CubeClass''' <summary>''' 魔方階數''' </summary>Public CubeRank As Integer''' <summary>''' 魔方的六個表面''' </summary>Public SurfaceArray(5) As CubeSurfaceClassEnd Class 

  魔方的面定義:方塊存儲為N*N的二維數組

''' <summary>''' 表示一個魔方的面''' </summary>Public Class CubeSurfaceClass''' <summary>''' 魔方表層的塊數據''' </summary>Public BlockData(,) As CubeBlockClassEnd Class

  魔方的塊定義:每個塊具有獨立的顏色

''' <summary>''' 表示魔方面上的一個方塊''' </summary>Public Class CubeBlockClass''' <summary>''' 當前塊的顏色''' </summary>Public BlockColor As ColorPublic x As Integer '所在列數Public y As Integer '所在行數End Class

  上述,我們完成了魔方類的簡單定義,并且確立了之間的從屬關系。這里有一點需要注意,方塊(BlockClass)是指魔方的單個顏色塊。

  所以N階魔方應有6*N*N個顏色塊,以三階魔方為例,它應有54個顏色塊(BlockClass)。

--------------------------------------------------------------------------------

第二節 面之間的空間關系

  魔方的六個面之間并非獨立的,而是存在一定的空間關系。前面在CubeClass中定義了SurfaceArray()表示魔方的六個面,現在索引0~5分別指示魔方的頂層,底層,左側,右側,前方,后方六個面。

  SurfaceArray(0):頂層

  SurfaceArray(1):底層

  SurfaceArray(2):左側

  SurfaceArray(3):右側

  SurfaceArray(4):前方

  SurfaceArray(5):后方

.NET實現魔方游戲(一)之任意階魔方的表示

圖2.1 魔方六面的空間位置

  由此確定了各個面的空間方位,給SurfaceClass添加如下定義:

''' <summary>''' 當前表層的相鄰表層(頂、底、左、右、前和后)''' </summary>

Public NeibourSurface(5) As CubeSurfaceClass 

  NeibourSurface()的索引從0~5依次指示當前面的頂、底、左、右、前和后。以圖2.1“右面”為例,它的NeibourSurface()

應該為

  NeibourSurface(0):頂層

  NeibourSurface(1):底層

  NeibourSurface(2):前方

  NeibourSurface(3):后方

  NeibourSurface(4):右側,每一個面的“前”就是它自身

  NeibourSurface(5):左側

  但上述是默認為"右面"的"上方"就是頂層。所以我們還需要

對每一個面的“上方”進行嚴格的定義:

.NET實現魔方游戲(一)之任意階魔方的表示

圖2.2 魔方六面的空間位置_平面展開

.NET實現魔方游戲(一)之任意階魔方的表示

圖2.3 魔方六面"上方"的方向

  由上,我們可以確定各面之間的空間關系:

Dim TempArray(,) As Integer = {{2, 3, 4, 5, 0, 1},{3, 2, 4, 5, 1, 0},{1, 0, 4, 5, 2, 3},{0, 1, 4, 5, 3, 2},{0, 1, 2, 3, 4, 5},{0, 1, 3, 2, 5, 4}} '空間相鄰關系矩陣 

  該矩陣行數值指某個面在SurfaceArray()中的索引,列數表示這個面相鄰的面在SurfaceArray()的索引。前面提到每一個面的“前”就是它自身,矩陣的第五列從0依次到5。

  在CubeClass類中添加如下方法,并在構造函數中調用:

''' <summary>'''初始化各個表層間的空間相鄰關系''' </summary>
Public Sub InitSurface()Dim TempArray(,) As Integer = {{2, 3, 4, 5, 0, 1},{3, 2, 4, 5, 1, 0},{1, 0, 4, 5, 2, 3},{0, 1, 4, 5, 3, 2},{0, 1, 2, 3, 4, 5},{0, 1, 3, 2, 5, 4}} '空間相鄰關系矩陣For i = 0 To 5For j = 0 To 5SurfaceArray(i).NeibourSurface(j) = SurfaceArray(TempArray(i, j))NextNextEnd Sub 

--------------------------------------------------------------------------------

第三節 魔方的初始化

  魔方(CubeClass)的構造函數:六面的顏色標準:頂-白色,底-黃色,左-橙色,右-紅色,前-綠色,后-藍色

''' <summary>''' 新建一個指定階的魔方''' </summary>''' <param name="nRank">指定的階數</param>Public Sub New(ByVal nRank As Integer)Dim ColorArr() As Color = {Color.White, Color.Yellow, Color.Orange, Color.Red, Color.Green, Color.Blue}For i = 0 To 5SurfaceArray(i) = New CubeSurfaceClass(nRank, i, ColorArr(i))NextCubeRank = nRankInitSurface()End Sub 

  魔方面(CubeSurfaceClass)的構造函數:

''' <summary>''' 當前魔方的階數''' </summary>Public CubeRank As Integer''' <summary>''' 魔方表層的數據''' </summary>Public BlockData(,) As CubeBlockClass''' <summary>''' 當前表層的相鄰表層(頂、底、左、右、前和后)''' </summary>Public NeibourSurface(5) As CubeSurfaceClassPublic Index As IntegerPublic Sub New(nRank As Integer, nIndex As Integer, nColor As Color)ReDim BlockData(nRank - 1, nRank - 1)CubeRank = nRankIndex = nIndexDim rnd As New RandomFor i = 0 To nRank - 1For j = 0 To nRank - 1BlockData(i, j) = New CubeBlockClass(i, j)BlockData(i, j).ParentIndex = IndexBlockData(i, j).BlockColor = nColorNextNextEnd Sub 

  魔方塊(CubeBlockClass)的構造函數:

Public ParentIndex As Integer''' <summary>''' 當前塊的顏色''' </summary>Public BlockColor As ColorPublic x As Integer '所在列數Public y As Integer '所在行數Public Sub New(nX As Integer, nY As Integer)x = nXy = nYEnd Sub 

  至此,一個任意階的魔方已可以被表示,并且在此基礎上將可以實現魔方的扭動邏輯。

以上所述是針對.NET實現魔方游戲(一)之任意階魔方的表示,希望對大家有所幫助。



注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区精品丝袜| 日韩第一页在线| 国产成人精品久久| 538国产精品一区二区在线| 国产亚洲精品久久久久久牛牛| 国产999精品久久久影片官网| 久久久精品亚洲| 欧美最猛性xxxxx亚洲精品| 亚洲精品国产精品乱码不99按摩| 久久精品视频va| 神马久久桃色视频| 亚洲摸下面视频| 国产精品丝袜白浆摸在线| 欧美高清激情视频| 欧美在线性视频| 色综合老司机第九色激情| 九九热最新视频//这里只有精品| 亚洲欧美激情精品一区二区| 欧美成人免费一级人片100| 成人午夜黄色影院| 国产精品久久久久免费a∨| 欧美日韩国产中字| 国产精品毛片a∨一区二区三区|国| 91精品久久久久久久久久久久久| 欧美日韩激情视频8区| 一区二区三区美女xx视频| 国产午夜精品美女视频明星a级| 亚洲国产精品专区久久| 日韩在线中文字| 亚洲第一精品福利| 日韩欧美一区二区三区| 亚洲一区二区免费| 久久精品福利视频| 欧美成人性生活| 欧美乱人伦中文字幕在线| 欧美国产日韩一区二区三区| 久久福利网址导航| 乱亲女秽乱长久久久| 国产美女精品免费电影| 色中色综合影院手机版在线观看| www.午夜精品| 欧美电影在线观看| 亚洲精品视频二区| 69久久夜色精品国产69乱青草| 国产精品欧美一区二区三区奶水| 欧美大尺度在线观看| 亚洲欧美日韩一区二区三区在线| 久久久久久久久久久免费| 国产精品久久久久久久久久久久久久| 欧美视频免费在线| 欧美一级片在线播放| 狠狠综合久久av一区二区小说| 永久免费毛片在线播放不卡| 欧美人与性动交a欧美精品| 狠狠躁夜夜躁人人躁婷婷91| 国产在线观看精品一区二区三区| 亚洲一区制服诱惑| 97超视频免费观看| 久久久999精品| 国内揄拍国内精品| 青青青国产精品一区二区| 国产成人精品日本亚洲专区61| 日韩视频精品在线| 亚洲电影第1页| 亚洲肉体裸体xxxx137| 欧美日韩亚洲一区二| 欧美精品久久久久a| 在线看片第一页欧美| 欧美亚洲另类激情另类| 一区二区三区黄色| 国产一区二区三区在线播放免费观看| 成人性生交大片免费看小说| 久久人91精品久久久久久不卡| 深夜福利91大全| 国产成人精品午夜| 亚洲自拍另类欧美丝袜| 国产亚洲欧洲高清一区| 一区二区三区亚洲| 欧美性在线观看| 亚洲国产成人精品一区二区| 91久久国产婷婷一区二区| 欧美大片免费看| 亚洲成人av在线播放| 亚洲视频在线观看| 自拍偷拍亚洲一区| 日韩av综合网站| 国产精品爽爽爽爽爽爽在线观看| 久久91超碰青草是什么| 国产精品福利观看| 中文字幕无线精品亚洲乱码一区| 91免费版网站入口| 国产精品久久久亚洲| 在线成人激情黄色| 久久久久久国产免费| 日本免费在线精品| 美女福利视频一区| 欧美韩国理论所午夜片917电影| 狠狠躁夜夜躁人人躁婷婷91| 日本久久久久久久| 性欧美在线看片a免费观看| 一个人看的www欧美| 亚洲伊人久久大香线蕉av| 久久精品国产清自在天天线| 亚洲午夜国产成人av电影男同| 欧美日本亚洲视频| 中文字幕不卡av| 国产亚洲在线播放| 欧洲一区二区视频| 黑人巨大精品欧美一区二区三区| 欧美激情在线狂野欧美精品| 日韩中文字幕在线| 欧美俄罗斯性视频| 中文字幕亚洲精品| 久久99亚洲热视| 亚洲国产精品久久久久| 97福利一区二区| 亚洲图片在区色| 亚洲国产精品va在线观看黑人| 亚洲精品视频免费在线观看| 亚洲影视九九影院在线观看| 国产suv精品一区二区| 亚洲人成电影网| 久久成人精品一区二区三区| 国产在线视频欧美| 国产精品久久久一区| 亚洲视频网站在线观看| 亚洲加勒比久久88色综合| 国产男人精品视频| 91久久久久久久久久久久久| 国产成人精品在线观看| 国语自产精品视频在线看一大j8| 欧美激情国内偷拍| 日韩av影视在线| 日韩中文字幕精品| 精品性高朝久久久久久久| 亚洲第一偷拍网| 日韩电视剧免费观看网站| 九九九热精品免费视频观看网站| 久久久久久久久久国产| 国产成人精品免高潮在线观看| 九色精品美女在线| 国产精品中文字幕在线| 亚洲欧美三级伦理| 欧美日韩在线视频观看| 久久影视电视剧免费网站清宫辞电视| 久久视频免费在线播放| 九九久久久久久久久激情| 国产精品一久久香蕉国产线看观看| 成人免费淫片aa视频免费| 欧美激情精品久久久久久大尺度| 国产+人+亚洲| 精品视频一区在线视频| 亚洲桃花岛网站| 2025国产精品视频| 日韩av最新在线| 91精品久久久久久久久青青| 欧美极品少妇与黑人| 国产亚洲精品激情久久| 日本精品一区二区三区在线播放视频| 日韩一二三在线视频播| 亲爱的老师9免费观看全集电视剧| 日韩最新免费不卡| 日韩av123| 一区二区三区视频免费在线观看|