亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++實現連連看游戲核心代碼

2020-05-23 13:21:38
字體:
來源:轉載
供稿:網友

這兩天研究了一下連連看游戲的源代碼,感覺它挺簡單的,主要就是判斷選中的兩張圖片能否消去。我參考了網上的源代碼(抱歉的是,不記得當時下載的網址了,在此對原作者表示深深的歉意!),然后自己把核心代碼整理如下,與大家共享。需要說明的是,這只是核心算法的代碼,界面設計和操作的代碼均已略去。

#include <stdlib.h>#include <time.h>//圖片類class picture{public: int type;//圖片的編號,共有n種,從0到n-1 bool visible;//圖片是否可見 int x;//圖片位置的橫坐標 int y;//圖片位置的綜坐標};//整個圖由8行10列組成,每個單元格是一張小圖片const int pNum = 10;const int pType = 8;static picture p[pType][pNum];//進入新一關void newStage(){ srand(time(0)); int i,j; for(i = 0;i < pType;++i) for(j = 0;j < pNum;j++)  p[i][j].visible = false; int x,y; for (i = 0;i < pType - 1;++i) for(j = 0;j < pNum;++j) {  bool re = true;  while (re)  {  x = rand() % pType;  y = rand() % pNum;  if (p[x][y].visible == false)  {   p[x][y].type = i;   p[x][y].visible = true;   p[x][y].x = x;   p[x][y].y = y;   re = false;  }  } } //處理剩余的最后一種圖片 for (i = 0;i < pType;++i)  for(j = 0;j < pNum;++j)  {  if (p[i][j].visible == false)  {   p[i][j].type = pType - 1;   p[i][j].visible = true;   p[i][j].x = i;   p[i][j].y = j;  }  }} //在a、b兩點之間畫線void drawLine(picture a,picture b){ }//判斷圖片a和b之間能否通過一條直線相連(a和b之間有0個轉角)bool matchDirect(picture a,picture b){ if(!(a.x == b.x || a.y == b.y)) return false; //a、b的橫坐標相同時 bool yMatch = true; if(a.x == b.x) { if(a.y > b.y) {  for(int i = b.y + 1;i < a.y;++i)  {  if(p[a.x][i].visible == true)   yMatch = false;  } } if(b.y > a.y) {  for(int i = a.y + 1;i < b.y;++i)  {  if(p[a.x][i].visible == true)   yMatch = false;  } } } //a、b的縱坐標相同時 bool xMatch = true; if(a.y == b.y) { if(a.x > b.x) {  for(int i = b.x + 1;i < a.x;++i)  {  if(p[i][a.y].visible == true)   xMatch = false;  } } if(b.x > a.x) {  for(int i = a.x + 1;i < b.x;++i)  {  if(p[i][a.y].visible == true)   xMatch = false;  } } } return (xMatch && yMatch);}//判斷圖片a和b之間是否可以通過一個轉角的折線相連bool matchOneCorner(picture a,picture b){ if (p[a.x][b.y].visible == false && matchDirect(a,p[a.x][b.y]) && matchDirect(p[a.x][b.y],b)) { drawLine(a,p[a.x][b.y]); drawLine(p[a.x][b.y],b); return true; } if (p[b.x][a.y].visible == false && matchDirect(a,p[b.x][a.y]) && matchDirect(p[b.x][a.y],b)) { drawLine(a,p[b.x][a.y]); drawLine(p[b.x][a.y],b); return true; } return false;}//判斷圖片a和b之間是否可以通過兩個轉角的折線相連bool matchTwoCorner(picture a,picture b){ int i,j; for(i = a.x - 1,j = a.y;i >= 0;--i) { if(p[i][j].visible == true)  break; else if(matchOneCorner(b,p[i][j])) {  drawLine(a,p[i][j]);  return true; } } for (i = a.x + 1,j = a.y;i < pNum;++i) { if(p[i][j].visible == true)  break; else if(matchOneCorner(b,p[i][j])) {  drawLine(a,p[i][j]);  return true; } } for(i = a.x,j = a.y - 1;j >= 0;--j) { if(p[i][j].visible == true)  break; else if(matchOneCorner(b,p[i][j])) {  drawLine(a,p[i][j]);  return true; } } for(i = b.x,j = b.y + 1;j < pType;++j) { if(p[i][j].visible == true)  break; else if(matchOneCorner(b,p[i][j])) {  drawLine(a,p[i][j]);  return true; } } return false;}//判斷a和b能否相連,條件是a和b的類型相同,且a和b之間的連線拐角數<=2個bool match(picture a,picture b){ if(a.type != b.type) return false; if(matchDirect(a,b)) { drawLine(a,b); return true; } else if(matchOneCorner(a,b)) return true; else if(matchTwoCorner(a,b)) return true; return false;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性极品少妇精品网站| 国产香蕉97碰碰久久人人| 亚洲热线99精品视频| 国产精品第1页| 另类专区欧美制服同性| 久久亚洲国产成人| 在线成人中文字幕| 青草青草久热精品视频在线网站| 91精品视频播放| 久久精品91久久香蕉加勒比| 亚洲欧洲午夜一线一品| 国产精品视频精品视频| 亚洲日韩第一页| www.日本久久久久com.| 亚洲免费视频一区二区| 国产精品扒开腿做爽爽爽视频| 亚洲二区中文字幕| 一夜七次郎国产精品亚洲| 国产精品极品美女在线观看免费| 亚洲成人激情在线| 97超碰国产精品女人人人爽| 日本成人激情视频| 国产一区二区三区免费视频| 欧美日韩另类在线| 欧美成人午夜激情在线| 国产一区二区三区丝袜| 精品亚洲国产视频| 欧美天堂在线观看| 黄色91在线观看| 国产精品免费久久久| 久久久久亚洲精品国产| 日韩欧美亚洲综合| 国产国语videosex另类| 亚洲精品成人久久| 精品偷拍一区二区三区在线看| 一区三区二区视频| 精品偷拍各种wc美女嘘嘘| 亚洲国产高清高潮精品美女| 亚洲欧洲在线观看| 欧美一级bbbbb性bbbb喷潮片| 国产一区玩具在线观看| 欧美日韩国产一区二区| 久久成人人人人精品欧| 色综合久综合久久综合久鬼88| 国产精品久久久久久久久| 国产精品久久久久久久电影| zzjj国产精品一区二区| 国产最新精品视频| 亚洲美女精品久久| 亚洲精品中文字幕av| 久久综合久中文字幕青草| 久久久精品亚洲| 91精品国产综合久久香蕉| 久久精品这里热有精品| 亚洲精品国产精品自产a区红杏吧| 亚洲www在线观看| 国产精品电影久久久久电影网| 亚洲xxxx妇黄裸体| 国产亚洲美女精品久久久| 欧美激情在线观看视频| 中文字幕亚洲一区二区三区五十路| 国产色婷婷国产综合在线理论片a| 亚洲欧美在线免费观看| 久久久91精品国产| 91精品国产高清久久久久久| 日韩高清av在线| 91免费福利视频| 精品久久久久久久久中文字幕| zzjj国产精品一区二区| 国产精品成人v| 欧洲午夜精品久久久| 欧美美最猛性xxxxxx| 国产精品7m视频| 久久亚洲国产精品成人av秋霞| 91色在线观看| 成人高清视频观看www| 亚洲一区二区三区在线视频| 亚洲国产精品成人精品| 国产99视频精品免视看7| 4k岛国日韩精品**专区| 久久综合网hezyo| 国产精品美女免费视频| 亚洲自拍偷拍网址| 亚洲美女性生活视频| 91免费国产网站| 精品国产一区二区在线| 亚洲人成在线电影| 久久国产精品久久久| 欧美激情18p| 国产精品欧美激情在线播放| 国产欧美日韩精品丝袜高跟鞋| 亚洲综合中文字幕68页| 热久久这里只有精品| 国产视频一区在线| 欧洲中文字幕国产精品| 久久免费国产精品1| 性亚洲最疯狂xxxx高清| 91久久嫩草影院一区二区| 亚洲欧洲日韩国产| 亚洲a级在线播放观看| 国产亚洲欧美另类中文| 亚洲成人网久久久| 亚洲精品国产品国语在线| 精品国产91久久久久久老师| 日本a级片电影一区二区| 亚洲视频在线视频| 福利一区视频在线观看| 欧美亚洲视频在线看网址| 91精品国产自产在线| 不用播放器成人网| 国产丝袜一区视频在线观看| 国产成人极品视频| 青青草国产精品一区二区| 国产99视频精品免视看7| 一区二区三区回区在观看免费视频| 久久伊人精品一区二区三区| 日韩欧美国产高清91| 久久精品久久久久电影| 国产精品久久久久久久久久久久| 一区二区三区高清国产| 亚洲一区二区三区成人在线视频精品| 黄色成人在线免费| 超碰91人人草人人干| 国产久一一精品| 国产有码在线一区二区视频| 96国产粉嫩美女| 97人人模人人爽人人喊中文字| 亚洲第一区中文99精品| 97精品视频在线| 成人在线国产精品| 久久99久久99精品中文字幕| 国内精品久久久久久中文字幕| 久久久av电影| 青青草成人在线| 97久久伊人激情网| 日韩欧美中文字幕在线播放| 亚洲精品v天堂中文字幕| 国产美女久久精品香蕉69| 色av吧综合网| 免费97视频在线精品国自产拍| 97碰碰碰免费色视频| 色偷偷88888欧美精品久久久| 欧美成人免费全部| 色悠久久久久综合先锋影音下载| 国产视频久久久久| 自拍偷拍免费精品| 国产在线观看精品一区二区三区| 国产精品美女久久久久久免费| 自拍偷拍亚洲精品| 久久97久久97精品免视看| 亚洲人成电影网站色…| 在线国产精品视频| 亚洲区bt下载| 欧美激情精品久久久久久| 欧美第一淫aaasss性| 久久久中精品2020中文| 性金发美女69hd大尺寸| 国产精品大片wwwwww| 亚洲欧美日韩精品久久奇米色影视| 91成人天堂久久成人| 福利一区福利二区微拍刺激| 久久在线免费视频| 国产精品第10页| 亚洲成人激情图|