![c语言游戏开发教程_简单好玩的编程代码,第1张 c语言游戏开发教程_简单好玩的编程代码,第1张](/aiimages/c%E8%AF%AD%E8%A8%80%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B_%E7%AE%80%E5%8D%95%E5%A5%BD%E7%8E%A9%E7%9A%84%E7%BC%96%E7%A8%8B%E4%BB%A3%E7%A0%81.png)
c
语言游戏开发教程_简单好玩的
编程代码
C语言精品游戏主角和怪物源码//C语言多线程-主角和怪物#include#include#define bool int //定义int变量为bool变量,bool不是真就是假int a=0,b=20;//主角的坐标int x=1,y=0;//怪物的坐标int i=1;//i值为真HANDLE hMutex;//1.坐标void GamePosition(HANDLE g_hout,int x,int y){COORD pos;//点的结构体pos.X=x;//横坐标pos.Y=y;//纵坐标SetConsoleCursorPosition(g_hout,pos);//设置控制平台光标位置}DWORD WINAPI Func(LPVOID lpParamter)//多线程的功能函数6.线程是画怪物{HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//7.拿到这张纸WaitForSingleObject(hMutex, INFINITE);//13.自己进来,自己用洗手间GamePosition(hout,x,y),printf(‘●’);//8.在纸上画怪物ReleaseMutex(hMutex);//14.放弃使用权while(1)//9.怪物在横坐标为从0-10依次循环移动{if(x>=0&&i==1){printf(‘ ‘);GamePosition(hout,++x,y);printf(‘●’);Sleep(1000);if(x==10)i=0;//i为假}else if(x<>{printf(‘ ‘);GamePosition(hout,–x,y);printf(‘●’);Sleep(1000);if(x==0)i=1;}}return 0;}int main(){HANDLE hThread = CreateThread(NULL, 0, Func, NULL, 0, NULL);//5.创建线程hMutex = CreateMutexA(NULL, FALSE, ‘123’);//创建互斥锁(量)//10.关上洗手间HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//2.拿到这张纸WaitForSingleObject(hMutex, INFINITE);//11.等待你的同事出来 15步接着GamePosition(hout,a,b),printf(‘☆’);//3.在纸上画主角ReleaseMutex(hMutex);//12.同事出来了,放弃了洗手间的使用权while(1){if(kbhit())switch(getch())//控制左右 4.主角上下左右移动{case ‘w’:case ‘W’:if(b>3)GamePosition(hout,a,b),printf(‘ ‘),GamePosition(hout,a,–b),printf(‘☆’);break;case ‘s’:case ‘S’:if(b<20)gameposition(hout,a,b),printf(‘>break;case ‘a’:case ‘A’:if(a>0)printf(‘ ‘),GamePosition(hout,–a,b),printf(‘☆’);break;case ‘d’:case ‘D’:if(a<20)printf(‘>break;}}CloseHandle(hThread);system(‘pause’);return 0;}扫雷游戏
代码源码#include#include#includeint main (){int delta[8][2] = {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};int row =0,col = 0,num = 0;char map[10][10] = {0};char show[10][10] = {0};srand(time(0));for(row = 0;row <=>for(col = 0;col <=>map[row][col] = ‘0’;}}do{row = rand() % 10;col = rand() % 10;if(map[row][col] == ‘0’){map[row][col] = ‘x’;num++;}}while(num <>for (row = 0;row <=>for (col = 0;col <=>if(map[row][col] != ‘x’){int cnt = 0;for (num = 0;num <=>if(row + delta[num][0] <>continue;}if(row + delta[num][0] > 9){continue;}if(col + delta[num][1] <>continue;}if(col + delta[num][1] > 9){continue;}if(map[row + delta[num][0]][col + delta[num][1]]== ‘x’){cnt++;}}map[row][col] = ‘0’ + cnt;}}}for (row = 0;row <>for(col = 0;col < 10;col=””>printf(‘* ‘);}printf(‘n’);}num = 0;int x,y;do{printf(‘please enter the coordinate of array:’);scanf(‘%d%d’,&x,&y);show[x-1][y-1] = 1;if(map[x-1][y-1] == ‘0’){for (num = 0;num <=>if(x-1 + delta[num][0] <>continue;}if(x-1 + delta[num][0] > 9){continue;}if(y -1+ delta[num][1] <>continue;}if(y-1 + delta[num][1] > 9){continue;}show[x-1+delta[num][0]][y-1+delta[num][1]] = 1;}}if (map[x-1][y-1]!= ‘x’&&map[x-1][y-1] != ‘0’){for (num = 0;num <=>int cnt = 0;if(x-1 + delta[num][0] <>continue;}if(x-1 + delta[num][0] > 9){continue;}if(y-1 + delta[num][1] <>continue;}if(y-1 + delta[num][1] > 9){continue;}if( map[x -1 + delta[num][0]][y -1+ delta[num][1]] != ‘x’){show[x-1 + delta[num][0]][y -1+ delta[num][1]] = 1 ;}}}if(map[x-1][y-1] == ‘x’) {printf(‘game over!n’);for (row = 0;row <>for(col = 0;col < 10;col=””>printf(‘%c ‘,map[row][col]);}printf(‘n’);}return 0;}system(‘cls’);printf(‘mine sweeping:n’);for (row = 0;row <>for(col = 0;col < 10;col=””>if (show[row][col] == 1){printf(‘%c ‘, map[row][col]);}else{printf(‘* ‘);}}printf(‘n’);}num = 0;for (row = 0;row <>for(col = 0;col < 10;col=””>if (show[row][col] == 1 ){num++;}}}printf(‘num:%dn’,num);}while(num <>printf(‘you win!’);return 0;}
评论列表(0条)