拼图游戏C#代码.docx

上传人:b****6 文档编号:3075504 上传时间:2022-11-17 格式:DOCX 页数:20 大小:20.59KB
下载 相关 举报
拼图游戏C#代码.docx_第1页
第1页 / 共20页
拼图游戏C#代码.docx_第2页
第2页 / 共20页
拼图游戏C#代码.docx_第3页
第3页 / 共20页
拼图游戏C#代码.docx_第4页
第4页 / 共20页
拼图游戏C#代码.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

拼图游戏C#代码.docx

《拼图游戏C#代码.docx》由会员分享,可在线阅读,更多相关《拼图游戏C#代码.docx(20页珍藏版)》请在冰豆网上搜索。

拼图游戏C#代码.docx

拼图游戏C#代码

声明:

本游戏由14477-Ly所写,可以转载,须说明出处

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

namespaceConsoleApplication1

{

classProgram

{

publicstaticintx1,y1;//定义两个数用来移动数组作为参考坐标

staticint[,]ss=newint[20,20];//定义一个静态二维数组做为参考数组

staticint[,]sss=newint[20,20];//定义一个静态二维数组做为移动数组

staticboolpan=false;//判断真假值用于程序跳出

staticintiii=0;//用于统计步数

staticint[,]paixu=newint[20,20];//用来存储对应难度的排行榜

staticint[]tongjishuzu={0,0,0,0,0,0,0};//统计各难度的排行

staticboolyanse11=false;//用来判断是否产生随机背景颜色

staticboolyanselll=false;//用来判断是否产生随机字体颜色

///

///对数组进行排序

///

///

///

publicstaticvoidpaixushuzu(intx,intnandu)//用直接选择排序方式对排行榜进行排序

{

if(x>10)

x=10;

for(inti=1;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;

}

}

///

///输出排行榜

///

///

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"==jieshou[1]||"C"==jieshou[1]||"D"==jieshou[1]||"E"==jieshou[1]||"F"==jieshou[1]||"G"==jieshou[1]||"a"==jieshou[1]||"b"==jieshou[1]||"c"==jieshou[1]||"d"==jieshou[1]||"e"==jieshou[1]||"f"==jieshou[1]||"g"==jieshou[1])

{

switch(jieshou[0])

{

case"A":

xxxf=0;break;

case"B":

xxxf=1;break;

case"C":

xxxf=2;break;

case"D":

xxxf=3;break;

case"E":

xxxf=4;break;

case"F":

xxxf=5;break;

case"G":

xxxf=6;break;

}

break;

}

else

{

Console.Clear();

xxxxxx=true;

continue;

}

}

if(tongjishuzu[xxxf]==0)

{

Console.WriteLine("您所玩游戏次数为零,没有任何排行!

");

}

else

{

Console.Clear();

Console.WriteLine("{0}*{1}排行榜为:

",xxxf+3,xxxf+3);

inttemp=tongjishuzu[xxxf];

if(temp>10)

{

temp=10;

}

for(inti=0;i

{

Console.WriteLine("No.{0}:

\t\t{1}",i+1,paixu[xxxf,i]);

}

}

Console.WriteLine("请按任意键返回!

");

ConsoleKeyInfoch=Console.ReadKey(true);//定义一个从键盘接受字符的变量

Console.Clear();

returnfalse;

}

///

///输出游戏提示玩法

///

///

publicstaticbooldes()

{

Console.Write("\t\t本游戏为数字拼图1.1版本,在w,a,s,d基础\n\t上增加方向键控制数字板移动\n\n\t界面仍然很简陋,仅有控制台,但已很接近图形界面\n\n\t其中数字为可移动板,空格为可移动位置\n\n\t按任意键返回...");

ConsoleKeyInfoch=Console.ReadKey(true);//定义一个从键盘接受字符的变量

Console.Clear();

returnfalse;

}

///

///产生随机数组

///

///

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;i

{

num[i]=i;

}

///这个算法只需要循环你的数范围的次数而已

for(i=0;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

{

for(intixx=0;ixx

{

ss[ix,ixx]=x;

x++;

}

}

for(i=0;i<=cd-1;i++)

{

for(j=0;j<=cd-1;j++)

{

sss[i,j]=newNum[k];

k=k+1;

}

}

}

///

///用来输出参考数组和移动之后的数组排列

///

///

publicstaticvoidprint(intcd)//用来输出参考数组和移动之后的数组排列

{

for(inti=0;i<=cd-1;i++)//输出移动数组

{

for(intj=0;j<=cd-1;j++)

{

if(sss[i,j]!

=0)

{

Console.Write("{0,-4}",sss[i,j]);//指定字符串宽带度,并输出。

}

else

{

x1=i;

y1=j;

charx='';

Console.Write("{0,-4}",x);//指定字符串宽带度,并输出。

}

}

Console.Write("\t");

for(intjx=0;jx<=cd-1;jx++)//输出参考数组数组

{

if(ss[i,jx]!

=cd*cd)

Console.Write("{0,-4}",ss[i,jx]);//指定字符串宽带度,并输出。

else

{

charxxxxxx='';

Console.Write("{0,-4}",xxxxxx);

}

}

Console.Write("\n");

}

}

///

///判断指令是否正确,否则抛出异常

///

///

publicstaticvoidpaochuyichang(boolpangduang)//用来判断输入指令错误抛出异常

{

if(pangduang)

{

Console.WriteLine("您输入指令有误请重新输入:

");

}

}

///

///返回字符串的字符

///

///

publicstaticstring[]jieshoufanghuizifuchang()//从控制台接受一个按键并将其转换成字符串返回

{

ConsoleKeyInfoch;//定义一个从键盘接受字符的变量

ch=Console.ReadKey(true);//从键盘接受后复制给变量,加上true可以使其输入键不在控制台上显示

string[]

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

当前位置:首页 > 工程科技 > 能源化工

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

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