C# Console ile yıldızlardan gemi yapımı

Card image cap

C# Console ile yıldızlardan gemi yapımı

ilk olarak gemimizin satır sayısını ve kolon sayısını tanımlayarak başlıyoruz.

int satirsayisi = 10;
int kolonsayisi = 100;

console ekranı satır satır işlediği için ekrana göstereceğimiz çıktıları yukarıdan aşşağıya doğru düşünmeliyiz. bunun için ilk olarak ekranın en üstünde kalan gemimizin dumanını yaparak başlıyoruz.

for (int dumansatir = 0; dumansatir < satirsayisi / 2; dumansatir++)
{
	if(dumansatir == 0) Console.Write("   ");
	if (dumansatir == 1) Console.Write("  ");
	if (dumansatir == 2) Console.Write(" ");
	for (int j = 0; j < (kolonsayisi * 95) / 100; j++)
	{
		Console.Write(" ");
	}
	for (int i = 0; i < (kolonsayisi * 1) / 100; i++)
	{
		Console.WriteLine("*");
	}
	
}

daha sonra bacanın en üst ksımını yaparak devam ediyoruz.

for (int bacaustsatir = 0; bacaustsatir < satirsayisi / 2; bacaustsatir++)
{
	for (int j = 0; j < (kolonsayisi * 93) / 100; j++)
	{
		Console.Write(" ");
	}
	Console.Write("*");
	for (int i = 0; i < (kolonsayisi * 3) / 100; i++)
	{
		string yazi = "";
		if (bacaustsatir == 0) { yazi = "*"; } else { yazi = " "; }
		Console.Write("{0}", yazi);
	}
	Console.WriteLine("*");
}

daha sonra geminin yönlendirmesinin yapıldığı kaptan köşkünü olduğu kısmı yapıyoruz. aynı zamanda kaptan köşkünün arka tarafında kalan baca kısmının devamını yapıyoruz.

 for (int karesatir = 0; karesatir < satirsayisi / 2; karesatir++)
{
	for (int j = 0; j < (kolonsayisi * 60) / 100; j++)
	{
		Console.Write(" ");
	}
	Console.Write("*");
	for (int i = 0; i < (kolonsayisi * 15) / 100; i++)
	{
		string yazi = "";
		if (karesatir == 0) { yazi = "*"; } else { yazi = " "; }
		Console.Write("{0}", yazi);
	}
	Console.Write("*");


	for (int j = 0; j < (kolonsayisi * 16) / 100; j++)
	{
		Console.Write(" ");
	}
	Console.Write("*");
	for (int i = 0; i < (kolonsayisi * 3) / 100; i++)
	{
		Console.Write(" ");
	}
	Console.WriteLine("*");
}

şimdi güvertenin üst kısmında bulunan kısmı ve bacanın devam eden kısmını yapıyoruz.

for (int dikdortgensatir = 0; dikdortgensatir < satirsayisi/2; dikdortgensatir++)
{
	for (int j = 0; j < (kolonsayisi * 40) / 100; j++)
	{
		Console.Write(" ");
	}
	Console.Write("*");
	for (int i = 0; i < (kolonsayisi * 40) / 100; i++)
	{
		string yazi = "";
		if (dikdortgensatir == 0) { yazi = "*"; } else { yazi = " "; }
		Console.Write("{0}", yazi);
	}
	Console.Write("*");

	for (int j = 0; j < (kolonsayisi * 11) / 100; j++)
	{
		Console.Write(" ");
	}
	Console.Write("*");
	for (int i = 0; i < (kolonsayisi * 3) / 100; i++)
	{
		Console.Write(" ");
	}
	Console.WriteLine("*");
}

son olarak gemimizin gövde kısmını yaparak bitiriyoruz.

for (int satir = 0; satir < satirsayisi; satir++)
{
	for (int j = 0; j <satir; j++)
	{
		Console.Write(" ");
	}
	Console.Write("*");
	for (int i = 0; i < kolonsayisi - satir * 2; i++)
	{
		string yazi = "";
		if (satir == 0 || satir == satirsayisi-1 || satir == satirsayisi/2) { Console.Write("*", yazi); } 
		else
		{
			Console.Write(" ");
		} 
	}
	Console.WriteLine("*");
}

Ekran çıktımız şu şekilde görünüyor.

 

Kaynak Kodları indirmek için Tıklayınız

Facebookta Paylaş Tweetle