游戏程序魔方Word格式.docx

上传人:b****6 文档编号:19186951 上传时间:2023-01-04 格式:DOCX 页数:13 大小:34.93KB
下载 相关 举报
游戏程序魔方Word格式.docx_第1页
第1页 / 共13页
游戏程序魔方Word格式.docx_第2页
第2页 / 共13页
游戏程序魔方Word格式.docx_第3页
第3页 / 共13页
游戏程序魔方Word格式.docx_第4页
第4页 / 共13页
游戏程序魔方Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

游戏程序魔方Word格式.docx

《游戏程序魔方Word格式.docx》由会员分享,可在线阅读,更多相关《游戏程序魔方Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

游戏程序魔方Word格式.docx

四、程序清单:

#include<

conio.h>

stdio.h>

stdlib.h>

graphics.h>

inta[3][3]={1,1,1,1,1,1,1,1,1};

/*INITIALIZESIXPLANS*/

intb[3][3]={2,2,2,2,2,2,2,2,2};

intc[3][3]={4,4,4,4,4,4,4,4,4};

intd[3][3]={3,3,3,3,3,3,3,3,3};

inte[3][3]={5,5,5,5,5,5,5,5,5};

intf[3][3]={7,7,7,7,7,7,7,7,7};

inttop[3][3],front[3][3],side[3][3];

intposition=0,temp[3]={0,0,0},new[3][3];

/*POSITIONASSIGNTHEARROWPOSITION*/

intsign;

main()

{

intl=60,x=50,y=50,key,count,input=0,errorcode;

/*LMEANSTHELENTHOFTHESQUARE,XMEANSTHEINITAILPOSITIONOFX,YMEANSTHEINITIALPOSITIONOFY*/

inta1[3][3]={1,1,1,1,1,1,1,1,1};

/*INITIALIZESIXPLANSFORBACKUP*/

intb1[3][3]={2,2,2,2,2,2,2,2,2};

intc1[3][3]={4,4,4,4,4,4,4,4,4};

intd1[3][3]={3,3,3,3,3,3,3,3,3};

inte1[3][3]={5,5,5,5,5,5,5,5,5};

intf1[3][3]={7,7,7,7,7,7,7,7,7};

intgraphdriver=VGA,graphmode=VGAHI;

initgraph(&

graphdriver,&

graphmode,"

"

);

errorcode=graphresult();

if(errorcode!

=grOk)/*MEETERROR*/

{/*SHOWTHEERROE*/

printf("

Graphicserror:

%s\n"

grapherrormsg(errorcode));

Pressanykeytoexit:

getch();

exit

(1);

}

drawing(x,y,l);

/*DRAWINGTHEBIGSQUARE*/

drawing(x+400,y,l/2);

/*DRAWINGTHESMALLSQUARE*/

do

sign=position%3;

/*COPYDATATOSHOW*/

copy(&

a,&

top);

b,&

front);

c,&

side);

color(x,y,l);

/*SHOWINGTHEBIGSQUARE*/

e,&

change2(&

top,1);

f,&

front,2);

d,&

color(x+400,y,l/2);

/*SHOWINGTHESMALLSQUARE*/

setcolor(14);

arrow(x,y,l);

key=bioskey(0);

/*READKEYBORD*/

switch(key)

case283:

Esc"

/*IFINPUT_KEY="

ESC"

TOEXITTHEPROGRAM*/

gotoend;

case20480:

setcolor(0);

DOWN"

TOCHANGETHEARROW*/

arrow(x,y,l);

if(position==8)

position=0;

else

position=position+1;

break;

UP"

case18432:

if(position==0)

position=8;

position=position-1;

case19712:

input=1;

RIGHT"

TOMOVEFORWARD*/

case19200:

input=3;

LEFT"

TOMOVEREWARD*/

case7181:

setcolor(0);

ENTER"

TORELOAD*/

copy(&

a1,&

a);

b1,&

b);

c1,&

c);

d1,&

d);

e1,&

e);

f1,&

f);

case14624:

SPACE"

TORANDOMMOVE*/

randomize();

position=random(9);

input=1;

if(input!

=0)/*USEPOSITIONTOJUDGEANDCHANGEDATA*/

{/*IFINPUT=0,CHANGECLOCKWISE,IFINPUT=3,CHANGEREVERSE-CLOCKWISE*/

for(count=0;

count<

input;

count++)

if(position/3==0)/*IFNEEDTOCHANGETOP*/

{

change2(&

b,1);

c,1);

d,3);

f,1);

change1(&

b,3);

c,3);

d,1);

f,3);

temp[0]=0;

temp[1]=0;

temp[2]=0;

if(position%3==0)

a,1);

if(position%3==2)

e,1);

}

if(position/3==1)/*IFNEEDTOCHANGEFRONT*/

if(position/3==2)/*IFNEEDTOCHANGESIDE*/

a,3);

f,2);

e,3);

input=0;

while

(1);

end:

clearviewport();

/*CLEARTHESCREEN*/

drawing(intinital_x,intinital_y,intlenth)/*DRAWINGTHESTRUCTUREOFTHEPICTURE*/

setlinestyle(0,0,3);

line(inital_x+1.5*lenth,inital_y+0,inital_x+4.5*lenth,inital_y+0);

line(inital_x+1.0*lenth,inital_y+0.5*lenth,inital_x+4.0*lenth,inital_y+0.5*lenth);

line(inital_x+0.5*lenth,inital_y+1*lenth,inital_x+3.5*lenth,inital_y+1*lenth);

line(inital_x+0,inital_y+1.5*lenth,inital_x+3*lenth,inital_y+1.5*lenth);

line(inital_x+0,inital_y+2.5*lenth,inital_x+3*lenth,inital_y+2.5*lenth);

line(inital_x+0,inital_y+3.5*lenth,inital_x+3*lenth,inital_y+3.5*lenth);

line(inital_x+0,inital_y+4.5*lenth,inital_x+3*lenth,inital_y+4.5*lenth);

line(inital_x+0,inital_y+1.5*lenth,inital_x+0,inital_y+4.5*lenth);

line(inital_x+1.0*lenth,inital_y+1.5*lenth,inital_x+1.0*lenth,inital_y+4.5*lenth);

line(inital_x+2.0*lenth,inital_y+1.5*lenth,inital_x+2.0*lenth,inital_y+4.5*lenth);

line(inital_x+3.0*lenth,inital_y+1.5*lenth,inital_x+3.0*lenth,inital_y+4.5*lenth);

line(inital_x+3.5*lenth,inital_y+1.0*lenth,inital_x+3.5*lenth,inital_y+4.0*lenth);

line(inital_x+4.0*lenth,inital_y+0.5*lenth,inital_x+4.0*lenth,inital_y+3.5*lenth);

line(inital_x+4.5*lenth,inital_y+0,inital_x+4.5*lenth,inital_y+3.0*lenth);

line(inital_x+1.5*lenth,inital_y+0,inital_x+0,inital_y+1.5*lenth);

line(inital_x+2.5*lenth,inital_y+0,inital_x+1.0*lenth,inital_y+1.5*lenth);

line(inital_x+3.5*lenth,inital_y+0,inital_x+2.0*lenth,inital_y+1.5*lenth);

line(inital_x+4.5*lenth,inital_y+0,inital_x+3.0*lenth,inital_y+1.5*lenth);

line(inital_x+4.5*lenth,inital_y+1.0*lenth,inital_x+3.0*lenth,inital_y+2.5*lenth);

line(inital_x+4.5*lenth,inital_y+2.0*lenth,inital_x+3.0*lenth,inital_y+3.5*lenth);

line(inital_x+4.5*lenth,inital_y+3.0*lenth,inital_x+3.0*lenth,inital_y+4.5*lenth);

color(intinital_x,intinital_y,intlenth)/*FILLCOLORBYTHEDATA*/

inti,j;

intcolor_num;

intx1=inital_x+1.5*lenth;

inty1=inital_y+0.25*lenth;

intx2,y2;

for(i=0;

i<

3;

i++)

x2=x1;

y2=y1;

for(j=0;

j<

j++)

color_num=top[i][j];

setfillstyle(1,color_num);

floodfill(x2,y2,WHITE);

x2=x2+lenth;

x1=x1-0.5*lenth;

y1=y1+0.5*lenth;

x1=inital_x+0.5*lenth;

y1=inital_y+2*lenth;

color_num=front[i][j];

y1=y1+lenth;

x1=inital_x+3.25*lenth;

color_num=side[i][j];

x2=x2+0.5*lenth;

y2=y2-0.5*lenth;

arrow(intinital_x,intinital_y,intlenth)/*DRAWINGTHEARROWBYTHEPOSITION*/

if(position<

=2)

line(inital_x-30,inital_y+2*lenth-3+position*lenth,inital_x-20,inital_y+2*lenth-3+position*lenth);

line(inital_x-30,inital_y+2*lenth+3+position*lenth,inital_x-20,inital_y+2*lenth+3+position*lenth);

line(inital_x-21,inital_y+2*lenth-6+position*lenth,inital_x-15,inital_y+2*lenth+position*lenth);

line(inital_x-21,inital_y+2*lenth+6+position*lenth,inital_x-15,inital_y+2*lenth+position*lenth);

=5&

&

position>

2)

line(inital_x+0.5*lenth+(position-3)*lenth-3,inital_y+4.5*lenth+30,inital_x+0.5*lenth+(position-3)*lenth-3,inital_y+4.5*lenth+20);

line(inital_x+0.5*lenth+(position-3)*lenth+3,inital_y+4.5*lenth+30,inital_x+0.5*lenth+(position-3)*lenth+3,inital_y+4.5*lenth+20);

line(inital_x+0.5*lenth+(position-3)*lenth-6,inital_y+4.5*lenth+21,inital_x+0.5*lenth+(position-3)*lenth,inital_y+4.5*lenth+15);

line(inital_x+0.5*lenth+(position-3)*lenth+6,inital_y+4.5*lenth+21,inital_x+0.5*lenth+(position-3)*lenth,inital_y+4.5*lenth+15);

if(position>

5)

line(inital_x+3.25*lenth+(position-6)*lenth*0.5-3+5,inital_y+4.5*lenth+30-(position-5)*0.5*lenth+20,inital_x+3.25*lenth+(position-6)*0.5*lenth-3+5,inital_y+4.5*lenth+20-(position-5)*0.5*lenth+20);

line(inital_x+3.25*lenth+(position-6)*lenth*0.5+3+5,inital_y+4.5*lenth+30-(position-5)*0.5*lenth+20,inital_x+3.25*lenth+(position-6)*0.5*lenth+3+5,inital_y+4.5*lenth+20-(position-5)*0.5*lenth+20);

line(inital_x+3.25*lenth+(position-6)*lenth*0.5-6+5,inital_y+4.5*lenth+21-(position-5)*0.5*lenth+20,inital_x+3.25*lenth+(position-6)*0.5*lenth+5,inital_y+4.5*lenth+15-(position-5)*0.5*lenth+20);

line(inital_x+3.25*lenth+(position-6)*lenth*0.5+6+5,inital_y+4.5*lenth+21-(position-5)*0.5*lenth+20,inital_x+3.25*lenth+(position-6)*0.5*lenth+5,inital_y+4.5*lenth+15-(position-5)*0.5*lenth+20);

copy(int*p,int*q)

*q=*p;

p++;

q++;

change1(int*p,int*q)/*CONVERTTWOARRAY*/

inti,ling;

p=p+sign;

q=q+sign;

if(temp[0]==0)

for(i=0;

temp[i]=*p;

p=p+3;

p=p-9;

ling=*q;

*q=temp[i];

temp[i]=ling;

q=q+3;

change2(int*p,intx)/*CHANGETHEARRAYBYREVERSE-CLOCKWISE*/

inti,j,k;

for(k=0;

k<

x;

k++)

for(j=2;

j>

=0;

j--)

new[j][i]=*p;

p=p+1;

*p=new[i][j];

五、设计结果说明:

可以通过键盘对魔方进行旋转,但是由于程序设计还不够完善,不能与鼠标并用进行操作,有待改进。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1