小游戏的制作 俄罗斯方块

小编 2026-06-13 阅读:361 评论:0
#include <stdio.h> #include <time.h> #include <windows.h> void gotoxy(int x,in...

#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(\"■\");    //第五个

}

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表