俄罗斯方块小游戏制作:
程序员文章站
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后会出现不同的界面,就不粘贴了。。。。
还有。只是一个小部分,不能玩。。。
上一篇: unity3d作业二
下一篇: 飞翔小鸟思路及代码