俄罗斯方块小游戏制作:

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

代码如下:

#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后会出现不同的界面,就不粘贴了。。。。
还有。只是一个小部分,不能玩。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值