拼图游戏C#代码文档格式.docx
《拼图游戏C#代码文档格式.docx》由会员分享,可在线阅读,更多相关《拼图游戏C#代码文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
staticintiii=0;
//用于统计步数
staticint[,]paixu=newint[20,20];
//用来存储对应难度的排行榜
staticint[]tongjishuzu={0,0,0,0,0,0,0};
//统计各难度的排行
staticboolyanse11=false;
//用来判断是否产生随机背景颜色
staticboolyanselll=false;
//用来判断是否产生随机字体颜色
///<
summary>
///对数组进行排序
/summary>
paramname="
x"
>
<
/param>
nandu"
publicstaticvoidpaixushuzu(intx,intnandu)//用直接选择排序方式对排行榜进行排序
if(x>
10)
x=10;
for(inti=1;
i<
x;
i++)//用直接选择排序方式对排行榜进行排序
intb=0;
for(intj=0;
j<
=x-i;
j++)
if(paixu[nandu-3,j]>
=paixu[nandu-3,b])
b=j;
else
continue;
}
inth;
h=paixu[nandu-3,b];
paixu[nandu-3,b]=paixu[nandu-3,x-i];
paixu[nandu-3,x-i]=h;
///输出排行榜
returns>
/returns>
publicstaticboolshuchu()
intxxxf=0;
boolxxxxxx=false;
while(true)
Console.WriteLine("
请选择排行榜:
A.3*3B.4*4C.5*5D.6*6E.7*7F.8*8G.9*9"
);
paochuyichang(xxxxxx);
string[]jieshou=jieshoufanghuizifuchang();
if("
A"
==jieshou[1]||"
B"
C"
D"
E"
F"
G"
a"
b"
c"
d"
e"
f"
g"
==jieshou[1])
switch(jieshou[0])
case"
:
xxxf=0;
break;
xxxf=1;
xxxf=2;
xxxf=3;
xxxf=4;
xxxf=5;
xxxf=6;
Console.Clear();
xxxxxx=true;
if(tongjishuzu[xxxf]==0)
您所玩游戏次数为零,没有任何排行!
"
{0}*{1}排行榜为:
xxxf+3,xxxf+3);
inttemp=tongjishuzu[xxxf];
if(temp>
temp=10;
for(inti=0;
temp;
i++)
No.{0}:
\t\t{1}"
i+1,paixu[xxxf,i]);
请按任意键返回!
ConsoleKeyInfoch=Console.ReadKey(true);
//定义一个从键盘接受字符的变量
returnfalse;
///输出游戏提示玩法
publicstaticbooldes()
Console.Write("
\t\t本游戏为数字拼图1.1版本,在w,a,s,d基础\n\t上增加方向键控制数字板移动\n\n\t界面仍然很简陋,仅有控制台,但已很接近图形界面\n\n\t其中数字为可移动板,空格为可移动位置\n\n\t按任意键返回..."
///产生随机数组
cd"
publicstaticvoidcankaoshuzu(intcd)//用于产生随机数组
int[]num=newint[cd*cd];
int[]newNum=newint[cd*cd];
//定义一个二维数组
inti,j,r=cd*cd-1,k=0;
intn;
inttmp;
Randomrand=newRandom();
for(i=0;
cd*cd;
i++)//初始化这个数组,0~9
num[i]=i;
///这个算法只需要循环你的数范围的次数而已
n=rand.Next(0,r);
//随机产生一个0~cd*cd之间的数,r的初始值是cd
newNum[i]=num[n];
//把产生的随机数当成num的下标赋给newNum数组
tmp=num[n];
//然后把num[n]和它最后一个数交换(num[r]),这是避免重复
num[n]=num[r];
num[r]=tmp;
r--;
//自减,下次产生的随机数就可以从0到8了,
intx=1;
//给出顺序值参考数组值变量
for(intix=0;
ix<
cd;
ix++)//给出顺序值参考数组值
for(intixx=0;
ixx<
ixx++)
ss[ix,ixx]=x;
x++;
=cd-1;
for(j=0;
sss[i,j]=newNum[k];
k=k+1;
///用来输出参考数组和移动之后的数组排列
publicstaticvoidprint(intcd)//用来输出参考数组和移动之后的数组排列
i++)//输出移动数组
if(sss[i,j]!
=0)
{0,-4}"
sss[i,j]);
//指定字符串宽带度,并输出。
x1=i;
y1=j;
charx='
'
;
x);
\t"
for(intjx=0;
jx<
jx++)//输出参考数组数组
if(ss[i,jx]!
=cd*cd)
ss[i,jx]);
charxxxxxx='
xxxxxx);
\n"
///判断指令是否正确,否则抛出异常
pangduang"
publicstaticvoidpaochuyichang(boolpangduang)//用来判断输入指令错误抛出异常
if(pangduang)
您输入指令有误请重新输入:
///返回字符串的字符
publicstaticstring[]jieshoufanghuizifuchang()//从控制台接受一个按键并将其转换成字符串返回
ConsoleKeyInfoch;
ch=Console.ReadKey(true);
//从键盘接受后复制给变量,加上true可以使其输入键不在控制台上显示
string[]