首页 > 其他分享 >简易连连看

简易连连看

时间:2024-12-27 21:57:23浏览次数:4  
标签:输出 连连看 oh 符号 样例 简易 Uh 输入

本题要求实现一个简易连连看游戏模拟程序。

给定一个2N×2N的方阵网格游戏盘面,每个格子中放置一些符号。这些符号一定是成对出现的,同一个符号可能不止一对。程序读入玩家给出的一对位置(x1​,y1​)、(x2​,y2​),判断这两个位置上的符号是否匹配。如果匹配成功,则将两个符号消为“*”并输出消去后的盘面;否则输出“Uh-oh”。若匹配错误达到3次,则输出“Game Over”并结束游戏。或者当全部符号匹配成功,则输出“Congratulations!”,然后结束游戏。

输入格式:

输入在一行中给一个正整数N(<5)。随后2N行,每行2N个大写英文字母(其间以1个空格分隔),表示游戏盘面。盘面之后给出一个正整数K,随后K行,每行按照格式“x1​ y1​ x2​ y2​”给出一个玩家的输入。注意格子的行、列编号是从1到2N。

输出格式:

根据玩家的每一步输入,输出相应的结果。输出盘面时注意,每行字符间以1个空格分隔,行末不得有多余空格。

输入样例1:

2
I T I T
Y T I A
T A T Y
I K K T
11
1 1 1 3
4 2 4 3
3 1 4 2
2 2 1 2
3 1 2 4
4 4 3 1
2 1 3 4
3 3 1 4
4 1 2 3
2 4 3 2
1 1 2 2

输出样例1:

* T * T
Y T I A
T A T Y
I K K T
* T * T
Y T I A
T A T Y
I * * T
Uh-oh
* * * T
Y * I A
T A T Y
I * * T
Uh-oh
* * * T
Y * I A
* A T Y
I * * *
* * * T
* * I A
* A T *
I * * *
* * * *
* * I A
* A * *
I * * *
* * * *
* * * A
* A * *
* * * *
Congratulations!

输入样例2:

2
I T I T
Y T I A
T A T Y
I K K T
5
1 1 4 4
1 1 2 3
1 1 2 3
2 2 4 1
2 2 3 3

输出样例2:

Uh-oh
* T I T
Y T * A
T A T Y
I K K T
Uh-oh
Uh-oh
Game Over

这道题目的思路和大炮打蚊子有点关系,同是录入map再对输入进来的坐标对map进行变化(如果有大炮打蚊子不会的同学可以看小编主页,有相关例题哦https://blog.csdn.net/2403_89063607/article/details/144159548),回到本题目,我们该如何实现简易连连看呢,请看代码。

#include<stdio.h>
int main(){
    int n;
    scanf("%d\n",&n);
    char a[20][20];
    int i,j;
    for(i = 1;i<=2*n;i++){
        for(j = 1;j<=2*n;j++){
            scanf("%c",&a[i][j]);
            getchar();
        }
    }
    int k,h;
    int cnt = 0;
    int x1,y1,x2,y2;
    int win = 0;
    scanf("%d",&k);
    for(h=0;h<k;h++){
        scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
        if(a[x1][y1]==a[x2][y2]&&a[x1][y1]!='*'){
            a[x1][y1]='*';
            a[x2][y2]='*';
            win++;
            
            if(win==2*n*n){printf("Congratulations!");
                       return 0;   
        }
            for(i = 1;i<=2*n;i++){
                for(j = 1;j<=2*n;j++){
                    if(j<2*n){
					printf("%c ",a[i][j]);}
                    else if(j==2*n){
					printf("%c\n",a[i][j]);}
                }
            }
            
                       }
            
        else {
            cnt++;
            printf("Uh-oh\n");
            if(cnt==3){
                printf("Game Over");
                return 0;
            }
        }
    }
    
    return 0;
}

 相信看完这串看似很长的代码之后,其实你已经理解了其中的逻辑吧,哈哈哈哈哈,毕竟我写的那么到位详细哈哈哈哈,当然,也欢迎各位读者对代码进行提问和建议,小编会尽力回复大家,也让我们勤劳的码农共同进步!

你免费的点赞和关注将是小编最大前进的动力!!

标签:输出,连连看,oh,符号,样例,简易,Uh,输入
From: https://blog.csdn.net/2403_89063607/article/details/144650228

相关文章

  • 鸿蒙Next简易版本通用头部导航栏开发
    鸿蒙Next简易版本通用头部导航栏开发在日常页面开发中,我们每个页面都会有一个头部用于展示返回按钮和显示页面信息。如果没个页面都重复写太过于繁琐以及标准不好统一。因此,我们需要一个通用的头部组件。步骤一新建一个ArkTsFile页面,使用@Component装饰器创建一个名为NavBar的......
  • 手动实现一个简易版Promise的思路及代码示例
    ......
  • ROS(Python)简易笔记 3.运行管理
    前言在多级层深的ROS系统中,其实现与维护可能会出现一些问题。运行管理部分就是为了解决这些问题。这一章有元功能包、launch文件管理、和一些重名情况的处理。元功能包元功能包就是把一些功能包打包到一起,当需要安装这些功能包时可以直接调用元功能包,而不需要逐个安装。......
  • 409、基于51单片机的温度控制,简易空调仿真设计(单阀值,LCD,独立按键)
    毕设帮助、开题指导、技术解答(有偿)见文末。目录一、设计功能二、proteus仿真三、原理图四、程序源码五、资料包括一、设计功能简易空调,温度控制系统1、系统启停由按键设置2、系统处于启动状态时,检测到室内有人,那么温度低于阀值启动制热,高于阀值启动制冷3、LCD1602......
  • stm32f407 cubemx lwip的简易服务器客户端收发项目
    元器件:野火stm32f407开发板技术:lwiptcp/ip内容:搭建的stm32服务器,可以接受和发送数据到客户端项目实现图片stm32通过串口发送数据客户端接受到数据客户端发送数据stm32收到数据**代码可以在我的主业进行下载**......
  • nodejs版本管理工具——nvm简易教程
    使用NVM管理Node.js版本的完整指南1.NVM简介NVM(NodeVersionManager)是一个强大的工具,用于管理Node.js的不同版本。它允许用户在同一台机器上轻松安装和切换不同版本的Node.js,非常适合开发者在开发过程中需要使用不同版本的场景。NVM在Linux和macOS系统上尤其受到......
  • Scoop简易安装教程
    在Windows上安装Scoop的详细教程1.为什么要安装Scoop?Scoop是一个类似于Linux系统上的包管理器的工具,和Windows官方推出的winget类似,但我认为Scoop的用户体验更佳,使用起来非常简单方便。使用Scoop后,配置开发软件(如JDK、Node.js、MySQL、Redis等)时,不再需要为Windows环境变量而烦......
  • flask框架简易云在线人事管理系统毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于人事管理系统的研究,现有研究主要以传统本地部署的人事管理系统为主,专门针对简易云在线人事管理系统的研究较少。在国内外的企业管......
  • PHP 简易的BASE64加密
    有这样一个有趣的公式:x<100; (x*53*17)%100=x;这个公司的原理:53*17=901,x*901,的数后2位数还是x;任何符合a*b=100*n+1的值都可以。根据这个原理就可以做一个简单的加密操作。比如要加密的数是26,使用(17*53)%100=78,加密后的值是78,在用(78*17)%100=26;这样53就是加密的密......
  • HarmonyOS Next 系统能力调用简易指南
    《HarmonyOSNext系统能力调用简易指南》HarmonyOSNext作为华为鸿蒙操作系统的下一代重要演进,为开发者带来了更强大、更高效且更具创新性的系统能力。在这篇文章中,我们将深入探讨如何简易地调用HarmonyOSNext的一些关键系统能力,并通过代码示例帮助您快速上手。一、基础环......