欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易連連看游戲

 更新時(shí)間:2021年09月08日 11:23:18   作者:0壹  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了C語(yǔ)言實(shí)現(xiàn)連連看游戲位的具體代碼,供大家參考,具體內(nèi)容如下

題目

給定一個(gè)2N×2N的方陣網(wǎng)格游戲盤面,每個(gè)格子中放置一些符號(hào)。這些符號(hào)一定是成對(duì)出現(xiàn)的,同一個(gè)符號(hào)可能不止一對(duì)。程序讀入玩家給出的一對(duì)位置(x​1,y1​​ )、(x​2,y​2),判斷這兩個(gè)位置上的符號(hào)是否匹配。如果匹配成功,則將兩個(gè)符號(hào)消為“*”并輸出消去后的盤面;否則輸出“Uh-oh”。若匹配錯(cuò)誤達(dá)到3次,則輸出“Game Over”并結(jié)束游戲。或者當(dāng)全部符號(hào)匹配成功,則輸出“Congratulations!”,然后結(jié)束游戲。

輸入格式及樣例

格式

輸入在一行中給一個(gè)正整數(shù)N(<5)。隨后2N行,每行2N個(gè)大寫英文字母(其間以1個(gè)空格分隔),表示游戲盤面。盤面之后給出一個(gè)正整數(shù)K,隨后K行,每行按照格式“x1y1x​2y2”給出一個(gè)玩家的輸入。注意格子的行、列編號(hào)是從1到2N。

樣例

2
I T I T
A B A B
A A A A
C D C D
9
1 1 1 3
1 2 1 4
2 1 2 3
2 2 2 4
3 1 3 2
3 3 3 4
4 1 4 3
4 2 4 3
4 2 4 4

輸出格式及樣例

格式

根據(jù)玩家的每一步輸入,輸出相應(yīng)的結(jié)果。輸出盤面時(shí)注意,每行字符間以1個(gè)空格分隔,行末不得有多余空格。

樣例

參考代碼

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void Print(int n,char**arr);
int main() {
 int n,i,j;
 int fail = 0,secc=0;
 scanf("%d", &n);
 char** arr = (char**)malloc(sizeof(char*) * 2 * n);
 for (i = 1; i <= 2 * n; i++)
  arr[i] = (char*)malloc(sizeof(char) * 2 * n);
 for (i = 1; i <= 2 * n; i++)
  for (j = 1; j <= 2 * n; j++) {
   scanf("%c", &arr[i][j]);
   if (arr[i][j] == ' ' || arr[i][j] == '\n')
    j--;
  }
   
 int k;
 scanf("%d", &k);
 int** brr = (int**)malloc(sizeof(int*) * k);
 for (i = 1; i <= k; i++)
  brr[i] = (int*)malloc(sizeof(int) * 4);
 for (i = 1; i <= k; i++)
  for (j = 1; j <= 4; j++)
   scanf("%d", &brr[i][j]);
 for (i = 1; i <= k; i++) {
  char x, y;
  int x1, y1, x2, y2;
  x1 = brr[i][1];
  y1 = brr[i][2];
  x2 = brr[i][3];
  y2 = brr[i][4];
  x = arr[x1][y1];
  y = arr[x2][y2];
  //printf("%c %c\n",x ,y);
  if (x == y) {
   arr[x1][y1] = '*';
   arr[x2][y2] = '*';
   secc++;
   int m = (2*n * 2*n) / 2;
   if (secc == m&& n * n % 2 == 0) {
    printf("Congratulation!\n");
    exit(0);
   }
   Print(n,arr);
   //printf("\n");
   
  }
  else {
   printf("Uh-oh\n");
   fail++;
   if (fail == 3) {
    printf("Game Over\n");
    exit(0);
   }
  }
  //printf("%c %c\n", x, y);
  /*if (arr[(brr[i][1])][(brr[i][2])] == arr[(brr[i][3])][(brr[i][4])]) {
   arr[(brr[i][1])][(brr[i][2])] = '*';
   arr[(brr[i][3])][(brr[i][4])] = '*';

   }*/
  
 }
 
 return 0;
}

//-----------function
void Print(int n,char**arr) {
 /*char** arr = (char**)malloc(sizeof(char*) * 2 * n);
 for (int i = 1; i < 2 * n; i++)
  arr[i] = (char*)malloc(sizeof(char) * 2 * n);*/
 for (int i = 1; i <= 2 * n; i++) {
  printf("%c", arr[i][1]);
  for (int j = 2; j <= 2 * n; j++) {
   printf(" %c", arr[i][j]);
  }
  printf("\n");
 }

}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++使用easyX庫(kù)實(shí)現(xiàn)三星環(huán)繞效果流程詳解

    C++使用easyX庫(kù)實(shí)現(xiàn)三星環(huán)繞效果流程詳解

    EasyX是針對(duì)C/C++的圖形庫(kù),可以幫助使用C/C++語(yǔ)言的程序員快速上手圖形和游戲編程。這篇文章主要介紹了C++使用easyX庫(kù)實(shí)現(xiàn)三星環(huán)繞效果,需要的可以參考一下
    2022-10-10
  • c++ 封裝一個(gè)截圖服務(wù)

    c++ 封裝一個(gè)截圖服務(wù)

    這篇文章主要介紹了c++ 封裝一個(gè)截圖服務(wù)的方法,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2021-01-01
  • C++使用opencv讀取圖片的操作代碼(圖像處理)

    C++使用opencv讀取圖片的操作代碼(圖像處理)

    這篇文章主要介紹了C++使用opencv讀取圖片,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C++深入講解初始化列表的用法

    C++深入講解初始化列表的用法

    這篇文章主要介紹了C++成員初始化列表,除了可以使用構(gòu)造函數(shù)對(duì)類成員進(jìn)行初始化之外,C++還提供了另外一種初始化的方法,叫做成員初始化列表。下面來看看文章的詳細(xì)吧,需要的朋友可以參考一下
    2022-04-04
  • C++繼承與菱形繼承詳細(xì)介紹

    C++繼承與菱形繼承詳細(xì)介紹

    繼承(inheritance)機(jī)制是面向?qū)ο蟪绦蛟O(shè)計(jì)使代碼可以復(fù)用的最重要的手段,它允許程序員在保持原有類特性的基礎(chǔ)上進(jìn)行擴(kuò)展,增加功能,這樣產(chǎn)生新的類,稱派生類。繼承呈現(xiàn)了面向?qū)ο蟪绦蛟O(shè)計(jì)的層次結(jié)構(gòu),體現(xiàn)了由簡(jiǎn)單到復(fù)雜的認(rèn)知過程
    2022-08-08
  • 詳解C++11的std::addressof源碼解析

    詳解C++11的std::addressof源碼解析

    std::addressof的作用是獲取一個(gè)對(duì)象的實(shí)際地址,即使這個(gè)對(duì)象的&操作符已被重載,本文詳細(xì)的介紹了源碼解析,感興趣的可以了解一下
    2021-06-06
  • 探討數(shù)組與字符串輸入的問題(C++版)

    探討數(shù)組與字符串輸入的問題(C++版)

    本文對(duì)C++數(shù)組與字符串輸入的問題進(jìn)行了探討,需要的朋友可以參考下
    2015-07-07
  • 基于C++實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音樂系統(tǒng)

    基于C++實(shí)現(xiàn)一個(gè)簡(jiǎn)單的音樂系統(tǒng)

    C++中的Beep 函數(shù)是一個(gè)發(fā)出嗡鳴聲的函數(shù),本文將利用這個(gè)函數(shù)實(shí)現(xiàn)制作一個(gè)簡(jiǎn)單的聲音系統(tǒng)。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • C++ 中循環(huán)鏈表和約瑟夫環(huán)

    C++ 中循環(huán)鏈表和約瑟夫環(huán)

    這篇文章主要介紹了C++ 中循環(huán)鏈表和約瑟夫環(huán)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論