嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
利用EGE图形库做好的俄罗斯方块
/*逻辑更新主函数*/
void update() {
key_msg key;
int k = kbmsg();
while ( k ) {
key = getkey();
for (int i=0; i<8; i) {
if (key.key == m_Keys[i]) {
if (key.msg == key_msg_down) {
m_KeyFlag[i] ;
m_KeyState[i] = 1;
} else if (key.msg == key_msg_up) {
m_KeyFlag[i] = 0;
m_KeyState[i] = 0;
if ( i == 3 )
m_forbid_down = 0;
}
}
}
k = kbmsg();
}
while ( deal() );
}
void drawedge(int x, int y, int w, int h, int color, int bdark = 1) {
setcolor(getchangcolor(color, 1.5f));
line(x, y h, x, y);
lineto(x w, y);
if ( bdark )
setcolor(getchangcolor(color, 0.7f));
lineto(x w, y h);
lineto(x, y h);
}
void drawtile(int x, int y, int w, int h, int d, int color) {
w--, h--;
setfillcolor(color);
bar(x 1, y 1, x w, y h);
drawedge(x, y, w, h, color);
drawedge(x 1, y 1, w-2, h-2, color);
}
void drawframe(int x, int y, int w, int h, int d = 0) {
int coll[] = {0x400040, 0x600060, 0xA000A0, 0xFF00FF,
0xA000A0, 0x600060, 0x400040};
setfillcolor(0x010101);
bar(x, y, x w--, y h--);
for (int i=0; i<7; i) {
--x, --y, w = 2, h = 2;
drawedge(x, y, w, h, coll[i], 0);
}
}