ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

游戏经典题目之十字激光炮

2022-01-25 13:36:21  阅读:178  来源: 互联网

标签:题目 激光炮 int 位置 地图 fire 十字 敌人


题目描述

输入一个5行5列的01矩阵地图,1表示当前位置有敌人,0表示无敌人。

现在地图某位置部署一门十字激光炮,开炮后可以消灭与之同行同列的敌人。

打印激光炮(已布置好)发射前后的地图敌我情况,如示例所示。

程序主体建议使用函数分块完成,大致包含以下三个函数。

input()用于输入题目信息;

check()用于打印当前地图情况;

fire()用于完成激光炮开炮。

输入格式

五行地图数据,每行5个整数,表示该位置是否有敌人。

第6行为激光炮部署位置的行数nn和列数mm,空格隔开

输出格式

打印激光炮(已布置好)发射前后的地图情况,中间用一行fire(开火)隔开,如示例所示。

每个位置上○表示无敌人,●表示有敌人,+表示激光炮,相邻位置间使用空格隔开。

(激光炮位置与敌人重合时显示激光炮标记。三种标记符号可以从这里复制)

#include<bits/stdc++.h>
using namespace std;
int a[6][6];
int n,m;
void input(){
	for(int i=1;i<=5;i++)
			for(int j=1;j<=5;j++)
				cin >> a[i][j];
	cin >> n >>m;
	a[n][m]=2;
}
void fire(){
	cout << "fire" << endl;
	for(int j=1;j<=5;j++)
		a[n][j]=0;
	for(int i=1;i<=5;i++)
			a[i][m]=0;
		a[n][m]=2;
}
void check(){
	for(int i=1;i<=5;i++){
		for(int j=1;j<=5;j++){
			if(a[i][j]==0)
				cout << "○" << " ";
			else if(a[i][j]==1)
				cout << "●" << " ";
			else if(a[i][j]==2)
				cout << "+" << " ";
		}
		cout << endl;
	}
}
int main(){
	input();
	check();
    fire();
	check();

    return 0;
}

标签:题目,激光炮,int,位置,地图,fire,十字,敌人
来源: https://blog.csdn.net/e12435/article/details/122683425

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有