广安哪里有做网站的公司,有口碑的常州网站优化,如何在淘宝客上做自己的网站,网络营销推广方案案例视频目录
介绍
游戏1
游戏2 介绍
因为DEV C的编译环境较小#xff0c;所以大部分的游戏代码都无法在此上运行#xff0c;我收集了一部分摸鱼小游戏的源码#xff0c;在此呈现#xff0c;如果有能在DEV C上运行的我会先作声明#xff1a;
游戏1
扫雷
#includestdio.…
目录
介绍
游戏1
游戏2 介绍
因为DEV C的编译环境较小所以大部分的游戏代码都无法在此上运行我收集了一部分摸鱼小游戏的源码在此呈现如果有能在DEV C上运行的我会先作声明
游戏1
扫雷
#includestdio.h
#includewindows.h
#includestdlib.h
#includetime.h
#includeconio.h
#includequeue
#includectype.h
#define A 17 //地图的高
#define B 17 //地图的宽
#define C 30 //雷的总数
using namespace std;//全局变量
DWORD a,b;
char map[A][B],news,spare;
int BoomTotalNum,floatx,floaty,flag[A][B],flagnum,mode,slect[A][B],game;//颜色属性
const WORD FORE_BLUE FOREGROUND_BLUE; //蓝色文本属性
const WORD FORE_GREEN FOREGROUND_GREEN; //绿色文本属性
const WORD FORE_RED FOREGROUND_RED; //红色文本属性//开垦地图结构体
struct node {int x;int y;
};
queue node dui;//打印位置
void position(int x,int y) {COORD pos {x,y};HANDLE OutGetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(Out,pos);
}//隐藏光标
void Hide() {HANDLE handle GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, CursorInfo);//获取控制台光标信息CursorInfo.bVisible false; //隐藏控制台光标SetConsoleCursorInfo(handle, CursorInfo);//设置控制台光标状态
}//初始化
void Beginning() {while(!dui.empty()) {dui.pop();}game1;
//BoomTotalNumC;floatxA/2;floatyB/2;flagnum0;BoomTotalNumC;mode0;HANDLE handle_out GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi; //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, csbi); //获得窗口缓冲区信息int x,y;srand((unsigned)time(0));for(int i0; iA; i) for(int j0; jB; j) {map[i][j] ;flag[i][j]0;slect[i][j]0;}while(BoomTotalNum) {xrand()%A;yrand()%B;if(map[x][y] ) {map[x][y];BoomTotalNum--;}}SetConsoleTextAttribute(handle_out, FORE_GREEN);for(int i0; iA; i) {for(int j0; jB; j) printf(█);printf(\n);}position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_RED);printf(); //光标位置position(44,9);printf(扫雷模式);position(44,5);printf(剩余雷数%d ,C-flagnum);SetConsoleTextAttribute(handle_out, FORE_GREEN);position(5,22);printf(按“空格”切换模式);position(5,23);printf(按“Enter”确认);position(5,24);printf(按“方向键”选择方块);}//打印地图的一块儿
void Lump(int xx,int yy) {switch(map[xx][yy]) {case 1 :printf(①);break; //周围雷的数量下同case 2 :printf(②);break;case 3 :printf(③);break;case 4 :printf(④);break;case 5 :printf(⑤);break;case 6 :printf(⑥);break;case 7 :printf(⑦);break;case 8 :printf(⑧);break;case :if(xxfloatxyyfloaty) {if(flag[xx][yy]0) {if(mode%20) printf();else printf();} else printf();} else {if(flag[xx][yy]0) printf(█);else printf();}break;case :if(xxfloatxyyfloaty) {if(flag[xx][yy]0) {if(mode%20) printf();else printf();} else printf();} else {if(flag[xx][yy]0) printf(█);else printf();}break;case x :if(floatxxxfloatyyy) printf();else printf( );break; //已经挖开的空白}
}//移动光标
void Move() {HANDLE handle_out GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi; //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, csbi); //获得窗口缓冲区信息int xxx,yyy;xxxfloatx;yyyfloaty;switch(news) {case 72 :floatx--;break; //上case 80 :floatx;break; //下case 75 :floaty--;break; //左case 77 :floaty;break; //右}if(floatx-1) floatxA-1;floatx%A; //两端穿模处理if(floaty-1) floatyB-1;floaty%B;position(yyy*2,xxx);SetConsoleTextAttribute(handle_out, FORE_GREEN);Lump(xxx,yyy); //删除原位置if(map[floatx][floaty]x) {position(floaty*2,floatx);printf( );}position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty); //更新新位置
}//插旗和排雷模式切换
void Mode() {HANDLE handle_out GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi; //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, csbi); //获得窗口缓冲区信息mode;SetConsoleTextAttribute(handle_out, FORE_BLUE);position(floaty*2,floatx);if(mode%20) printf();else printf();position(44,9);if(mode%20) {SetConsoleTextAttribute(handle_out, FORE_BLUE);printf(扫雷模式);} else {SetConsoleTextAttribute(handle_out, FORE_RED);printf(插旗模式);}
}//该点周围地雷数
int Boomnum(int xx,int yy) {int num0;if((xx-10)(yy-10)(map[xx-1][yy-1])) num;if((xx-10)(yy00)(map[xx-1][yy])) num;if((xx-10)(yy1B) (map[xx-1][yy1])) num;if((xx00)(yy-10)(map[xx][yy-1])) num;if((xx00)(yy1B) (map[xx][yy1])) num;if((xx1A)(yy-10) (map[xx1][yy-1])) num;if((xx1A)(yy00) (map[xx1][yy])) num;if((xx1A)(yy1B) (map[xx1][yy1])) num;return num;
}//更新地图
void Open() {node c;node d;while(!dui.empty()) {dui.pop();}c.xfloatx;c.yfloaty;dui.push(c);slect[c.x][c.y]1;while(!dui.empty()) {cdui.front();dui.pop();if(Boomnum(c.x,c.y)!0) {map[c.x][c.y](Boomnum(c.x,c.y)48);continue;} else {map[c.x][c.y]x;if((c.x-10)(c.y-10)(map[c.x-1][c.y-1] )(slect[c.x-1][c.y-1]0)) {d.xc.x-1;d.yc.y-1;dui.push(d);slect[d.x][d.y]1;}if((c.x-10)(c.y-00)(map[c.x-1][c.y] )(slect[c.x-1][c.y]0)) {d.xc.x-1;d.yc.y-0;dui.push(d);slect[d.x][d.y]1;}if((c.x-10)(c.y1B)(map[c.x-1][c.y1] )(slect[c.x-1][c.y1]0)) {d.xc.x-1;d.yc.y1;dui.push(d);slect[d.x][d.y]1;}if((c.x-00)(c.y-10)(map[c.x][c.y-1] )(slect[c.x][c.y-1]0)) {d.xc.x-0;d.yc.y-1;dui.push(d);slect[d.x][d.y]1;}if((c.x-00)(c.y1B)(map[c.x][c.y1] )(slect[c.x][c.y1]0)) {d.xc.x-0;d.yc.y1;dui.push(d);slect[d.x][d.y]1;}if((c.x1A)(c.y-10)(map[c.x1][c.y-1] )(slect[c.x1][c.y-1]0)) {d.xc.x1;d.yc.y-1;dui.push(d);slect[d.x][d.y]1;}if((c.x1A)(c.y-00)(map[c.x1][c.y] )(slect[c.x1][c.y]0)) {d.xc.x1;d.yc.y-0;dui.push(d);slect[d.x][d.y]1;}if((c.x1A)(c.y1B)(map[c.x1][c.y1] )(slect[c.x1][c.y1]0)) {d.xc.x1;d.yc.y1;dui.push(d);slect[d.x][d.y]1;}}}
}int main() {freopen(排名.txt,r,stdin);
Relife: //重玩处HANDLE handle_out GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi; //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, csbi); //获得窗口缓冲区信息Hide();Beginning();aGetTickCount();while(1) {if(kbhit()!0) {sparegetch();if((spare!(-32))(spare!13)(spare! )) continue;if(spare13) {;if(mode%20) {if(map[floatx][floaty]flag[floatx][floaty]0) {break;game0;}if(flag[floatx][floaty]1) continue;Open();position(0,0);SetConsoleTextAttribute(handle_out, FORE_GREEN);for(int i0; iA; i) {for(int j0; jB; j) Lump(i,j);printf(\n);}position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty);}else {if(map[floatx][floaty]x||(map[floatx][floaty]0map[floatx][floaty]9))continue;if(flag[floatx][floaty]0) {flagnum;flag[floatx][floaty]1;position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty);}else {flagnum--;flag[floatx][floaty]0;position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty);}}}if(spare ) Mode();//按方向键if(spare-32) {newsgetch();Move();}for(int i0; iA; i) for(int j0; jB; j) if(map[i][j]x||(map[i][j]0map[i][j]9)) game;if(gameA*B-C1) break;else game1;SetConsoleTextAttribute(handle_out, FORE_RED);position(44,5);printf(剩余雷数%d ,C-flagnum);} else Sleep(10);bGetTickCount();SetConsoleTextAttribute(handle_out, FORE_RED);position(44,7);printf(用时);if((b-a)/6000010) printf(0);printf(%d:,(b-a)/60000);if(((b-a)/1000)%6010) printf(0);printf(%d:,((b-a)/1000)%60);if(((b-a)/10)%10010) printf(0);printf(%d,((b-a)/10)%100);}SetConsoleTextAttribute(handle_out, FORE_RED);position(5,5);if(game1) printf(游戏结束);else printf(恭喜通关);position(5,8);printf(任意键重玩);scanf(%c%c,spare,spare);system(cls);position(0,0);goto Relife;
}
游戏2
狼人杀
#include iostream//C输入输出流库
#include cstdlib//使用srand函数要用到这个库
#include ctime//使用time函数要用到这个库
#include Windows.h
#include conio.h
long long sr0;
using namespace std;
void brc()
{system(cls);long long jy1,wd3;long long sy3,wj3;srand((int)time(0));long long nrand()%151;cout 你是n号endl;cout 正在分配身份endl;Sleep(1500);long long m[20];for(long long i1;i15;i)m[i]1;long long s[20]{0};long long yy[20]{0};long long l0,w0,j0,p0;for(long long i1;i15;i){do{long long arand()%41;if(a1l1){l;s[i]1;sri;}else if(a2w2){w;s[i]2;}else if(a4p3){p;s[i]4;}else if(a3j9){j;s[i]3;}}while(s[i]0);}if(s[n]1)cout 你是杀手endl;else if(s[n]2)cout 你是预言家endl;else if(s[n]3)cout 你是平民endl;elsecout 你是法师endl;cout 游戏将在5秒后开始endl; Sleep(5000);long long c15;long long f0,flag0;long long day1;long long lr;long long tp[20]{0};do{lr0;system(cls);cout 第day晚开始endl;cout你是n号endl;long long x;for(long long i1;i15;i) {if(inm[n]1){if(s[n]1){cout 你是杀手endl;for(long long j1;j15;j)if(m[j]1s[j]!1)coutj ;coutendl;cout 你选择杀掉endl; long long a;cina;m[a]0;coutendl;cout 杀手杀了a号; if(s[a]1)cout(杀手)endl;else if(s[a]2)cout(预言家)endl;else if(s[a]3)cout(平民)endl;elsecout(法师)endl;c--;} elseif(s[n]2){cout 你是预言家endl;cout ;for(long long j1;j15;j)if(m[j]1)coutj ;coutendl 你选择预言谁的身份endl;long long a;cina;if(s[a]1){cout a号是杀手请注意endl;Sleep(1000);}elsecout a号是好人endl; }}else if(s[i]1m[i]1){long long a;do{arand()%151;}while(ai||m[a]0||s[a]1);cout 杀手杀掉了a号; if(s[a]1)cout(杀手)endl;else if(s[a]2)cout(预言家)endl;else if(s[a]3)cout(平民)endl;elsecout(法师)endl;m[a]0;c--;break;//}else if(s[i]2){if(flag0||m[flag]0){long long a;do{arand()%151;}while(ai||m[a]0);if(s[a]1)yy[a]1; else if(s[a]3)yy[a]3;} }else if(s[i]4){f0;while(f0){long long a;arand()%31;if(a3)break;if(a1){if(sy0){sy--;f1; long long b;do{brand()%151;brand()%151;}while(bi||m[b]0);m[b]0;cout 法师毒死了b号; if(s[b]1)cout(杀手)endl;else if(s[b]2)cout(预言家)endl;else if(s[b]3)cout(平民)endl;c--;if(s[b]1n!sr){coutendl sr号是杀手; coutendl 杀手已死亡endl;cout 游戏结束endl;return ;}break;//}}else if(a2day1){if(jy0){jy--;f1; long long b;do{brand()%151;}while(bi||m[b]1);c;cout 法师复活了b号endl;m[b]1;if(m[sr]0n!sr){coutendl sr号是杀手; coutendl 杀手已死亡endl;cout 游戏结束endl;return ;}break;//}}}}}if(s[n]4){cout 你是法师endl;cout存活状况endl; for(long long j1;j15;j)if(m[j]1)coutj ;coutendl;cout 你选择 1.* 杀 *还是 2.* 救 * 3.* 啥都不做 *endl;long long a,f0;while(f0){cina;if(a3) break;if(a1){if(wd0){wd--;f1; cout 你选择了杀人endl;for(long long i1;i15;i)if(m[i]1)couti ;coutendl; long long b;cinb;if(s[b]1)cout(杀手)endl;else if(s[b]2)cout(预言家)endl;else if(s[b]3)cout(平民)endl;elsecout(法师)endl;m[b]0;c--; if(m[sr]0n!sr){coutendl sr号是杀手; coutendl 杀手已死亡endl;cout 游戏结束endl;return ;}}else{cout毒药不足endl; }}else if(a2){if(wj0){wj--;f1; cout你选择了复活endl;cout阵亡名单endl;for(long long i1;i15;i)if(m[i]0)couti号,身份:s[i] endl;;long long b;cinb;m[b]1;c;}else{cout复活药水不足endl; }}}}Sleep(1000);long double p[20]{0};cout 第day晚结束endl;coutendl;if(m[n]0){cout 你已经死了; break;}cout 存活endl;cout ;for(long long i1;i15;i)if(m[i]1)couti ;coutendl;cout 请投票....endl;for(long long i1;i15;i){if(inm[n]1){coutendl;cout 你选择投几号endl; long long a99;while(a99) {cina;if(a99)for(long long i1;i15;i)if(m[i]1)cout i.s[i]endl;}if(s[i]3day4)p[a]1.5;elsep[a]; coutendl;cout i-aendl;if(s[a]3){tp[a]i;}}else if(s[i]1m[i]1){long long a;do{arand()%151; }while(m[a]0||ai||s[a]1);p[a];cout i-aendl;if(s[a]3){tp[a]i;}}else if(s[i]2m[i]1){if(flag!0){p[f];cout i-flagendl;}else{long long a;do{arand()%151; }while(m[a]0||ai||yy[a]3);p[a];if(s[a]3) {tp[a]i;}cout i-aendl;}} else if(s[i]3m[i]1){if(tp[i]0){long long a;do{arand()%151; }while(m[a]0||ai);p[a];cout i-aendl;}else{if(m[tp[i]]1){p[tp[i]];cout i-tp[i]endl;}else{long long a;do{arand()%151; }while(m[a]0||ai);p[a];cout i-aendl;}}}else if(s[i]4m[i]1){long long a;do{arand()%151; }while(m[a]0||ai);p[a];cout i-aendl;}}system(cls);cout 投票情况endl;for(long long i1;i15;i)if(m[i]1)cout i号 票数p[i]endl; long long sw,max-100; for(long long i1;i15;i){if(p[i]max){swi;maxp[i];}}m[sw]0;cout sw死了endl;c--;cout sw号的身份是; if(s[sw]1)cout杀手endl;else if(s[sw]2)cout预言家endl;else if(s[sw]3)cout平民endl;else cout法师endl; if(s[sw]1n!sr){coutendl sr号是杀手; coutendl 杀手已死亡endl;cout 游戏结束endl;return ;}day; if(s[n]!1) {for(long long i1;i15;i)if(s[i]1m[i]1)lr1;}else{if(s[n]1c2)lr0;}system(pause); coutendl;if(m[sr]0n!sr){coutendl sr号是杀手endl; coutendl 杀手已死亡endl;cout 游戏结束endl;return ;}}while(m[n]1c1);if(srnm[n]1){cout 你杀掉了所有人endl;}cout 游戏结束endl;return ;
}
int main()
{srand((int)time(0)); char a1;while(1){system(cls);cout 杀手游戏endl;cout------------------------------------------------------------------------------------------------------------------------;cout 1.开始游戏endl;cout 2.查看游戏规则endl;agetch();if(a1){cout 1. 15人场endl;cout 2. 30人娱乐战(10猎人)敬请期待endl;a2;while(a2){agetch();switch(a){case 1:brc();break;}if(a1)break;}if(a1)break;}else if(a2){cout杀手每当晚上的时候可使用杀人权杀掉一人endl;//1cout预言家每天晚上可以知道一个人的身份endl;//2 cout平民无技能,当玩家是平民时在第5天拥有1.5票的投票权endl;//3cout猎人此身份仅限于30人娱乐局中死亡后可带走一人endl; cout投票细则\n游戏中除了你以外全是由超级AI人工代替endl;cout预言家如果预言到杀手将一直对他投票如果预言到好人将永远不会对他投票endl;cout平民将投上一个晚上对他投票他的人endl;cout********利用好超级AI游戏规则找出杀手**********endl;system(pause);}}return 0;
}
在这里给大家一个编译器直接下载很多人都有了DEV-C
dev-c 下载