怎么用C语言实现飞行棋游戏

这篇文章主要讲解了“怎么用C语言实现飞行棋游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C语言实现飞行棋游戏”吧!

10年专注建站、设计、互联网产品按需网站设计服务,业务涵盖高端网站设计成都商城网站开发、微信小程序、软件系统开发、成都app开发等。凭借多年丰富的经验,我们会仔细了解每个客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联更提供一系列网站制作和网站推广的服务,以推动各中小企业全面信息数字化,并利用创新技术帮助各行业提升企业形象和运营效率。

/* Author Mr.Long * Date  2015年12月2日17:33:17  */#include<iostream>#include<string>#include<windows.h>#include<stdlib.h>#include<time.h>#define random(x) (rand()%x) using namespace std; string player[2]={"玩家A","玩家B"};int map[100];int playerPos[2]={0,0};int gamePlayer = 0;bool isGameOver = false;int winer = -1;int pausePlayer = -1; //0□正常 1☆幸运轮盘  2◎地雷  3△暂停  4卍时空隧道 string getLogo(int pos){   string res = "□"; if((playerPos[0] == pos) && (playerPos[1] == pos)){ res = "<>";   }else if(playerPos[0]==pos){  res = "A"; }else if(playerPos[1]==pos){  res = "B"; }else{  switch(map[pos]){  case 1:   res = "☆"; // 幸运轮盘   break;  case 2:   res = "◎"; // 地雷    break;  case 3:   res = "△"; // 暂停    break;  case 4:   res = "卍"; // 时空隧道    break;  }  } return res; } void drowMap(){ //绘制地图   for(int i = 0;i<=29;++i){  cout<<getLogo(i); } cout<<endl; for(int i = 30;i<=34;++i){ for(int j = 0;j<=28;j++){  cout<<" "; }  cout<<getLogo(i)<<endl;; } for(int i =64;i>=35;i--){ cout<<getLogo(i); } cout<<endl; for(int i = 65;i<=69;++i){ cout<<getLogo(i)<<endl; } for(int i = 70;i<=99;i++){  cout<<getLogo(i); } cout<<endl; cout<<"地图说明:【☆幸运轮盘  卍时空隧道  ◎地雷  △暂停  <>玩家同处一个位置】"<<endl;  }  void gameOver(){ //游戏结束  isGameOver = true; winer = gamePlayer; playerPos[gamePlayer]=99; system("cls"); drowMap(); cout<<"***游戏结束!恭喜["<<player[gamePlayer]<<"]取得胜利!"<<endl; system("PAUSE");  } void initMap(){ //初始化地图  int luckyTurn[] = {6,23,40,55,69,83};//幸运轮盘1  int landMine[] = {5,13,17,33,38,50,64,80,94};//地雷2  int pause[] = {9,27,60,93};//暂停3  int timeTunnel[] = {20,25,45,63,72,88,90};//时空隧道4  int i; for(i =0;i<6;++i){  int pos = luckyTurn[i];  map[pos] = 1;  } for(i =0;i<9;++i){  int pos = landMine[i];  map[pos] = 2;  } for(i =0;i<4;++i){  int pos = pause[i];  map[pos] = 3;  } for(i =0;i<7;++i){  int pos = timeTunnel[i];  map[pos] = 4;  } } void initUI(){ //初始化界面   cout<<"*******************小游戏*****************"<<endl; cout<<"*                    *"<<endl; cout<<"*        骑士飞行棋       *"<<endl; cout<<"*                    *"<<endl; cout<<"****************@诗意的叛逆***************"<<endl; } void joinPlayer(){ //加入玩家   string tmpStr = ""; cout<<"请输入玩家A的名字___" <<endl; cin>>tmpStr; while(tmpStr==""){ cout<<"玩家名字不能为空请重新输入___" <<endl;  cin>>tmpStr; } player[0] = "A" + tmpStr;  cout<<"请输入玩家B的名字___" <<endl; cin>>tmpStr; while(tmpStr==""){ cout<<"玩家名字不能为空请重新输入___" <<endl;  cin>>tmpStr; } while(tmpStr == player[0]){ cout<<"玩家名字不能重复,请重新输入___" <<endl;  cin>>tmpStr; } player[1] = "B" + tmpStr; system("cls"); cout<<"***玩家加入成功..."<<endl; cout<<"***地图中[A]表示玩家["<<player[0]<<"]的位置..."<<endl; cout<<"***地图中[B]表示玩家["<<player[1]<<"]的位置..."<<endl; }  void yaoYiYao(){ //投掷骰子   short number = 0; while(!isGameOver){  char a;  cout<<"***请["<<player[gamePlayer]<<"]输入g投掷骰子..."<<endl; cin>>a;  if(a=='g'){  system("cls");  number = random(6)+1;  cout<<"***玩家["<<player[gamePlayer]<<"]投掷的骰子数为:"<<number<<endl;   playerPos[gamePlayer] += number;  int pos = playerPos[gamePlayer];  if(pos >=99){  gameOver();  }else{  switch(map[pos]){  case 0:   if(pausePlayer = -1){   gamePlayer = !gamePlayer;   }else if(pausePlayer = 0){   pausePlayer++;   }else if(pausePlayer = 1){   pausePlayer = -1;   }   break;  case 1:   int cnumber;   cout<<"***哇哦!玩家["<<player[gamePlayer]<<"]获得幸运转一转的机会..."<<endl;   cout<<"***请输入数字选择要进行的操作...."<<endl;   cout<<"1--与对方交换位置"<<endl<<"2--轰炸对方"<<endl;    cin>>cnumber;   if(cnumber == 1){    int t = 0;    t = playerPos[gamePlayer];    playerPos[gamePlayer] = playerPos[!gamePlayer];    playerPos[!gamePlayer] = t;   }else if(cnumber == 2){    playerPos[!gamePlayer] -=6 ;   }else{    cout<<"输入非规定数字!机会丢失。"<<endl;    }   gamePlayer = !gamePlayer;   break;  case 2:   cout<<"***啊哦!玩家["<<player[gamePlayer]<<"]踩到地雷啦,后退6步..."<<endl;   playerPos[gamePlayer] -= 6;   gamePlayer = !gamePlayer;   break;  case 3:   cout<<"***悲剧呀!玩家["<<player[gamePlayer]<<"]暂停投掷一次..."<<endl;   pausePlayer = 0;   gamePlayer = !gamePlayer;   break;  case 4:   cout<<"***真棒!玩家["<<player[gamePlayer]<<"]穿越时空隧道..."<<endl;   playerPos[gamePlayer] += 10;   if(playerPos[gamePlayer]>=99){   gameOver();   }   gamePlayer = !gamePlayer;   break;  }  }  }else if(a == 'a'){  winer = 0;  gameOver(); }else if(a == 'b'){  winer = 1;  gameOver(); } for(int i=0;i<=1;i++){  if(playerPos[i]<0)  playerPos[i] = 0;  } if(!isGameOver){  drowMap(); }  } }  int main(){ srand((unsigned)time(NULL));  initUI(); cout<<"***开始初始化玩家设置..."<<endl;  joinPlayer(); initMap(); drowMap(); cout<<"***本场游戏开始:["<<player[0]<<"] VS ["<<player[1]<<"]"<<endl; gamePlayer = random(2); yaoYiYao(); return 0; }

感谢各位的阅读,以上就是“怎么用C语言实现飞行棋游戏”的内容了,经过本文的学习后,相信大家对怎么用C语言实现飞行棋游戏这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!

网站名称:怎么用C语言实现飞行棋游戏
网站链接:https://www.cdcxhl.com/article4/pjihoe.html

成都网站建设公司_创新互联,为您提供动态网站软件开发网页设计公司品牌网站设计手机网站建设电子商务

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作