拼圖編程
發布時間: 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;
}
熱點內容
