-
大小: 280KB文件类型: .rar金币: 2下载: 1 次发布日期: 2023-01-19
- 语言: C/C++
- 标签: C++/Curses
资源简介
这个小游戏主要是用C++、curses、以及多线程来实现的。
代码片段和文件信息
#include“head.h“
int dengji=0;
WINDOW *sc;
void qishi()
{
WINDOW * w= derwin(stdscrGAOKUAN(LINES-GAO)/2(COLS-KUAN-12)/2);
fang=w;
int i=0 j=0;
for(i=0; i for(j=0; j {
kuai[i][j]=derwin(w12i2*j);
box(kuai[i][j]00);
}
wbkgd(wCOLOR_PAIR(5));
wrefresh(w);
refresh();
WINDOW * w1= derwin(stdscrGAO12(LINES-GAO)/2(COLS-KUAN-12)/2+KUAN);
wbkgd(w1COLOR_PAIR(1));
mvwaddstr(w100“Next:“);
WINDOW * w2= derwin(w14811);
nextkuai=w2;
wbkgd(w2COLOR_PAIR(5));
wrefresh(w2);
mvwaddstr(w170“Score:“);
WINDOW * w3= derwin(w111081);
sc=w3;
wbkgd(w3COLOR_PAIR(5));
mvwprintw(w301“%-4d“score);
wrefresh(w3);
wrefresh(w1);
refresh();
}
void huiPan()
{
WINDOW *w;
int i=0j=0;
for(;i {
for(j=0;j {
if(Pan[i+4][j]==1)
{
wbkgd(kuai[i][j]COLOR_PAIR(2));
wrefresh(kuai[i][j]);
}
else
{
wbkgd(kuai[i][j]COLOR_PAIR(5));
wrefresh(kuai[i][j]);
}
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(Next[i][j]==1)
{
w=derwin(nextkuai12i2*j);
wbkgd(wCOLOR_PAIR(4));
wrefresh(w);
}
}
}
mvwprintw(sc01“%-4d“score);
wrefresh(sc);
refresh();
}
int whdengji(int n)
{
if(n>1200) return 4;
if(n>700) return 3;
if(n>300) return 2;
if(n>100) return 1;
return 0;
}
void chongxin()
{
times=1000-200*dengji;
cur=next;
next=rand()%10;
yidongx=0;
yidongy=0;
bzero(Next64);
Nextzu(next);
}
void cleartu()
{
WINDOW *w;
int i=0j=0;
for(;i<4;i++)
for(j=0;j<4;j++)
{
w=derwin(nextkuai12i2*j);
wbkgd(wCOLOR_PAIR(5));
wrefresh(w);
}
}
int over()
{
int i=0 j=0;
for(;i<4;i++)
for(j=0; j if(Pan[i][j]==1) return 1;
return 0;
}
void control()
{
int c;
while(1)
{
c=mvgetch(11);
switch(c)
{
case ‘a‘: Pstart(cur&yidongx&yidongy2); huiPan();xianshi=0;break;
case ‘d‘: Pstart(cur&yidongx&yidongy3); huiPan();xianshi=0;break;
case ‘w‘: cur=zhuan(cur&yidongx&yidongy);Pstart(cur&yidongx&yidongy0);huiPan(); xianshi=0;break;
case ‘s‘: times=200;break;
default: break;
}
}
}
void xiayi(int n)
{
int i=0j=0;
for(i=n;i>3;i--)
{
for(j=0;j Pan[i][j]=Pan[i-1][j];
}
}
int haveman()
{
int i=0 j=0;
for(;i {
for(j=0;j if(Pan[i+4][j]==0) break;
if(j==KUAN/2)
{
xiayi(i+4);
score+=10;
return 1;
}
}
return 0;
}
void msleep(int n)
{
usleep(n*1000);
}
int main()
{
init();
int i;
pthread_t id;
int r;
r=pthread_create(&idNULL(void*)controlstdscr);
if(r!=0) mvaddstr(LINES-1(COLS-16)/2“control failed“);
qishi();
while(1)
{
while(1)
{
if(xianshi==1)
{
//qishi();
cleartu();
if(Pstart(cur&yidongx&yidongy1)==0) break;
huiPan();
msleep(times);
}
else
xianshi=1;
}
while(haveman());
if(over()) {endwin(); break;}
dengji=whdengji(score);
chongxin();
}
printf(“最后得分:%d\n“score);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 17752 2010-11-20 15:44 俄罗斯方块\a.out
文件 8489 2010-11-17 11:26 俄罗斯方块\head.h
文件 1836264 2010-09-18 18:26 俄罗斯方块\head.h.gch
文件 2952 2010-11-17 11:24 俄罗斯方块\main.c
目录 0 2010-12-11 10:11 俄罗斯方块
----------- --------- ---------- ----- ----
1865457 5
- 上一篇:C++GUI QT4 高清版 155MB
- 下一篇:全国交通咨询系统设计C语言
评论
共有 条评论