拼图c语言
❶ 同求funcode平台下拼图游戏的c语言代码
//第一题:#includevoidfun(char*a[],char*b[]){intl;/*获取较短数组的长度*/if(strlen(*a)usingnamespacestd;classCircle{public:voidinput(double);//输入voidprint();//输出doublegetArea();//计算半径private:doubler;//半径};voidCircle::input(doublea){r=a;}doubleCircle::getArea(){returnr*r*3.14159;}voidCircle::print(){cout>a;c.input(a);c.print();return0;}
❷ c语言 输出3位小数
255
巧用FLASH做拼图游戏
8、点击 插入>新建元件(快捷键Ctrl+F8),新建一个名为“button”的按钮,点击确定即可打开一个按钮制作窗口,用椭圆工具在场景中心画一个圆并去除圆形的边线(用箭头工具在边线上点一下,点击 编辑>清除 菜单即可),然后再用箭头工具选取圆形,用 插入> 转换成元件 命令将圆形转换成图形元件(这样做是为了方便后面使用透明效果)。用鼠标右键单击反应区,在弹出的菜单里选择插入关键祯,返回主场景,可以看到库面板里多了一个名为“button”的按钮元件。
9、在主场景里双击元件可以打开元件编辑窗口或者是在库面板里用鼠标右键单击元件点击弹出菜单里的编辑命令。我们现在选择一个除“head”之外的影片剪辑元件,进入元件编辑窗口,在这里我们以“黑猫警长”的“拳头”为例,元件名为“hand”,在主场景里影片剪辑也命名为“hand”。在元件编辑窗口,将刚才做好的按钮从库面板中拖入到“拳头”上,调整位置到“拳头”的中心并调整大小比“拳头”略小,如图7。
10、选中“拳头”上的按钮打开行为面板(快捷键Ctrl+Alt+A或点击软件窗口右下角的图标),点击行为面板上的”+“号,在弹出的菜单选择 动作>startDrag,加入startDrag命令(“startDrag”是一个拖拽命令,它可以对影片剪辑实行拖拽控制,所以我们在前面必须把所有的元件转换成影片剪辑。而加入按钮是为了实现鼠标单击后可以拖动拼图,松开鼠标则拼图停止移动)。在动作面板右边对话框里我们选择“on(release)”,在下方的事件选择对话框选择“点击”;再选择“startDrag("")”,在下方的目标对话框中单击一下,然后单击底部的 图标,将会弹出一个包含所有在主场景里的影片元件的对话框,选择“拳头”在主场景里 的名字“hand”按“确认”回到动作面板,在动作电话框下方的“锁定鼠标到中央”前打上勾。接着在“startDrag”的下方加入“stopDrag”命令(“stopDrag”就是停止拖拽命令),完成后动作对话框里的代码应该如下:
on (press) {
startDrag ("_root.hand",true);
}
on (release) {
stopDrag ();
}
点击 控制>测试影片(快捷键Ctrl+Enter),试试看用鼠标点击拳头是不是可以随意拖动了
❸ C语言源代码是什么
数字版“拼图”游戏C源代码:
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
int i, j, r, k; //i、j、r用于循环, k存放随机数值
int m, n; // m、n是当前空位的下标, t标记排序是否成功
int a[4][4]; //存储4×4共16个数字的数组
void show(void); //输出数组表格
void csh(void); //初始化界面
int yes(void); //判断排序是否成功
void up(void); //数字向上移动到空位(空位则下移)
void down(void); //数字向下移
void left(void); //数字向左移
void rght(void); //数字向右移
void inkey(void); //按键操作
void gtxy(int x, int y) ; //控制光标移动的函数
int main(void)
{ while(1)
{csh( );
while(1)
{ inkey();
show();
if ( yes( ) )
{gtxy(6,12); printf("你成功了! 再来一局y/n?"); break;}
}
if(getch( )== ʹnʹ)break;
}
return 0;
}
void csh(void)
{r=0;
CONSOLE_CURSOR_INFO cursor_info={1,0}; //以下两行是隐藏光标的设置
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
for(i=0;i<4;i++) //给数组a依序赋值
for(j=0;j<4;j++)
{ if (i==3 && j==3) a[i][j]=0;
else a[i][j]=1+r++;
}
a[3][3]=a[1][1]; a[1][1]=0; //把a[3][3]与a[1][1]的值交换一下
m=1; n=1;
srand((unsigned)time(0)); //初始化随机数发生器
for(r=0;r<500;r++) //将数组各值打乱
{k=rand( )%(4); //取0-3随机数,分别代表上下左右四个方向
switch(k)
{ case 0: { up( );break; }
case 1: {down( );break; }
case 2: {left( );break; }
case 3: {rght( ); break; }
}
}
printf(" 数字拼图");
printf(" ┌──────┬──────┬──────┬──────┐");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf(" ├──────┼──────┼──────┼──────┤");
printf(" │ │ │ │ │");
printf("
└──────┴──────┴──────┴──────┘");
show( );
}
void show(void)
{for(i=0;i<4;i++)
for(j=0;j<4;j++) //gtxy(7*j+9, 2*i+4)是光标到指定位置输出数字
{gtxy(7*j+9,2*i+4); if(a[i][j]==0)printf(" │");
else if(a[i][j]>9)printf(" %d │",a[i][j]);
else printf(" %d │",a[i][j]);
}
}
void inkey(void)
{ int key;
key=getch( );
switch(key)
{ case 72: { up( ); break;}
case 80: {down( ); break; }
case 75: {left( ); break; }
case 77: {rght( );break;}
}
}
void up(void)
{ if (m!=3) //移动时要考虑空位"0"是否已经在边界
{ a[m][n]=a[m+1][n]; m++; a[m][n]=0; }
}
void down(void)
{ if (m!=0)
{a[m][n]=a[m-1][n]; m--; a[m][n]=0; }
}
void left(void)
{ if (n!=3)
{ a[m][n]=a[m][n+1]; n++; a[m][n]=0;}
}
void rght(void)
{ if (n!=0)
{ a[m][n]=a[m][n-1]; n--; a[m][n]=0; }
}
int yes(void)
{ r=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{ if (a[i][j]!=1+r++) return (r==16)?1:0; }
}
void gtxy(int x, int y) //控制光标移动的函数
{ COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}