一俄罗斯方块的问题,请大家帮忙看看,谢谢了!

macaca 2003-08-20 03:07:06

我想做的是消层,可是不知道问题在哪里,请大家看看!Track[][][][]代表方块,用的是坐标表示.cells是坐标.SH是高度,SW是宽度.
int8_t cells[SH+1][SW+2] = {{0}};
int i,j, k, lines,m,n ;
char tmp[20],tmp1[20];
if (t_shape == -1 || t_status == -1) return;
for (i=0; i<4; i++)
for (j=0; j<4; j++){
if (Trick[t_shape][t_status][i][j] == 1)
cells[posy+i][posx+j+1] = 1;
}


for(i=SH-1; i >=0; i--)
{ lines = 1 ;

for(j=0; j<=SW-1; j++)
if( cells[i][j] == 0 )
{ lines = 0; continue; }
if(lines)
{
for(m=i; m>=0;m--)
for(n = 0;n<=SW-1; n++)
{ cells[m][n] = cells[m][n-1]; }
i++;
}
}
...全文
170 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
arfi 2003-09-02
  • 打赏
  • 举报
回复
if(lines)
{
for(m=i; m>=0;m--)
for(n = 0;n<=SW-1; n++)
{
//下面应该是cells[m][n] = cells[m-1][n]吧!
cells[m][n] = cells[m][n-1];
}
i++;
}
grail0922 2003-09-01
  • 打赏
  • 举报
回复
up
macaca 2003-08-31
  • 打赏
  • 举报
回复
我是在VC中编译的,我现在就是一层满了以后就停止了,而且我觉得判断某层满的语句不起作用,不知道为什么。我是一个菜鸟,请众位大虾多多谅解。
mme 2003-08-30
  • 打赏
  • 举报
回复
你都没有说出来你的方法是什么,单看你的程序,看破头都不明白的.

其实想消底层很简单的.你判断某层已经满了,就在数组中把该行删除就行了.然后再调用画方块的函数把数组里面的图给画出来.
当然方法有很多.随便你怎么写.
macaca 2003-08-30
  • 打赏
  • 举报
回复
谢谢以上两位,但是我用的第三方编译器只支持C的标准库,而且我想知道我的代码错在那里,怎么改。谢谢了!
Skt32 2003-08-29
  • 打赏
  • 举报
回复
代码名称: 俄罗斯方块
分类 : 源代码下载
作者姓名: 徐星
邮件地址: eggxp@etang.com
作者相关信息: 华中师范大学计算机系0105班
开发环境:VC.NET
测试环境:VC.NET
版本:1.0
关键代码:
void Fdraw::getdata(int Shape,int ID)
{
//存放颜色和变化的中间数据
int nData[][4] = {
{ 0x038, 0x092, 0x038, 0x092 },
{ 0x093, 0x03c, 0x192, 0x078 },
{ 0x096, 0x138, 0x0d2, 0x039 },
{ 0x1b0, 0x1b0, 0x1b0, 0x1b0 },
{ 0x198, 0x05a, 0x198, 0x05a },
{ 0x0f0, 0x099, 0x0f0, 0x099 },
{ 0x03a, 0x0b2, 0x0b8, 0x09a }
};
int Data = nData[Shape][ID];
//取得形状数组
m_nData[0][0] = (Data&0x100)>>8;
m_nData[0][1] = (Data&0x80)>>7;
m_nData[0][2] = (Data&0x40)>>6;
m_nData[1][0] = (Data&0x20)>>5;
m_nData[1][1] = (Data&0x10)>>4;
m_nData[1][2] = (Data&0x8)>>3;
m_nData[2][0] = (Data&0x4)>>2;
m_nData[2][1] = (Data&0x2)>>1;
m_nData[2][2] = (Data&0x1)>>0;
}

http://www.vchelp.net/vchelp/file2003_1/fangk.rar
knock 2003-08-20
  • 打赏
  • 举报
回复
来邮件,给你个TC下源码,明天晚上会来上网
knock1981@tom.com
macaca 2003-08-20
  • 打赏
  • 举报
回复
rt

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧