欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

俄罗斯方块小游戏制作:

程序员文章站 2022-04-07 17:29:58
...

之前不会写博客,将原来的代码简单的整理了一下:(嘿嘿,果真顺眼多了)

代码如下:

#include <stdio.h>
#include <time.h>
#include <windows.h>
void gotoxy(int x,int y)
{
	COORD pos;
	pos.X=x;
	pos.Y=y;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
int color(int c)
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
void flowers();
void title();
void welcome();
int main()
{
	title();
	flowers();
	welcome();	
	return 0;
}
void welcome()
{  
	int A=5;
	int B=5;
	int C=16;
	int S=8;
	int D=8;
	int G=8;
	int F=8;
	int E=8;
	int H=8;
	int K=13;
	int L=13;
	int r,m;
    
	color(15);
	gotoxy(18,12);
	printf("====================================");

	color(12);
	gotoxy(22,15);
	printf("1.开始游戏      2.按键说明\n");

	color(12);
	gotoxy(22,20);
	printf("3.游戏规则      4.退出\n");

	color(15);
	gotoxy(18,23);
	printf("====================================");  //中间的

	for(r=1;r<=10;r++)
	{
		color(15);
		gotoxy(18,K++);
	    printf("||");
	}

	for(r=1;r<=10;r++)
	{
		color(15);
		gotoxy(52,L++);
	    printf("||");
	}
	color(3);
	gotoxy(22,25);
	printf("请选择[1 2 3 4]:");

	printf(" [ ]\b\b");
	scanf("%d",&m);  //定义光标位置

     system("cls");  

/*******************************************************************************************************************/
if(m==1)	 	
{                      //清屏
	color(10);                            //游戏开始界面效果图   制作
	gotoxy(25,2);
	printf("趣味俄罗斯方块");

	color(6);                          //制作框框
	gotoxy(16,4);
	printf(" ");

	for(r=1;r<=14;r++)
	{
		color(4);
		printf(" = ");
	}

	for(r=1;r<=20;r++)
	{
		color(4);
		gotoxy(15,A++);
		printf("|");
	}                                  
	for(r=1;r<=20;r++)
	{
		color(4);
		gotoxy(58,B++);
		printf("|");
	}

	color(0);
	gotoxy(16,25);
	printf(" ");

	for(r=1;r<=20;r++)
	{
		color(4);
		printf(" =");
	}
	
	color(4);
	gotoxy(22,27);
	printf("游戏开始界面效果图");

	color(6);
	gotoxy(60,20);
	printf("Esc:退出游戏");

	color(6);
	gotoxy(60,22);
	printf("↑键:旋转");

	color(6);
	gotoxy(60,24);
	printf("空格:暂停游戏");

	color(6);
	gotoxy(60,24);
	printf("空格:暂停游戏");    //界面效果图制作OK

	}
	/**********=============================================================================================================*/
  else if(m==2)
  {
	color(6);
	gotoxy(30,4);
	printf("按键说明");           //按键说明效果图制作开始

	color(1);
	gotoxy(20,10);
	printf("tip1:玩家可以通过← →方向键来移动方块");

	color(10);
	gotoxy(20,12);
	printf("tip2:通过↑键使方块旋转");

	color(7);
	gotoxy(20,14);
	printf("tip3:通过↓键加速方块下落");

	color(3);
	gotoxy(20,16);
	printf("tip4:按空格键暂停游戏,再按空格键继续");

	color(4);
	gotoxy(20,18);
	printf("tip5:按ESC退出游戏");

	color(4);
	gotoxy(26,23);
	printf("按键说明效果图");

	color(0);
	gotoxy(11,7);
	printf(" ");

	for(r=1;r<=25;r++)
	{
		color(10);
		printf(" =");
	}

	color(0);
	gotoxy(11,20);
	printf(" ");

	for(r=1;r<=25;r++)
	{
		color(10);
		printf(" =");
	}

	for(r=1;r<=12;r++)
	{
		color(10);
		gotoxy(11,F++);
		printf("||");
	}

	for(r=1;r<=12;r++)
	{
		color(10);
		gotoxy(63,G++);
		printf("||");                              //说明图制作成功
	}

	}
	/*=============================================================================================================================*/
	else if (m==3)
	{color(6);
	gotoxy(30,4);
	printf("游戏规则");           //游戏规则效果图制作开始

	color(1);
	gotoxy(20,10);
	printf("tip1:不同形状的小方块从屏幕上方落下,玩家通过\n");
	color(1);
	gotoxy(20,12);
	printf("      调整方块的位置和方向,使它们在屏幕底部拼\n");
	color(1);
	gotoxy(20,14);
	printf("      出完整的一条或几条");

	color(10);
	gotoxy(20,16);
	printf("tip2:每消除一行,积分增加一百");

	color(7);
	gotoxy(20,18);
	printf("tip3:通过↓键加速方块下落");

	color(3);
	gotoxy(20,20);
	printf("tip4:每累计一百分,会提升一个等级");

	color(4);
	gotoxy(20,22);
	printf("tip5:提升等级会使方块掉落速度加快,游戏难度加大");

	color(4);
	gotoxy(26,29);
	printf("游戏规则效果图");

	color(0);
	gotoxy(15,7);
	printf(" ");

	for(r=1;r<=25;r++)
	{
		color(10);
		printf(" =");
	}

	color(0);
	gotoxy(15,24);
	printf(" ");

	for(r=1;r<=25;r++)
	{
		color(10);
		printf(" =");
	}

	for(r=1;r<=16;r++)
	{
		color(10);
		gotoxy(15,E++);
		printf("||");
	}

	for(r=1;r<=16;r++)
	{
		color(10);
		gotoxy(67,H++);
		printf("||");                                 //说明图制作成功
	}

	}
	///////////////////////////////////*****************************************************************************************************///
  else if(m==4)
   {
     exit(0);
   }
}


void flowers()
{
	int i;
	int R=15;

	color(13);
	gotoxy(73,12);
	printf("(_)");

	color(13);
	gotoxy(70,13);
	printf("(_)@(_)");

	color(13);
	gotoxy(73,14);
	printf("(_)");

	color(6);
	gotoxy(70,14);
	printf("/");

    for(i=1;i<=6;i++)
    {
		color(6);
        gotoxy(69,R++);
        printf("|"); 
	 }

	color(6);
	gotoxy(70,18);
	printf("/");

	color(6);
	gotoxy(71,20);
	printf("/");  //是树枝旁边的两个枝桠

	color(4);
	gotoxy(63,14);
	printf("(_)");

	color(4);
	gotoxy(61,15);
	printf("(_)@(_)");

	color(4);
	gotoxy(63,16);
	printf("(_)");   //第二个花

	color(6);
	gotoxy(67,17);
	printf("\");

	color(6);
	gotoxy(67,19);
	printf("\");

	color(2);
	gotoxy(60,21);
	printf("\\\\  /////");

	color(2);
	gotoxy(60,22);
	printf("^^^^^^^^^^^^^^^^^\n");

	color(7);
	gotoxy(61,23);
	printf("明日之子---贾艳娜\n");  //界面成功

}
void title()
{
	color(14);
	gotoxy(25,4);
	printf("趣 味 俄 罗 斯 方 块\n");

	color(11);
	gotoxy(21,6);
	printf("■"); 
	color(11);
    gotoxy(21,7);
	printf("■■");
	color(11);
    gotoxy(21,8);
	printf("■");    //第一个

	color(14);
    gotoxy(27,7);
	printf("■■");
	color(14);
    gotoxy(29,8);
	printf("■■");  //第二个

	color(10);
    gotoxy(35,7);
	printf("■■");
	color(10);
    gotoxy(35,8);
	printf("■■");   //第三个

	color(13);
    gotoxy(41,6);
	printf("■");
	color(13);
    gotoxy(41,7);
	printf("■");
	color(13);
    gotoxy(41,8);
	printf("■");
	color(13);
    gotoxy(41,9);
	printf("■");    //第四个

	color(12);
    gotoxy(45,8);
	printf("■■■\n");
	color(12);
    gotoxy(49,7);
	printf("■");    //第五个

}

运行结果:(图中是自己的姓名,打了马赛克)
俄罗斯方块小游戏制作:
在选择1;2;3;4后会出现不同的界面,就不粘贴了。。。。
还有。只是一个小部分,不能玩。。。

相关标签: 游戏