版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ANYANGINSTITUTEOFTECHNOLOGY
面向?qū)ο蟪绦蛟O(shè)計(jì)(C++)課程大作業(yè)
2015年1月
目錄
一、成員分工....................................................1
二、需求分析.....................................................2
三、總體設(shè)計(jì).....................................................3
四、詳細(xì)設(shè)計(jì).....................................................8
五、系統(tǒng)測試....................................................24
六、總結(jié)........................................................30
七、參考文獻(xiàn)....................................................31
一成員分工
我們小組成員共有三名,分別是劉國松、呂秀錦、高婉婉,為了能按時(shí)圓滿的完成這次VC++課程
設(shè)計(jì),我們小組進(jìn)行了詳細(xì)的分工,以確保設(shè)計(jì)能按時(shí)完成。經(jīng)過周密的考慮和詳細(xì)的調(diào)查最終確定該
俄羅斯方塊游戲需要以下幾個(gè)功能模塊:
(1)需求分析
(2)界面的設(shè)計(jì)
(3)背景色的選擇模塊
(4)游戲隨機(jī)選擇方塊模塊
(5)游戲預(yù)覽功能模塊
(6)收埋功能模塊
(7)記分功能模塊
(8)鼠標(biāo)控制功能模塊
(9)模塊聯(lián)結(jié)
(10)系統(tǒng)測試
經(jīng)過小組成員的討論,并根據(jù)個(gè)人的特長和具體愛好做如下具體分工:
劉國松具體完成以下模塊的設(shè)計(jì)與實(shí)現(xiàn):
(1)需求分析
(2)界面的設(shè)計(jì)
(3)背景色的選擇模塊
呂秀錦具體完成以下模塊的設(shè)計(jì)與實(shí)現(xiàn):
(1)游戲隨機(jī)選擇方塊模塊
(2)游戲預(yù)覽功能模塊
(3)收埋功能模塊
(4)記分功能模塊
高婉婉主要具體完成以下模塊的設(shè)計(jì)與實(shí)現(xiàn):
(1)鼠標(biāo)控制功能模塊
(2)模塊聯(lián)結(jié)
(3)系統(tǒng)測試
二需求分析
1.系統(tǒng)概述
該游戲軟件在Windows系統(tǒng)為玩家提供傳統(tǒng)俄羅斯方塊游戲的基本功能,玩家可以通過鍵盤控制
在游戲區(qū)中堆積軟件隨機(jī)提供的由四個(gè)小方塊不同組合的7種類型不同顏色的方塊,每個(gè)小方格的顏色
也是隨機(jī)的,并且在整個(gè)下落的過程中,其顏色也呈動(dòng)態(tài)變化。游戲過程中,每在游戲區(qū)堆滿一行后,
自動(dòng)消除并記分。同時(shí)消去的行數(shù)越多,那一次性所加的分?jǐn)?shù)也就越多。一行是100,兩行是300,三
行是600,四行是1000分。為了得到更多的分,那么我們游戲者就要想辦法一次盡可能多的消去方塊。
當(dāng)游戲區(qū)不能再堆積新來的方塊時(shí),游戲結(jié)束。游戲設(shè)定3個(gè)級(jí)別,初級(jí),中級(jí)和高級(jí),級(jí)別越高,方
塊下降的速度越快、難度越大,玩家可以根據(jù)自己的需要自由設(shè)定初始游戲級(jí)別,達(dá)到最高級(jí)別時(shí)不再
增加。游戲以最終玩家獲得的分?jǐn)?shù)來判斷玩家水平的高低。游戲?yàn)閷?duì)戰(zhàn)型俄羅斯方塊,玩家依靠自己消
層和使用道具來打擊對(duì)手。當(dāng)玩家游戲池中的磚塊累積到頂端時(shí)游戲失敗。
2.系統(tǒng)運(yùn)行環(huán)境
(1)硬件環(huán)境。本系統(tǒng)適用于那種Inter386以上計(jì)算機(jī),內(nèi)存容量為128M,應(yīng)配備,鍵盤,鼠標(biāo),
顯示器等外部設(shè)備。
(2)軟件環(huán)境。本系統(tǒng)的設(shè)計(jì)采用VisualC++6.0編寫。在WindowsXPSP2環(huán)境下測試通過
(3)本游戲軟件在Windows平臺(tái)下都可以運(yùn)行。
3.功能需求描述
這是一次嘗試,一個(gè)比較成功的設(shè)計(jì),其精彩的算法與漂亮的程序結(jié)構(gòu)足以讓人興奮了。
這個(gè)游戲,不僅可以滿足游戲愛好者對(duì)游戲的要求,同時(shí)我們增加了美觀因素,讓游戲有一個(gè)比
較美觀的界面,滿足我們游戲愛好者的視覺要求。
這有別于常規(guī)的俄羅斯方塊算法,游戲中,玩家依靠自己消層來得分。當(dāng)玩家游戲池中的磚塊累
積到頂端時(shí)游戲失敗。
2
三總體設(shè)計(jì)
1.屏幕的組成
一個(gè)游戲一定要有一個(gè)界面供游戲者對(duì)游戲控制。
這個(gè)界面中要包含讓游戲者更加清楚游戲狀態(tài)的信息,比如,一個(gè)方塊在下落過程中,它的位置
如何,形狀是怎么樣的,要如何放置這個(gè)方塊,以及下一個(gè)方塊是什么形狀,這樣關(guān)系著游戲者要如何
放置方塊,讓整體有個(gè)更加的布局,有利于游戲的進(jìn)行。屏幕由20行13列的網(wǎng)格組成;其中0?2行:
初始的形狀將在這里形成然后下落,這三行用戶不可見;3?19區(qū)域;20,其標(biāo)記已到屏幕底部。在界
面的右邊就是相關(guān)的游戲信息,級(jí)別控制,開始游戲控制,背景色的選擇,當(dāng)前方塊的坐標(biāo),組型,顏
色及類型(ZZ表示)以及目前的得分情況,下一個(gè)預(yù)覽方塊,鼠標(biāo)控制信息(變形,左移,右移和加
速下落),
收埋信息(分別向上,下,左和右收埋,及結(jié)束游戲收埋,這時(shí)將顯示版權(quán)信息)。
2.形狀的組成
每一種形狀都是由四個(gè)方塊組成,比如■■■■由四個(gè)方塊橫向排列而成
3.形狀的統(tǒng)一
■■■■等共19種形狀(旋轉(zhuǎn)前后的形狀歸為不同的形狀),雖然在玩游戲時(shí)我們會(huì)去將各種不
同的形狀有個(gè)不同的命名(比如“條子”,“方塊”等),但在設(shè)計(jì)游戲是它們卻是統(tǒng)一的,它們都是“形
狀”。這一點(diǎn)是游戲成功的基礎(chǔ)。
為了使各種不同的形狀達(dá)到統(tǒng)一的設(shè)計(jì),我設(shè)計(jì)了如下解決方案:將形狀始終放在4X4的格子中,
以該4X4格子的第一個(gè)格子為“基礎(chǔ)點(diǎn)”,只要給出組成形狀的四個(gè)塊相對(duì)于該基礎(chǔ)點(diǎn)的相對(duì)坐標(biāo)。
★□□□★為基礎(chǔ)點(diǎn),形狀各塊的相對(duì)坐標(biāo)是相對(duì)于這個(gè)基礎(chǔ)點(diǎn)的
□□□□
□□□□
□□□□
那么■■■■在其中就如圖:其四個(gè)方塊相對(duì)于基礎(chǔ)點(diǎn)的網(wǎng)格坐標(biāo)就為
(0,2)(1,2)(2,2)(3,2)
□□□□
□□□□
■■■■02122232
□□□□
我們將用一個(gè)int[8]記錄下這四個(gè)相對(duì)坐標(biāo)值
3
同理:
□□□□
□□□□
■02120313
這樣,我們只要知道某個(gè)形狀的相對(duì)坐標(biāo)值數(shù)組,就可以輕松地求出它的各方塊的排列方式,也
就是其形狀(樣子)。
4.移動(dòng)與旋轉(zhuǎn)的統(tǒng)一
從上面我們可以看出形狀的移動(dòng)可以這樣來實(shí)現(xiàn):移動(dòng)基礎(chǔ)點(diǎn)的網(wǎng)格坐標(biāo),然后組成形狀的四個(gè)
方塊按照其與基礎(chǔ)點(diǎn)坐標(biāo)的相對(duì)值而改變網(wǎng)格坐標(biāo),則表現(xiàn)為移動(dòng)。
旋轉(zhuǎn)與移動(dòng)的原理一樣:設(shè)旋轉(zhuǎn)前的形狀為ZZ=0,旋轉(zhuǎn)后的形狀為ZZ=1,組成形狀A(yù)的四
個(gè)方塊按照B(而不是按照A)的相對(duì)于基礎(chǔ)點(diǎn)坐標(biāo)的相對(duì)值而改變網(wǎng)格坐標(biāo),則表現(xiàn)為旋轉(zhuǎn)。
比如,
□□□□
□□□□
■■■■02122232
□□□□
移動(dòng):設(shè)其基礎(chǔ)點(diǎn)網(wǎng)格坐標(biāo)為(gX,gY),其各方塊當(dāng)前坐標(biāo)(gX+0,gY+2),(gX+l,gY+2),
(gX+3,gY+2),(gX+3,gY+2)o如果其向左移動(dòng)一格,那么它的基礎(chǔ)了坐標(biāo)gX-=l;gY=gY;其各方塊
移動(dòng)后坐標(biāo)(gX+0,gY+2),(gX+l,gY+2),(gX+3,gY+2),(gX+3,gY+2)o
旋轉(zhuǎn):設(shè)其基礎(chǔ)點(diǎn)網(wǎng)格坐標(biāo)為(gX,gY),其各方塊當(dāng)前坐標(biāo)(gX+0,gY+2),(gX+l,gY+2),
(gX+3,gY+2),(gX+3,gY+2)。如果其旋轉(zhuǎn)一次,旋轉(zhuǎn)后的形狀如圖
□10111213
那么其旋轉(zhuǎn)后的各方塊坐標(biāo)(gX+l,gY+0),(gX+l,gY+l),(gX+l,gY+2),(gX+l,gY+3)
如果我們將各形狀編號(hào),比如■■■■編號(hào)0,其旋轉(zhuǎn)90度以后的形狀為編號(hào)1
那么0旋轉(zhuǎn)目標(biāo)為1,1的旋轉(zhuǎn)目標(biāo)為0
所以所有形狀便得到了統(tǒng)一,如圖形狀
□□□□
□□□□
4
□□□□
□□□□
■□□□
■□□□
□□□□
□□□□
■■■□
■□□□
□□□□
□□□□
■■■□
□□□□
□□□□
□□□□
□□□□
5
■□□□
□□□□
□□□□
□□□□
□□□□
■□□□
■■■□
□□□□
□□□□
□□□□
□□□□
■■■□
□□□□
■□□□
□□□□
□□□□
6
□□□□
■■■□
□□□□
□□□□
□□□□
□□□□
■■■□
□□□□
■□□□
7
四詳細(xì)設(shè)計(jì)
1.程序流程圖
(1)數(shù)據(jù)流圖
數(shù)據(jù)流圖是對(duì)系統(tǒng)數(shù)據(jù)流向的一種描述,并從本質(zhì)上讓程序的使用者,大致了解系統(tǒng)的使用方法。
本俄羅斯游戲的大致流程圖如下
資源文件
資
源
數(shù)
據(jù)
圖4-1數(shù)據(jù)流圖
(2)系統(tǒng)功能模塊
8
(3)系統(tǒng)流程圖
系統(tǒng)流程圖是對(duì)系統(tǒng)的大致流程進(jìn)行描述,本游戲的系統(tǒng)流程圖如下:
2程序模塊詳細(xì)設(shè)計(jì)
根據(jù)上面所介紹的本系統(tǒng)的各個(gè)模塊及其需要實(shí)現(xiàn)的功能,下面詳細(xì)設(shè)計(jì)如下:
(1)界面的設(shè)計(jì)
程序界面程序在啟動(dòng)運(yùn)行時(shí),系統(tǒng)會(huì)通過調(diào)用視圖類中的重繪圖函數(shù)對(duì)界面進(jìn)行界面的初始化。使
程序界面更加友好,在使用上給用戶一種清新怡然的感覺。其界面如圖所示:
9
***game2<J
Type:20.
i:6.j:10.
groups:5.
分?jǐn)?shù):0.
(2)背景色的選擇模塊
實(shí)現(xiàn)此功能代碼如下:
voidCGameDlg::OnBackcolor()〃背景色
{
CColorDialogdlg(BackColor);//
if(dig.DoModal()==IDOK)
BackColor=dlg.GetColor();
Back=l;
}
10
(3)游戲隨機(jī)選擇方塊模塊
在游戲中,每一個(gè)下落的方塊都是隨機(jī)的,包括顏色,形狀。
實(shí)現(xiàn)此功能相關(guān)代碼如下:
voidCGameDlg::Shape()〃外部框架
{
intline=18;
intrr=4;
CDC*pDC=GetDC();
ASSERT(pDC!=NULL);
CPenpen;
pen.CreatePen(PS_SOLID,1,RGB(0,0,0));
CBrushbrushl,brush2,brush3;
brushl.CreateSolidBrush(RGB(60,60,60));
brush3.CreateSolidBrush(RGB(0,170,0));
brush2.CreateSolidBrush(BackColor);
pDC->Select0bject(pen);
pDC->Select0bject(brushl);
pDC->Rectangle(X-line,Y-line,X+M*r+line,Y+N*r+line);
intb=line*2/3,c=b-rr;
pDC->Select0bject(brush3);
pDC->Rectangle(X-b,Y-b,X+M*r+b,Y+N*r+b);
pDC->Select0bject(brushl);
pDC->Rectangle(X-c,Y-c,X+M*r+c,Y+N*r+c);
pDC->Select0bject(brush2);
pDC->Rectangle(X-2,Y-2,X+M*r+2,Y+N*r+2);
DeleteObject(pen);DeleteObject(brushl);
DeleteObject(brush2);DeleteObject(brush3);
ReleaseDC(pDC);
11
voidCGameDlg::one(intType,inti,intj)〃某元格顏色位置
if(Runing=0)
(
OnDestroy();
return;
}
CDC*pDC二GetDC();
ASSERT(pDC!=NULL);
COLORREFcolor,L_color=RGB(0,0,0);
switch(Type)
{
case0:color=L_color=BackColor;break;
case1:color=RGB(131,129,222);break;
case2:color=RGB(250,90,130);break;
case3:color=RGB(40,220,250);break;
case4:color=RGB(40,120,50);break;
case5:color二RGB(0,250,0);break;
case6:color=RGB(131,19,222);break;
case7:color=RGB(120,190,30);break;
case8:color=RGB(140,20,150);break;
case9:color=RGB(40,120,150);break;
case10:color=RGB(23,62,180);break;
case11:color=RGB(131,129,22);break;
case12:color=RGB(20,190,130);break;
case13:color二RGB(40,234,220);break;
case14:color=RGB(140,70,150);break;
case15:color=RGB(30,150,40);break;
case16:color=RGB(78,203,30);break;
case17:color=RGB(120,100,30);break;
case18:color=RGB(240,70,20);break;
case19:color=RGB(40,180,90);break;
case20:color=RGB(123,62,180);break;
12
case21:color=RGB(120,0,20);break;
case22:color=RGB(0,0,250);break;
case23:color=RGB(0,250,0);break;
case24:color=RGB(0,250,250);break;
case25:color=RGB(250,0,0);break;
case26:color二RGB(250,0,250);break;
case27:color=RGB(250,250,0);break;
case28:color=RGB(250,250,250);break;
case29:color=RGB(rand()%250,rand()%250,rand()%250);break;
case30:color=RGB(rand()%250,rand()%250,rand()%250);break;
case31:color=RGB(rand()%250,rand()%250,rand()%250);break;
case32:color=RGB(rand()%250,rand()%250,rand()%250);break;
case33:color=RGB(rand()%250,rand()%250,rand()%250);break;
case34:color=RGB(rand()%250,rand()%250,rand()%250);break;
}
CPenpen;
CBrushbrush;
pen.CreatePen(PS_SOLID,1,L_color);
brush.CreateSolidBrush(color);
pDC->SelectObject(pen);
pDC->SelectObject(brush);
pDC->Rectangle(X+i*r,Y+j*r,X+(i+l)*r,Y+(j+1)*r);
DeleteObject(pen);
DeleteObject(brush);
ReleaseDC(pDC);
}
(4)游戲預(yù)覽功能模塊
此模塊用來為游戲愛好者提供下一個(gè)方塊的信息,
實(shí)現(xiàn)此功能相關(guān)代碼如下:
voidCGameDlg::PreView()〃預(yù)先顯示組
if(Runing==0)
13
OnDestroy();
return;
)
CTimetm=CTime::GetCurrentTime();
object2.Type=(rand()+tm.GetMinute()+tm.GetSecond())%V+1;
object2.x=M/2;object2.y=0;
object2.group=(tm.GetMinute()*tm.GetSecond()+rand())%7+l;
ZZ2二(rand()+tm.GetDay()*tm.GetHour())%97;
bO二bl=b2=b3=b4=b5=b6=b7=0;
switch(object2.group)
(
case1:b2=0;b3=l;b4=l;b5=0;b6=l;b7=l;break;
case2:b2=0;b3=l;b4=0;b5=~l;b6=l;b7=-l;break;
case3:b2=0;b3=l;b4=0;b5=-l;b6=l;b7=l;break;
case4:b2=0;b3=l;b4=0;b5=2;b6=0;b7=-l;break;
case5:b2=0;b3=-l;b4=l;b5=0;b6=l;b7=l;break;
case6:b2=0;b3=l;b4=l;b5=0;b6=l;b7=-l;break;
case7:b2=0;b3=l;b4=0;b5=2;b6=l;b7=l;break;
}
for(inti=0;i<ZZ2;i++)
ChangeShape(object2);
if(object2.y+b3<0||object2.y+b5<01|object2.y+b7<0||object2.y<0)
object2.y=object2.y+1;
if(object2.y+b3>0&&object2.y+b5>0&&object2.y+b7>0&&object2.y>0)
object2.y=0;
}
voidCGameDlg::0nButtonl()
{
CDC*pDC=GetDC();
ASSERT(pDC!=NULL);
OnDraw(pDC);
ReleaseDC(pDC);
}
14
voidCGameD1g::OnDown()
if(!Runing)
return;
MoveOn(3);
ObjectGroup(object);
KillTimer(11);
SetTimer(ll,10,NULL);
}
voidCGameDlg::0nLeft0
{
if(!Runing)
return;
MoveOn(4);
)
voidCGameDlg::0nRight()
{
if(!Runing)
return;
MoveOn(2);
)
voidCGameDlg::0nUp()
(
if(!Runing)
return;
MoveOn(1);
)
voidCGameDlg::MoveOn(intn)
{
//TODO:Addyourmessagehandlercodehereand/orcalldefault
CDC*pDC=GetDC();ASSERT(pDC!=NULL);
DeleteGroup(object);intb_x=object.x,b_y=object.y;
switch(n)
15
case1:
ChangeShape(object);
ObjectGroup(object);
break;
case2:
object,x=object,x<M-1?object,x+1:M-1;
if(checkl())
object.x=b_x;
ObjectGroup(object);
break;
case3:
object.y=object.y<N-l?object.y+1:N-1;
if(check2())object,y=b_y;
ObjectGroup(object);
break;
case4:
object.x=object.x>l?object.x-l:0;
if(checkl())object,x=b_x;ObjectGroup(object);
break;
case5:
object.y=object.y>l?object.y-1:0;
if(check2())object.y=b_y;
ObjectGroup(object);
break;
}
Show(object);
ReleaseDC(pDC);
}
voidCGameDlg::ClearUp()〃清空預(yù)備顯示地方
{
CDC*pDC=GetDC();
ASSERT(pDC!=NULL);
COLORREFcolor=RGB(233,230,214);
CPenpen;
16
CBrushbrush;
pen.CreatePen(PS_SOLID,1,color);
brush.CreateSolidBrush(color);
pDC->SelectObject(pen);
pDC->SelectObject(brush);
pDC->Rectangle(J_x,J_y,J_x+118,J_y+155);
DeleteObject(brush);
DeleteObject(pen);
ReleaseDC(pDC);
)
(5)收埋功能模塊
此模塊用來收藏游戲界面。
實(shí)現(xiàn)此功能相關(guān)代碼如下:
voidCGameDlg::0nTimer(UINTnIDEvent)〃處理往下運(yùn)動(dòng)過程
{
//===========================2往右收埋
if(nIDEvent=2)
(
MoveWindow(pl.x,pl.y,m_W,m_H);
pl.x+=10;
if(pl.x>desktopRect.Width())
(
KillTimer(2);
Set=2;
Si.left=LW-T;
Si.top=Sj.top;
Si.right=LW;
Si.bottom=Sj.bottom;
)
)
if(nIDEvent==6)
17
MoveWindow(pl.x,pl.y,m_W,m_H);
pl.x-=10;
if(pl.x<=pp.x)
KillTimer(6);
}
〃===============3往上收埋
if(nIDEvent=3)
(
MoveWindow(pl.x,pl.y,m_W,m_H);
pl.y+=10;
if(pl.y>desktopRect.Height())
(
KillTimer(3);
Set=3;
Si.left=Sj.left;
Si.top=LH-T;
Si.right=Sj.right;
Si.bottom=LH;
)
}
if(nIDEvent=7)
{
MoveWindow(pl.x,pl.y,m_W,m_H);
pl.y-=10;
if(pl.y<=pp.y)
KillTimer(7);
}
//=========================1往下收埋
if(nIDEvent=l)
(
MoveWindow(pl.x,pl.y,m_W,m_H);
pl.y-=10;
if(pl.y+m_H+10<0)
18
KillTimer(1);
Set=l;
Si.left=Sj.left;
Si.top=0;
Si.right=Sj.right;
Si.bottom=T;
)
}
if(nIDEvent=5)
{
MoveWindow(pl.x,pl.y,m_W,m_H);
pl.y+=10;
if(pl.y>=30)
KillTimer(5);
}
//=======================4往左收埋
if(nIDEvent==4)
(
MoveWindow(pl.x,pl.y,m_W,mH);
pl.x-=10;
if(pl.x+m_W+10<0)
(
KillTimer(4);
Set=4;
Si.left=0;
Si.top=Sj.top;
Si.right=T;
Si.bottom=Sj.bottom;
if(nIDEvent==8)
MoveWindow(pl.x,pl.y,m_W,m_H);
19
pl.x+=10;
if(pl.x>=30)
KillTimer(8);
)
(6)記分功能模塊
此模塊用來記錄在游戲過程中,玩家所得的分?jǐn)?shù)。并且一次性消去的方塊行數(shù)越多,那么得到的分
數(shù)也就越多。
實(shí)現(xiàn)此功能相關(guān)代碼如下:
voidCGameDlg::KeepData()〃保存放好所在位置
{
G[object.x+aO][object.y+al]=object.Type;
G[object.x+a2][object.y+a3]=object.Type;
G[object.x+a4][object.y+a5]=object.Type;
G[object.x+a6][object.y+a7]=object.Type;
inti,j,k,p,q,o=0;
for(i=0;i<M;i++)
if(G[i][l]>0||G[i][0]>0)
(
Runing=0;
AfxMessageBox("游戲結(jié)束!");
CGameDlgdig;
dig.DoModal();
return;
)
for(j=NT;j>=0;j—)
(
for(i=0,k=0;i<M;i++)
if(G[i][j]>0)
k++;
if(k二二M)
o++;
20
for(p=j;p>=l;p-)
for(q=0;q<M;q++)
(
G[q][p]=G[q][p-1];
one(G[q][p],q,p);
)
for(q=0;q<M;q++)
(
G[q][0]=0;
one(G[q][p],q,p);
)
j++;
Score+=100*o;
)
)
)
(7)鼠標(biāo)控制功能模塊
此模塊也是本游戲的重點(diǎn),玩家通過鼠標(biāo)控制進(jìn)行游戲。向上是變換圖形,向下是很方塊快速下落,
向左是使方塊向左移動(dòng),向右是很方塊向右移動(dòng)。
程序的具體實(shí)現(xiàn)部分如程序清單如下所示。
voidCGameDlg::ChangeShape(OBJECTobject)〃轉(zhuǎn)組
(
intz[4][2]={0};
inti,j,k;
if(Runing==0)
{
OnDestroy();
return;
)
do{
switch(object,group)
21
easel:ZZ=O;z[l][O]=l;z[l][l]=0;z[2][0]=0;z[2][l]=l;z[3][0]=l;z[3][1]=1;break;
case2:ZZ++;ZZ%=4;switch(ZZ)
{
caseO:z[l][O]=-l;z[l][l]=0;z[2][0]=l;z[2][l]=0;z[3][0]=-l;z[3][1]=-1;break;
casel:z[l][O]=O;z[l][1]=1;z[2][0]=0;z[2][l]=-l;z[3][0]=l;z[3][1]=-1;break;
case2:z[l][O]=-l;z[l][l]=0;z[2][0]=l;z[2][l]=0;z[3][0]=l;z[3][1]=1;break;
case3:z[l][O]=O;z[l]z[2][0]=0;z[2][l]=l;z[3][0]=-l;z[3][1]=1;break;
}
break;
case3:ZZ++;ZZ%=4;
switch(ZZ)
(
caseO:z[l][0]=~l;z[l][l]=0;z[2][0]=l;z[2][l]=0;z[3][0]=l;z[3][1]=~1;break;
casel:z[l][O]=O;z[l][1]=1;z[2][0]=0;z[2][l]=-l;z[3][0]=l;z[3][1]=1;break;
case2:z[l][O]=-l;z[l][l]=0;z[2][0]=l;z[2][l]=0;z[3][0]=-l;z[3][1]=1;break;
case3:z[l][O]=O;z[l][1]=-1;z[2][0]=0;z[2][l]=l;z[3][0]=-l;z[3][1]=-1;break;
}
break;
case4:ZZ++;ZZ%=2;
switch(ZZ)
{
casel:z[l][O]=O;z[l][1]=-1;z[2][0]=0;z[2][l]=2;z[3][0]=0;z[3][l]=l;break;
caseO:z[l][O]=l;z[l][l]=0;z[2][0]=2;z[2][l]=0;z[3][0]=~l;z[3][l]=0;break;
}
break;
case5:
ZZ++;ZZ%=2;
switch(ZZ)
(
casel:z[l][O]=O;z[l]z[2][0]=l;z[2][l]=0;z[3][0]=l;z[3][1]=1;break;
case0:
z[l][0]=0;z[l][1]=1;z[2][0]=-l;z[2][l]=l;z[3][0]=l;z[3][l]=0;break;
)
break;
case6:ZZ++;ZZ1=2;
22
switch(ZZ)
case1:
z[l][O]=O;z[l][1]=1;z[2][0]=l;z[2][l]=0;z[3][0]=l;z[3][1]=-1;break;
caseO:z[l][0]=-l;z[l][l]=0;z[2][0]=0;z[2][l]=l;z[3][0]=l;z[3][1]=1;break;
}
break;
case7:
ZZ++;ZZ%=4;
switch(ZZ)
{
case0:
z[l][0]=0;z[l]z[2][0]=l;z[2][l]=0;z[3][0]=-l;z[3][l]=0;break;
case1:
z[l][0]=0;z[l][1]=1;z[2][0]=0;z[2][l]=-l;z[3][0]=l;z[3][
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省棗莊市滕州市滕州市第一中學(xué)2025屆高三下學(xué)期第五次調(diào)研考試英語試題含解析
- 2025屆吉林省通榆一中高三3月份第一次模擬考試語文試卷含解析
- 八年級(jí)期末測試卷(課件)課件
- 2025屆廣東省深圳建文外國語學(xué)校高考?jí)狠S卷英語試卷含解析
- 現(xiàn)代學(xué)徒制課題:中國特色學(xué)徒制質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)研究(附:研究思路模板、可修改技術(shù)路線圖)
- 現(xiàn)代學(xué)徒制課題:基于中國特色學(xué)徒制的工匠精神培養(yǎng)路徑研究(附:研究思路模板、可修改技術(shù)路線圖)
- 河南省鶴壁市??h第二高級(jí)中學(xué)2025屆高三3月份模擬考試英語試題含解析
- 上海市浦東新區(qū)進(jìn)才中學(xué)2025屆高考語文三模試卷含解析
- 廣東省深圳實(shí)驗(yàn)學(xué)校2025屆高三3月份模擬考試英語試題含解析
- 2025屆浙江省越崎中學(xué)高三最后一卷語文試卷含解析
- 拆除、報(bào)廢記錄表
- 生命密碼-課件
- 幼兒園小班美術(shù)教案《做蛋糕》含反思
- 動(dòng)畫制作員職業(yè)技能鑒定考試題庫-下(多選、判斷題部分)
- 急救中心急救站點(diǎn)建設(shè)標(biāo)準(zhǔn)
- 高中化學(xué)《元素周期表和元素周期律的應(yīng)用》優(yōu)質(zhì)課教學(xué)設(shè)計(jì)、教案
- 工序標(biāo)準(zhǔn)工時(shí)及產(chǎn)能計(jì)算表
- 汽車后尾燈試驗(yàn)報(bào)告
- 住院HIS系統(tǒng)流程圖
- 田徑活動(dòng)記錄第一學(xué)期記錄
- 全國家庭教育工作評(píng)估方案
評(píng)論
0/150
提交評(píng)論