Sosyal medyadan gördüğüm ve hoşuma giden güzel bir kodlama oyunu sitesi olan Codingame.com içindeki çözümlerim
Kısaca özetlemek gerekirse belirtilen şartlara göre 8 yön için koşulları yazdık ve bunların en başında haritanın sınırlarının içinde olup olmadığını kontrol ettik.
using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Collections;
using System.Collections.Generic;/**
* Auto-generated code below aims at helping you parse
* the standard input according to the problem statement.
* —
* Hint: You can use the debug stream to print initialTX and initialTY, if Thor seems not follow your orders.
**/
class Player
{
static void Main(string[] args)
{
string[] inputs = Console.ReadLine().Split(‘ ‘);
int lightX = int.Parse(inputs[0]); // the X position of the light of power
int lightY = int.Parse(inputs[1]); // the Y position of the light of power
int initialTX = int.Parse(inputs[2]); // Thor’s starting X position
int initialTY = int.Parse(inputs[3]); // Thor’s starting Y positionint thorX=initialTX;
int thorY=initialTY;
string directionX=null;
string directionY=null;// game loop
while (true)
{
int remainingTurns = int.Parse(Console.ReadLine()); // The remaining amount of turns Thor can move. Do not remove this line.// Write an action using Console.WriteLine()
// To debug: Console.Error.WriteLine(“Debug messages…”);if(40>thorX && thorX>=0 && 18>thorY && thorY>=0 ){
if(lightX<thorX && lightY>thorY ) //1
{
directionX=”W”;
thorX= –thorX;directionY=”S”;
thorY= ++thorY;
}
else if(lightX<thorX && lightY<thorY ) //2
{
directionX=”W”;
thorX= –thorX;directionY=”N”;
thorY= –thorY;
}else if(lightX>thorX && lightY>thorY ) //3
{
directionX=”E”;
thorX= ++thorX;directionY=”S”;
thorY= ++thorY;
}else if(lightX>thorX && lightY<thorY ) //4
{
directionX=”E”;
thorX= ++thorX;directionY=”N”;
thorY= –thorY;
}
else if(lightX>thorX && lightY==thorY ) //5
{
directionX=”E”;
thorX= ++thorX;directionY=null;
thorY= thorY;
}
else if(lightX<thorX && lightY==thorY ) //6
{
directionX=”W”;
thorX= –thorX;directionY=null;
thorY= thorY;
}else if(lightX==thorX && lightY<thorY ) //7
{
directionX=null;
thorX= thorX;directionY=”N”;
thorY= –thorY;
}
else if(lightX==thorX && lightY>thorY ) //8
{
directionX=null;
thorX= thorX;directionY=”S”;
thorY= ++thorY;
}}
Console.WriteLine(directionY+””+directionX);
}
}
}
İlk Yorumu Siz Yapın