实训第二天上午
将爱心按顺时针移动,即从左上 到 右上 到 右下到 左下 再回到左上
#include<stdio.h>
#include<time.h>
#include<windows.h>
#define MAX_row 16
#define MAX_col 63
void print2(int n)
{
int i;
for (i=0;i<n;i++)
printf(" ");
}
void print(int m,int n)
{
int i;
for(i=0;i<m;i++)
printf("\n");
print2(n);
printf(" *** ***\n");
print2(n);
printf(" *********** \n");
print2(n);
printf(" ************ \n");
print2(n);
printf(" **********\n");
print2(n);
printf(" ******\n");
print2(n);
printf(" *\n");
print2(n);
}
main()
{
int i=0,nn=1;
int m=0,n=0,dir=1;
while (1)
{
if (dir == 1)
{
n++;
if (n==MAX_col)//向右不能大于最大列数
{
dir=2;
}
}
else if (dir == 2)
{
m++;
if (m==MAX_row)//向下走不能大于最大行数
{
dir=3;
}
}
else if (dir == 3)
{
n--;
if (n==0)
{
dir=4;
}
}
else if (dir == 4)
{
m--;
if (m==0)
{
dir=1;
}
}
print(m,n);
Sleep(50);
system("cls");
}
}
实现随机的移动 即乱跳 (利用随机数函数)
#include<stdio.h>
#include<time.h>
#include<windows.h>
#define MAX_row 16
#define MAX_col 63
void print2(int n)
{
int i;
for (i=0;i<n;i++)
printf(" ");
}
void print(int m,int n)
{
int i;
for(i=0;i<m;i++)
printf("\n");
print2(n);
printf(" *** ***\n");
print2(n);
printf(" *********** \n");
print2(n);
printf(" ************ \n");
print2(n);
printf(" **********\n");
print2(n);
printf(" ******\n");
print2(n);
printf(" *\n");
print2(n);
}
int sjs(int m,int n)
{
int r;
do
{
r = rand()%8+1;
if (m<=0)
{
if (r==1||r==5||r==6||r==7)
continue;
}
if (n<=0)
{
if (r==3||r==6)
continue;
}
break;
}while(1);
return r;
}
main()
{
int i=0;
int m=0,n=0,dir=1;
srand(time(NULL));
while (dir)
{
print(m,n);
dir = sjs(m,n);
switch(dir)
{
case 1:m--; break;
case 2:m++; break;
case 3:n--; break;
case 4:n++; break;
case 5:m--; n++; break;
case 6:m--; n--; break;
case 7:n++; m--; break;
case 8:n++; m++; break;
}
Sleep(50);
system("cls");
}
}
在心正中间添加一个名字
#include<stdio.h>
#include<time.h>
#include<windows.h>
#include<string.h>
#define MAX_row 16
#define MAX_col 63
void print3(int len,char *name)
{
int i,n=13/2+1;
n=n-len/2;
for (i=0;i<2;i++)
printf(" ");
for (i=0;i<n;i++)
printf("*");
printf("%s",name);
for (i=n+len;i<=13;i++)
printf("*");
}
void print2(int n)
{
int i;
for (i=0;i<n;i++)
printf(" ");
}
void print(int m,int n,char *name,int len)
{
int i;
for(i=0;i<m;i++)
printf("\n");
print2(n);
printf(" *** ***\n");
print2(n);
printf(" ************ \n");
print2(n);
print3(len,name);
printf("\n");
print2(n);
printf(" **********\n");
print2(n);
printf(" ******\n");
print2(n);
printf(" *\n");
print2(n);
}
int sjs(int m,int n)
{
int r;
do
{
r = rand()%8+1;
if (m<=0)
{
if (r==1||r==5||r==6||r==7)
continue;
}
if (n<=0)
{
if (r==3||r==6)
continue;
}
break;
}while(1);
return r;
}
main()
{
system("color 7C");
int i=0;
int m=0,n=0,dir=1;
int len;
char name[10];
printf("输入一个名字");
scanf("%s",name);
len=strlen(name);
printf("%d",len);
srand(time(NULL));
while (dir)
{
print(m,n,name,len);
dir = sjs(m,n);
switch(dir)
{
case 1:m--; break;
case 2:m++; break;
case 3:n--; break;
case 4:n++; break;
case 5:m--; n++; break;
case 6:m--; n--; break;
case 7:n++; m--; break;
case 8:n++; m++; break;
}
Sleep(50);
system("cls");
}
}