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