拼图编程
发布时间: 2023-02-26 17:40:48
A. 求vb编程拼图代码,急!!!
这个问题,请在网络和google搜索"vb拼图游戏源码"。游戏只是一种逻辑,这种游戏javascript等其它语言源码有很多,你可以找找看,参考一下他们的思路。源码下载,问友源码网可能比较多些
B. 滑块拼图游戏算法实现
这个游戏要想单纯靠程序实现不太容易,20分谁愿意?加点分。
要不你用专门做这方面的软件,靠FLASH实现不会太难。用它的命令实现是比较容易的,也不用写什么代码,系统自动生成(那个命令叫什么名字我也忘了)。
C. 用c语言拼图编程程序,或者算法
你好,我写了一个C++的,在VS上完美运行,希望能够帮到你。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
/*定义全局变量*/
intpuzz[9]; //九格游戏数组
inti=0,j,k; //i初始化界面的提示语,j获取空格位置,k移动次数
intspace; //空缺位置
/*自定义函数原型*/
voidinterface(); //界面,包括打印充填矩形和数字
voidchange(inta,intb); //交换
voidpress(); //按键
voidstart() ; //初始化和判断是否胜利
voidstart() //初始化和判断是否胜利
{
inta,b,c;
intstar[22]={300,120,320,160,360,160,320,200,340,240,300,200,260,240,280,200,240,160,280,160,300,120};
k=0;
for(a=0;a<8;a++)
puzz[a]=a+1;
puzz[8]=0;
interface();
for(c=0;c<100;c++) //随机打乱顺序
{
a=rand()%9;
b=(a+2)%8; //关于有无解问题,搞不清楚,引用的
change(a,b);
}
while(1)
{
interface();
for(a=0;a<8;a++)
if(puzz[a]!=a+1)
break;
if(a==8)
{
drawpoly(11,star); //五角星
setcolor(1); //文本“SUCCESSFUL”颜色
setfillstyle(1,4); //五角星填充色
floodfill(300,150,15); //五角星内一点
outtextxy(260,180,"SUCCESSFUL!!");
getch();
start();
}
for(j=0;j<=8;j++)
if(puzz[j]==0)
break;
space=j;
press();
}
}
voidinterface() //界面,包括打印充填矩形和数字
{
clearviewport(); //清楚屏幕图形
setbkcolor(6); //设置背景色
setfillstyle(2,2); //矩形块颜色
if(puzz[0]!=0)
bar(160,60,240,140);
if(puzz[1]!=0)
bar(260,60,340,140);
if(puzz[2]!=0)
bar(360,60,440,140);
if(puzz[3]!=0)
bar(160,160,240,240);
if(puzz[4]!=0)
bar(260,160,340,240);
if(puzz[5]!=0)
bar(360,160,440,240);
if(puzz[6]!=0)
bar(160,260,240,340);
if(puzz[7]!=0)
bar(260,260,340,340);
if(puzz[8]!=0)
bar(360,260,440,340);
gotoxy(25,7);
if(puzz[0]!=0)
printf("%d",puzz[0]);
gotoxy(38,7);
if(puzz[1]!=0)
printf("%d",puzz[1]);
gotoxy(50,7);
if(puzz[2]!=0)
printf("%d",puzz[2]);
gotoxy(25,13);
if(puzz[3]!=0)
printf("%d",puzz[3]);
gotoxy(38,13);
if(puzz[4]!=0)
printf("%d",puzz[4]);
gotoxy(50,13);
if(puzz[5]!=0)
printf("%d",puzz[5]);
gotoxy(25,19);
if(puzz[6]!=0)
printf("%d",puzz[6]);
gotoxy(38,19);
if(puzz[7]!=0)
printf("%d",puzz[7]);
gotoxy(50,19);
if(puzz[8]!=0)
printf("%d",puzz[8]);
if(i==0)
{
printf(" Pressanykeytodare");
getch();
}
gotoxy(60,4); //打印移动次数
printf("%dth",k);
i+=1;
return;
}
intmain()
{
intgdriver=VGA,gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\tc30\BGI");
srand((unsigned)time(NULL)); //播种子
clearviewport(); //清屏
printf(" ///////////////////////////// ");
printf(" ");
printf(" PUZZLEGAME ");
printf(" ");
printf(" ///////////////////////////// ");
printf(" Pressanykeytostartgame");
printf(" PressEsctoexit ");
if(getch()==27)
{
clrscr();
clearviewport();
printf(" ////////////////////////////////// ");
printf(" Seeyounexttime ");
printf(" ////////////////////////////////// ");
printf(" Pressanykeytoexit");
getch();
closegraph();
return0;
}
start();
return0;
}
热点内容
