欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C++如何實現(xiàn)五子棋小程序

這篇文章給大家分享的是有關C++如何實現(xiàn)五子棋小程序的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站設計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元景洪做網(wǎng)站,已為上家服務,為景洪各地企業(yè)和個人服務,聯(lián)系電話:13518219792

這是一個用C++寫的五子棋的小程序,關于A若是占據(jù)了已經(jīng)下了的位置處理的不好。改動 hight,與width ,與q[][] 可以將棋盤擴大。

#include<iostream>
#include<vector>
using namespace std;

class qipan
{
public:
 qipan() {}
 ~qipan() {};


 //向上下左右,斜的方向
 char left(int x, int y)
 {//檢查是否合適
 if (x >= 1 && x <= hight&& y - 1 >= 1 && y - 1 <= width)
 {
  return q[x][y - 1];
 }
 else {
  return 'F';
 }

 }
 char right(int x, int y)
 {
 if (x >= 1 && x <= hight&&y + 1 >= 1 && y + 1 <= width)
 {
  return q[x][y + 1];
 }
 else {
  return 'F';
 }

 }
 char up(int x, int y)
 {
 if (x - 1 >= 1 && x - 1 <= hight && y >= 1 && y <= width)
 {
  return q[x - 1][y];
 }
 else {
  return 'F';
 }

 }
 char down(int x, int y)
 {
 if (x + 1 >= 1 && x + 1 <= hight && y >= 1 && y <= width)
 {
  return q[x + 1][y];
 }
 else {
  return 'F';
 }

 }
 char left_up(int x, int y)
 {
 if (x - 1 >= 1 && x - 1 <= hight && y - 1 >= 1 && y - 1 <= width)
 {
  return q[x - 1][y - 1];
 }
 else {
  return 'F';
 }

 }
 char left_down(int x, int y)
 {
 if (x + 1 >= 1 && x + 1 <= hight && y - 1 >= 1 && y - 1 <= width)
 {
  return q[x + 1][y - 1];
 }
 else {
  return 'F';
 }

 }
 char right_up(int x, int y)
 {
 if (x - 1 >= 1 && x - 1 <= hight && y + 1 >= 1 && y + 1 <= width)
 {
  return q[x - 1][y + 1];

 }
 else {
  return 'F';
 }


 }
 char right_down(int x, int y)
 {
 if (x + 1 >= 1 && x + 1 <= hight && y + 1 >= 1 && y + 1 <= width)
 {
  return q[x + 1][y + 1];
 }
 else {
  return 'F';
 }
 }

 void init_cur() {
 h_cur = hang;
 l_cur = lie;

 }
 bool win()
 {
 bool WIN = false;
 char temp = q[hang][lie];

 //以上為例,每次先看上面的5個,假如一樣,iter++;否則 break;再加上下的方向,同樣iter++;最后iter+1==5,WIN=true;并且退出
 //各個方向重復,上下左右,斜著的。
 //贏了直接退出。
 //顯示是誰贏了


 //左右
 int count_lr = 1;
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (left(h_cur, l_cur) == temp)
  count_lr++;
  else
  break;
  l_cur--;

 }
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (right(h_cur, l_cur) == temp)
  count_lr++;
  else
  break;
  l_cur++;

 }
 if (count_lr == 5)
  WIN = true;
 //上下
 int count_ud = 1;
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (up(h_cur, l_cur) == temp)
  count_ud++;
  else
  break;
  h_cur--;

 }
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (down(h_cur, l_cur) == temp)
  count_ud++;
  else
  break;
  h_cur++;

 }
 if (count_ud == 5)
  WIN = true;


 //左斜
 int count_lt = 1;
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (left_up(h_cur, l_cur) == temp)
  count_lt++;
  else
  break;
  h_cur--;
  l_cur--;

 }
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (left_down(h_cur, l_cur) == temp)
  count_lt++;
  else
  break;
  h_cur++;
  l_cur--;

 }
 if (count_lt == 5)
  WIN = true;

 //右邊斜
 int count_rt = 1;
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (right_up(h_cur, l_cur) == temp)
  count_rt++;
  else
  break;
  h_cur--;
  l_cur++;

 }
 init_cur();
 for (int i = 0; i < 4; i++)
 {

  if (right_down(h_cur, l_cur) == temp)
  count_rt++;
  else
  break;
  h_cur++;
  l_cur++;

 }
 if (count_rt == 5)
  WIN = true;

 return WIN;
 }


 void qipan_array()
 {
 for (int i = 0; i < hight; i++) {
  for (int j = 0; j < width; j++)
  q[i][j] = '+';
 }
 }


 void prin_qipan()
 {
 //打印二維數(shù)組;每一行要打印上行號,以及列號
 for (int i = 0; i <hight; i++)
 {

  for (int j = 0; j < width; j++)
  {
  cout << q[i][j] << " ";

  }
  cout << i;
  cout << endl;
 }

 for (int j = 0; j <width; j++)
 {
  cout << j << " ";
 }
 cout << endl << "________________________________" << endl;
 }
 int xiaqi(int player)
 {
 if (player == 1) {
  q[hang][lie] = '*';
 }
 else if (player == 2)
 {
  q[hang][lie] = '@';
 }
 else
  cout << "input player is wrong" << endl;
 return 0;
 }

 //初始化行列
 int gethang(int h)
 {

 hang = h;
 return 0;
 }
 int getlie(int l)
 {
 lie = l;
 return 0;
 }


 int h_cur;
 int l_cur;
 const int hight = 9;
 const int width = 9;
 int hang; int lie;
 char q[9][9];
};

int main()
{
 int hang, lie;
 qipan wzq;
 wzq.qipan_array();
 cout << "A 與B 玩五子棋" << endl;
 cout << "A use * and B use @" << endl;
 cout << "________________________________" << endl;
 for (int i = 0; i < 15; i++) {
 cout << "A 輸入行: ";
 cin >> hang;
 cout << "A 輸入列: ";
 cin >> lie;
 if (wzq.q[hang][lie] != '+')
  cout << "輸入的行列數(shù)字已經(jīng)有人占據(jù)了" << endl;
 else {
  wzq.gethang(hang);
  wzq.getlie(lie);

  wzq.xiaqi(1);
  wzq.prin_qipan();
  if (wzq.win())
  {
  cout << "A is winner" << endl;
  exit(0);
  }
 }
 //b 開始了
 cout << "B 輸入行: ";
 cin >> hang;
 cout << "B 輸入列: ";
 cin >> lie;
 if (wzq.q[hang][lie] != '+')
  cout << "輸入的行列數(shù)字已經(jīng)有人占據(jù)了" << endl;
 else {
  wzq.gethang(hang);
  wzq.getlie(lie);

  wzq.xiaqi(2);

  wzq.prin_qipan();
  if (wzq.win())
  {
  cout << "B is winner" << endl;
  exit(0);
  }
 }
 }
 return 0;


}

感謝各位的閱讀!關于“C++如何實現(xiàn)五子棋小程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

文章名稱:C++如何實現(xiàn)五子棋小程序
文章出自:http://aaarwkj.com/article48/jposhp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、標簽優(yōu)化、域名注冊靜態(tài)網(wǎng)站、網(wǎng)站策劃、電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設
精品国产一区二区三区卡| 精品丝袜熟女一区二区三区| 亚洲国产熟女一区二区三| 日韩一区二区电影在线| 久久激情日本人妻av免费| 欧美国产日韩一区在线观看| 熟妇一区二区在线播放| 伊人青草免费在线视频| 日本高清有码视频在线观看| 亚洲丰满毛茸茸毛茸茸| 日本丰满熟女毛茸茸的黑逼| 日韩无码一区二区视频| 久久婷婷国产综合精品青草| 亚洲天堂岛av一区二区| 国产一区二区三区精品久| 最新国产毛片久热精品视频| av基地蜜桃蜜桃蜜桃| 午夜91激情福利视频| 日本精品在线亚洲国产欧美| 麻豆精品午夜福利在线| 亚洲午夜福利天堂社区| 欧美成人日本在线播放| 亚洲女人下体毛茸茸视频| 成人国产在线欧美精品| 国产不卡视频观看网站| 久热99在线视频免费观看| 91人妻这里只有精品| 国产精品久久久久久久亚洲| 欧美日韩av在线一区二区| 日韩女优中文字幕在线播放| 成人黄色动漫在线播放| 成人性生活视频免费中文版| 成年免费视频一区二区三区| 91成人大片在线观看| 国产综合永久精品日韩鬼片| 亚洲一级特黄大片在线观看| 精品国产91久久粉嫩| 国产传媒在线免费播放| 国产91在线拍揄自揄| 国产精品剧情在线播放| 日韩av一区二区久久久|