ELSFK
所属分类:其他智力游戏
开发工具:C/C++
文件大小:416KB
下载次数:4
上传日期:2018-04-29 16:02:10
上 传 者:
NULL立
说明: C++进行的俄罗斯方块的程序编写。控制台操作,可以随机产生图形,进行消除,计分等功能
(C++'s program for Tetris. Console operation, you can randomly generate graphics, elimination, scoring and other functions.)
文件列表:
ELSFK\ELSFK.cfp (15108, 2018-01-01)
ELSFK\ELSFK.cfpg (116, 2018-01-01)
ELSFK\main.cpp (15782, 2018-01-01)
ELSFK\mingw5\ELSFK.exe (1338029, 2018-01-01)
ELSFK\mingw5\main.o (854726, 2018-01-01)
ELSFK\mingw5 (0, 2018-01-01)
ELSFK (0, 2018-01-01)
俄罗斯方块
可以记录得分,等级
up――改变图形的样子
left――左移
down――加速下降
right――右移
Enter――进入游戏
Num 0――暂停游戏
Esc――退出游戏
设计两个框子
一个框子用力装图形
另一个框子用来写操作说明,显示下一个图形,得分,等级
字设计图片(样式及变形后的样子)
都用四个格子来设计
(方块、长条、闪电、拐杖[+-])
边框做好标记,当图片运行到边框位置时,不可以再运行,
标记图片位置,当最后一行数组添满后清除,上面的图片自动下一行
bool Stop() ; //暂停标志
void print_Box() ; //打印图形
void erase_Box() ; //删除慢行
void Mark() ;//边界
void Pause() ; // 暂停and开始
void Next_Box(T_Box temp) ;
void Transform() ; //图形变形
bool Judge() ; //判断标志
void T_Box::Move(int stepA ,int stepB)
{
bool flag = true ;// 检查是否超出边界,默认没出边界
for(int i = 0 ;i < 4 ; ++i)
{
int sx = x + G[type][i][fg].x + stepA ;
int sy = y + G[type][i][fg].y + stepB ;
if(sx <= 13 || sx >= 41 || sy >= 23 || sy <= 0 || vis[sx][sy])
{
flag = false ;
break ;
}
}
if(flag){ x += stepA ; y += stepB ; }
}
void Check() // 检查是否可以消除
{
int Incr = 0 ;
for(int j = 22 ;j >= 4 ; --j) //检查每一行// y -> 1 ~~~ 20 x -> 15 ~~ 52
{
bool flag = true ; // 假设可以消除
for(int i = 15 ;i <= 49 ; i += 2)
if(!vis[i][j])
{
flag = false ; break ;
}
if(flag) // 当前行可以消除
{
Incr++ ;// 加分操作
for(int i = 15 ;i <= 49 ; i += 2) // 先消除当前的满行标记
{
vis[i][j] = false ;
get_coord(i ,j) ;
cout<<" " ;
}// 将上面的行移动下来
for(int c_j = j-1 ;c_j >= 5 ; --c_j)
for(int c_i = 15 ;c_i <= 49 ; c_i += 2)
if(vis[c_i][c_j]) // 如果已经标记
{
vis[c_i][c_j] = false ;
vis[c_i][c_j+1] = true ;
Co[c_i][c_j+1] = Co[c_i][c_j] ;
Co[c_i][c_j] = 0 ;
get_coord(c_i ,c_j) ;
cout<<" " ;
color(Co[c_i][c_j+1]) ;
get_coord(c_i ,c_j+1) ;
cout<<"■" ;
}
j++ ;
}
}
bool vis[100][100] ; // 用于标记坐标
int Co[100][100] ; // 坐标的颜色
cstdio是将stdio.h的内容用C++头文件的形式表示出来
包含windows.h这个头文件 一般来说,这是用标准的API来写程序的方法。windows.h里定义了关于创建窗口,消息循环等函数,
如果要用API来做有界面的程序的话,必须要用到这个头文件
预处理命令,表示程序包含conio.h库文件conio.h库文件定义了通过控制台进行数据输入和数据输出的函数,
主要是一些用户通过按键盘产生的对应操作
system("color XX");
通过控制台命令color 来设置颜色
第一个X为背景色,第二个x为前景色,取值如下
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
近期下载者:
相关文件:
收藏者: