软件工程U201314924(10)

2019-09-01 16:59

gotoxy(X+3,Y+3); prt(\菜单选项一\prt(\ 菜单选项二\ gotoxy(X+3,Y+3+2+2); prt(\ 退出\

gotoxy(X+3,Y+3+2);

gotoxy(0,0); }

int selmenu_Num=0; int selmenu(void) { //0,1,2

//如果按下↓selmenu_Num++; 如果>2 selmenu_Num=0; //如果按下↑selmenu_Num--; 如果<0 selmenu_Num=2;

int ch=0; while(1) {

ch=getch(); //gotoxy(0,0); //prt(\ if (ch==13) {

return selmenu_Num; }

switch(ch) {

case 72://上光标

selmenu_Num--; if (selmenu_Num<0) {

selmenu_Num=2; }

break;

case 80: //下光标

46

selmenu_Num++; if (selmenu_Num>2) {

selmenu_Num=0; }

break; }

gotoxy(0,0);

// prt(\

//动态菜单

switch(selmenu_Num) {

case 0:

gotoxy(X+3,Y+3); prt(\

gotoxy(X+3,Y+3+2); prt(\ \

gotoxy(X+3,Y+3+2+2); prt(\ \ gotoxy(0,0); break; case 1:

gotoxy(X+3,Y+3); prt(\ \

gotoxy(X+3,Y+3+2); prt(\

gotoxy(X+3,Y+3+2+2); prt(\ \ gotoxy(0,0); break; case 2:

gotoxy(X+3,Y+3); prt(\ \

gotoxy(X+3,Y+3+2);

47

prt(\ \

gotoxy(X+3,Y+3+2+2); prt(\ gotoxy(0,0); break; }

} //end while

return selmenu_Num; }

//doMenu

void doMenu(void) { int sel;

sel= selmenu(); switch(sel) {

case 0: //菜单一 gotoxy(0,0);

prt(\菜单一功能\\n\

break; case 1: gotoxy(0,0); prt(\菜单二功能\\n\

break;

case 2: //退出

exit(1); break; } }

DWORD WINAPI ThreadProc1(

LPVOID lpParameter 第4个参数

48

// 接收 CreateThread的

{ int i=0; while(1)

)

//添加线程代码

{ i++;

EnterCriticalSection(&cs); gotoxy(0,1);

printf(\ //下移一格棋子

if (CheckDownBorder(oneChess)||CheckDownChess(oneChess)) {

Add1Chess(oneChess); ShowChessBoard();

//重新赋值OneChess进行新的一轮棋子掉落 //随机初始化

rx=rand()%5; ry=0;

oneChess=DownChessData[rx][ry]; oneChess.rx=rx; oneChess.ry=ry;

ShowChess(oneChess);

} else {

MoveDown(&oneChess); }

LeaveCriticalSection(&cs); Sleep(speed); }

return 1; }

49

DWORD WINAPI ThreadProc2(

LPVOID lpParameter // 接收 CreateThread )

的第4个参数 {

while(1) {

//随机初始化 rx=rand()%2; ry=rand()%4;

Sleep(100); }

return 1; }

int main(void) {

//Y行 X列

// fillchar(' ',3000);

InitializeCriticalSection(&cs);

InitializeCriticalSection(&cs_puts); system(\

system(\ /* drawM(); drawmenu(); doMenu();*/

SetWindowPos(GetConsoleWindow(),HWND_NOTOPMOST,133,100,800,600,SWP_SHOWWINDOW); DrawChessMap();

//添加线程代码

//开始游戏

th1=CreateThread(NULL,0,ThreadProc1,NULL,0,NULL); //创建线

50


软件工程U201314924(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017大连中考英语题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: