⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 封魔录游戏代码,对游戏有研究的拿来参考还可以的
💻 C
📖 第 1 页 / 共 2 页
字号:
{
	int i,j,n1=0;
	char a[20][70],ch,ch1;
 /*全部变空格*/
	for(i=0;i<20;i++) 
    for(j=0;j<70;j++)
		a[i][j]=' ';
/*围墙设置*/
	for(j=0;j<70;j++)
	{
		a[0][j]='#';
		a[19][j]='#';
	}
	for(i=0;i<20;i++)
	{
		a[i][0]='#';
		a[i][69]='#';
	}
/*设置出口*/
	a[10][0]=' ';
/*建筑房屋*/
	for(j=32;j<48;j++)
	{
		a[6][j]='#';
		a[13][j]='#';
	}
	for(i=7;i<13;i++)
	{
		a[i][47]='#';
		a[i][32]='#';
	}
/*NPC的设置*/
	a[10][31]='!';
	a[10][32]=' ';
/*以背景色输出*/
	system("cls");
    system("color 8f");
	printf("\t\t\t\t挑战台\n");
	for(i=0;i<20;i++)
	{
		for(j=0;j<70;j++)
		printf("%c",a[i][j]);
	printf("\n");
	}
	game_show();
	gotoxy(x,y);printf("%c",1);
	gotoxy(34,9);printf("青龙");
	gotoxy(44,9);printf("白虎");
	gotoxy(34,14);printf("玄武");
	gotoxy(44,14);printf("朱雀");
	while(x>1)
	{
		/*人物的移动*/
		ch=getch();
		if( ((int)ch==a_1) && (a[y-3][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_4) && (a[y-2][x]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_3) && (a[y-2][x-2]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_2) && (a[y-1][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
        else if((int)ch==13&&(a[y-2][x]=='!'||a[y-2][x-2]=='!'||a[y-3][x-1]=='!'))
		{
			system("cls");
			system("color f4");
			gotoxy(27,2);printf("你想挑战哪一个?");
			gotoxy(33,7);printf("青龙(攻高)");
			gotoxy(33,9);printf("白虎(防高)");
			gotoxy(33,11);printf("玄武(血厚)");
			gotoxy(33,13);printf("朱雀(平衡)");
			gotoxy(33,15);printf("算了,我不挑战");
			gotoxy(31,7);printf("%c",16);
			ch1=getch();
			while(ch1!=13)
			{
				if(ch1==a_2)
				{
					n1=n1+2;
					if(n1>8)n1=n1-2;
					gotoxy(31,n1+5);printf(" ");
					gotoxy(31,7+n1);printf("%c",16); 
				}
				if(ch1==a_1)
				{
					n1=n1-2;
					if(n1<0)n1=n1+2;
					gotoxy(31,9+n1);printf(" ");
					gotoxy(31,7+n1);printf("%c",16);
				}
				ch1=getch();
			}
			if(n1==0)
			{
				enter(7);
				attack(7);
			}
			if(n1==2)
			{
				enter(8);
				attack(8);
			}
			if(n1==4)
			{
				enter(9);
				attack(9);
			}
			if(n1==6)
			{
				enter(10);
				attack(10);
			}
			if(n1==8)
			{
			}
			getch();
			map_3(x2,y2);
		}
		if(ch==look)
		{
			man_look();
			map_3(x2,y2);
		}
	}
	if(x==1)
		map_2(69,12);
}

void map_4(int x,int y)           //第四张地图
{
	//ch_0定义为初始时说村子奇怪的话
	char ch;//  ch是人物移动命令     
	int i,j;    
	char a[20][70];
 /*全部变空格*/
	for(i=0;i<20;i++) 
    for(j=0;j<70;j++)
		a[i][j]=' ';
/*围墙设置*/
	for(j=0;j<70;j++)
	{
		a[0][j]='#';
		a[19][j]='#';
	}
	for(i=0;i<20;i++)
	{
		a[i][0]='#';
		a[i][69]='#';
	}
/*设置出口*/
	a[0][33]=' ';
	a[19][40]=' ';
/*建筑房屋*/
	for(j=16;j>1;j-=1)
			a[j+2][j+44]='*';
	for(j=2;j<18;j+=1)
			a[j+1][j+1]='*';
	for(i=2;i<66;i+=2)
			a[3][i+1]='*';
/*NPC的设置*/
	a[18][2]='$';
	a[18][3]='$';
	a[17][2]='$';
	a[17][3]='$';
	a[5][60]='!';
/*以背景色输出*/
	system("cls");
    system("color 8f");
	printf("\t\t\t\t万哭洞\n");
	for(i=0;i<20;i++)
	{
    for(j=0;j<70;j++)
		printf("%c",a[i][j]);
	printf("\n");
	}
	game_show();
	gotoxy(x,y);printf("%c",1);
	while(y<21&&y>2)
	{
		/*人物的移动*/
		ch=getch();
		if( ((int)ch==a_1) && (a[y-3][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_4) && (a[y-2][x]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_3) && (a[y-2][x-2]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_2) && (a[y-1][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if(m4==0&&ch==13&&(a[y-2][x]=='$'||a[y-2][x-2]=='$'||a[y-3][x-1]=='$'))
		{
			gotoxy(1,22);printf("你找到一件连环战铠!");
			m4=1;save(man.cloth,2);
			dalay(1);
			gotoxy(1,22);printf("                    ");
		}
        if(ch==13&&(a[y-2][x]=='!'||a[y-2][x-2]=='!'||a[y-3][x-1]=='!'))
		{
			gotoxy(1,22);printf("淘宝者:这该死的熊精,我早晚要把它们杀光!");
			dalay(1);
			gotoxy(1,22);printf("                                      ");
		}
		if(ch==look)
		{
		  man_look();
		  map_4(x,y);
		}
		if( 7==rand()%22 )
		{
		  enter(1);
		  attack(1);
		  getch();
		  map_4(x,y);
		}
	}
	if(y==2)
	{
		map_5(34,20);
	}
	if(y==21)
	{
		map_2(41,3);
	}
}

void map_5(int x,int y)              //第五张地图
{
	char ch;//  ch是人物移动命令     
	int i,j;    
	char a[20][70];
 /*全部变空格*/
	for(i=0;i<20;i++) 
    for(j=0;j<70;j++)
		a[i][j]=' ';
/*围墙设置*/
	for(j=0;j<70;j++)
	{
		a[0][j]='#';
		a[19][j]='#';
	}
	for(i=0;i<20;i++)
	{
		a[i][0]='#';
		a[i][69]='#';
	}
/*建筑房屋*/
	for(j=0;j<8;j+=1)
	{
		a[j+1][1]='#';
		a[j+1][2]='#';
		a[j+1][33]='#';
	}
	for(i=0;i<33;i+=1)
		a[8][i+1]='#';
	for(i=0;i<18;i+=2)
		a[15][i+1]='#';
	for(i=35;i<66;i+=3)
		a[11][i+1]='#';
/*设置出口*/
	a[19][33]=' ';
	a[8][20]=' ';
/*NPC的设置*/
	a[18][2]='$';
	a[18][3]='$';
	a[17][2]='$';
	a[17][3]='$';
	if(m<2)a[9][20]='!';
/*以背景色输出*/
	system("cls");
    system("color 8f");
	printf("\t\t\t\t黑水潭\n");
	for(i=0;i<20;i++)
	{
    for(j=0;j<70;j++)
		printf("%c",a[i][j]);
	printf("\n");
	}
	game_show();
	gotoxy(x,y);printf("%c",1);
	if(m<2)
	{
		for(i=3;i<10;i++)
		{
			gotoxy(2,i);printf("%c",2);
		}
		for(i=3;i<10;i++)
		{
			gotoxy(3,i);printf("%c",2);
		}
	}
	while(y<21)
	{
		/*人物的移动*/
		ch=getch();
		if( ((int)ch==a_1) && (a[y-3][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_4) && (a[y-2][x]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_3) && (a[y-2][x-2]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_2) && (a[y-1][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if(m5==0&&ch==13&&(a[y-2][x]=='$'||a[y-2][x-2]=='$'||a[y-3][x-1]=='$'))
		{
			gotoxy(1,22);printf("你找到一个金创药!");
			m5=1;man.h_med+=1;
			dalay(1);
			gotoxy(1,22);printf("                    ");
		}
        if(m==1&&ch==13&&(a[y-2][x]=='!'||a[y-2][x-2]=='!'||a[y-3][x-1]=='!'))
		{
			gotoxy(1,22);printf("%s: 想救他们,先过我这关再说!",monster[5].name);
			dalay(1);
			enter(5);
			attack(5);
			m=2;
			map_5(x,y);
		}
      if(m!=1&&ch==13&&(a[y-2][x]=='!'||a[y-2][x-2]=='!'||a[y-3][x-1]=='!'))
		{
			gotoxy(1,22);printf("%s: 小孩子再让我看到你,小心我把你给吃了!  ",monster[5].name);
			dalay(1);
			gotoxy(1,22);printf("                                                           ");
		}
		if(ch==look)
		{
		  man_look();
		  map_5(x,y);
		}
		if( 7==rand()%25 )
		{
		  enter(2);
		  attack(2);
		  getch();
		  map_5(x,y);
		}
	}
	map_4(34,3);
}



void map_6(int x,int y)              //第6张地图
{
	char ch;//  ch是人物移动命令     
	int i,j;    
	char a[20][70];
 /*全部变空格*/
	for(i=0;i<20;i++) 
    for(j=0;j<70;j++)
		a[i][j]=' ';
/*围墙设置*/
	for(j=0;j<70;j++)
	{
		a[0][j]='#';
		a[19][j]='#';
	}
	for(i=0;i<20;i++)
	{
		a[i][0]='#';
		a[i][69]='#';
	}
/*建筑房屋*/
	for(j=0;j<8;j+=1)
	{
		a[j+1][33]='#';
	}
	for(i=46;i<65;i+=3)
		a[5][i]='*';
	for(i=1;i<13;i+=2)
		a[8][i+1]='*';
	for(i=35;i<66;i+=3)
		a[17][i+1]='*';
/*设置出口*/
	a[11][69]=' ';
	a[0][40]=' ';
/*NPC的设置*/
	a[18][2]='*';
	a[18][3]='*';
	a[17][2]='*';
	a[17][3]='*';
	a[9][1]='!';
/*以背景色输出*/
	system("cls");
    system("color ac");
	printf("\t\t\t\t桃花林\n");
	for(i=0;i<20;i++)
	{
    for(j=0;j<70;j++)
		printf("%c",a[i][j]);
	printf("\n");
	}
	game_show();
	gotoxy(x,y);printf("%c",1);
	while(x<70&&y>2)
	{
		/*人物的移动*/
		ch=getch();
		if( ((int)ch==a_1) && (a[y-3][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_4) && (a[y-2][x]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_3) && (a[y-2][x-2]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_2) && (a[y-1][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		if(ch==look)
		{
		  man_look();
		  map_6(x,y);
		}
        if(ch==13&&(a[y-2][x]=='!'||a[y-2][x-2]=='!'||a[y-3][x-1]=='!'))
		{
			gotoxy(1,22);printf("柴夫:这该死的狐狸很厉害,壮士你要小心了!");
			dalay(1);
			gotoxy(1,22);printf("                                      ");
		}
		if(7==rand()%20)
		{
		  system("cls");
		  system("color 24");
		  enter(3);
		  attack(3);
		  getch();
		  map_6(x,y);
		}
	}
	if(x==70)
		map_7(2,13);
	if(y==2)
		map_2(41,20);
}



void map_7(int x,int y)              //第7张地图
{
	char ch;//  ch是人物移动命令     
	int i,j;    
	char a[20][70];
 /*全部变空格*/
	for(i=0;i<20;i++) 
    for(j=0;j<70;j++)
		a[i][j]=' ';
/*围墙设置*/
	for(j=0;j<70;j++)
	{
		a[0][j]='#';
		a[19][j]='#';
	}
	for(i=0;i<20;i++)
	{
		a[i][0]='#';
		a[i][69]='#';
	}
/*建筑房屋*/
	for(j=0;j<8;j+=1)
	{
		a[j+1][33]='#';
	}
	for(i=46;i<65;i+=3)
		a[5][i]='#';
	for(i=1;i<13;i+=2)
		a[8][i+1]='^';
	for(i=35;i<66;i+=3)
		a[17][i+1]='#';
/*设置出口*/
	a[11][0]=' ';
/*NPC的设置*/
	a[18][2]='^';
	a[18][3]='^';
	a[17][2]='^';
	a[17][3]='^';
	if(m<4)
	{
		a[12][58]='!';
	}
/*以背景色输出*/
	system("cls");
    system("color 8f");
	printf("\t\t\t\t黑山洞\n");
	for(i=0;i<20;i++)
	{
    for(j=0;j<70;j++)
		printf("%c",a[i][j]);
	printf("\n");
	}
	game_show();
	gotoxy(x,y);printf("%c",1);
	while(x>1)
	{
		/*人物的移动*/
		ch=getch();
		if( ((int)ch==a_1) && (a[y-3][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_4) && (a[y-2][x]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_3) && (a[y-2][x-2]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    x=x-1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		else if( ((int)ch==a_2) && (a[y-1][x-1]==' ') )
		{
			gotoxy(x,y);printf(" ");
		    y=y+1;
			gotoxy(x,y);printf("%c",1);
			gotoxy(1,22);
		}
		if(ch==look)
		{
		  man_look();
		  map_7(x,y);
		}
        if(m==3&&ch==13&&(a[y-2][x]=='!'||a[y-2][x-2]=='!'||a[y-3][x-1]=='!'))
		{
			gotoxy(1,22);printf("%s:  哦,你就是孤星月,受死吧!  ",monster[6].name);
			dalay(1);
			enter(6);
			attack(6);
			getch();
			m1=4;
			map_7(x,y);
		}
        if(m!=3&&ch==13&&(a[y-2][x]=='!'||a[y-2][x-2]=='!'||a[y-3][x-1]=='!'))
		{
			gotoxy(1,22);printf("%s:  小孩子不要命了吗,还不快走开!",monster[6].name);
			dalay(1);
			gotoxy(1,22);printf("                                              ");
		}
		if(7==rand()%20)
		{
		  enter(4);
		  attack(4);
		  getch();
		  map_7(x,y);
		}
	}
	if(x==1)
		map_6(69,13);
}











⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -