Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Ex04
- {
- class Program
- {
- static void Main(string[] args)
- {
- var gardenSize = int.Parse(Console.ReadLine());
- var garden = new char[gardenSize][,];
- FillGarden(gardenSize, garden);
- var command = Console.ReadLine();
- while (command != "Melolemonmelon")
- {
- var doctorCoorinates = command
- .Split()
- .Select(int.Parse)
- .ToArray();
- var zCoordinates = doctorCoorinates[0];
- var xCoordinates = doctorCoorinates[1];
- var yCoordinates = doctorCoorinates[2];
- garden[zCoordinates][xCoordinates, yCoordinates] = '0';
- for (int z = 0; z < gardenSize; z++)
- {
- if (z == zCoordinates)
- {
- for (int x = 0; x < gardenSize; x++)
- {
- for (int y = 0; y < gardenSize; y++)
- {
- if (x != xCoordinates && y != yCoordinates)
- {
- MorphMelon(garden, x, y, z);
- }
- }
- }
- }
- else
- {
- for (int x = 0; x < gardenSize; x++)
- {
- for (int y = 0; y < gardenSize; y++)
- {
- if (!(x == xCoordinates && y == yCoordinates))
- {
- MorphMelon(garden, x, y, z);
- }
- }
- }
- }
- }
- command = Console.ReadLine();
- }
- PrintGarden(gardenSize, garden);
- }
- private static void MorphMelon(char[][,] garden, int x, int y, int z)
- {
- var melonToMorph = garden[z][x, y];
- switch (melonToMorph)
- {
- case 'W':
- garden[z][x, y] = 'E';
- break;
- case 'E':
- garden[z][x, y] = 'F';
- break;
- case 'F':
- garden[z][x, y] = 'A';
- break;
- case 'A':
- garden[z][x, y] = 'W';
- break;
- }
- }
- private static void PrintGarden(int gardenSize, char[][,] garden)
- {
- for (int x = 0; x < gardenSize; x++)
- {
- for (int z = 0; z < gardenSize; z++)
- {
- for (int y = 0; y < gardenSize; y++)
- {
- if (y == gardenSize - 1 && z == gardenSize - 1)
- {
- Console.Write(garden[z][x, y]);
- }
- else
- {
- Console.Write(garden[z][x, y] + " ");
- }
- }
- if (z != gardenSize - 1)
- {
- Console.Write("| ");
- }
- }
- Console.WriteLine();
- }
- }
- private static void FillGarden(int gardenSize, char[][,] garden)
- {
- for (int i = 0; i < gardenSize; i++)
- {
- garden[i] = new char[gardenSize, gardenSize];
- }
- for (int x = 0; x < gardenSize; x++)
- {
- var lineToAdd = Console.ReadLine().Split('|');
- for (int z = 0; z < gardenSize; z++)
- {
- var layerLineToAdd = lineToAdd[z]
- .Split(" ", StringSplitOptions.RemoveEmptyEntries)
- .Select(char.Parse)
- .ToArray();
- for (int y = 0; y < gardenSize; y++)
- {
- garden[z][x, y] = layerLineToAdd[y];
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement