C# ile özel karakterler kullanarak yay çizmek için Console sınıfının WriteLine() yöntemini kullanabiliriz. Yay çizimi için kullanacağımız özel karakteri seçmek tamamen kişisel tercihe bağlıdır. Aşağıdaki örnekte, iki farklı özel karakter kullanarak yay çizimi yapılacaktır.
csharp
using System;
class Program
{
static void Main(string[] args)
{
int yaricap = 10; // yayın yarıçapı
int x = 0, y = 0; // başlangıç konumu
// ilk özel karakter kullanarak yay çizimi
Console.SetCursorPosition(x, y);
Console.WriteLine("*********** ");
Console.SetCursorPosition(x, ++y);
Console.WriteLine("********** ");
for (int i = 1; i <= yaricap; i++)
{
int noktaSayisi = (int)Math.Round(Math.Sqrt(yaricap * yaricap - i * i)); // her yatay seviyede çizilecek nokta sayısı hesaplanır
Console.SetCursorPosition(x + yaricap - noktaSayisi, y);
Console.WriteLine(new string('o', noktaSayisi * 2));
Console.SetCursorPosition(x + yaricap - noktaSayisi, ++y);
Console.WriteLine(new string('o', noktaSayisi * 2));
}
// ikinci özel karakter kullanarak yay çizimi
x += yaricap * 2 + 5;
y = 0;
Console.SetCursorPosition(x, y);
Console.WriteLine("||||||||| ");
Console.SetCursorPosition(x, ++y);
Console.WriteLine("\\\\\\\\\\\\\\\\ ");
for (int i = 1; i <= yaricap; i++)
{
int noktaSayisi = (int)Math.Round(Math.Sqrt(yaricap * yaricap - i * i)); // her yatay seviyede çizilecek nokta sayısı hesaplanır
Console.SetCursorPosition(x - yaricap + noktaSayisi, y);
Console.WriteLine(new string('.', (yaricap - noktaSayisi) * 2) + "/////" + new string('.', (yaricap - noktaSayisi) * 2));
Console.SetCursorPosition(x - yaricap + noktaSayisi, ++y);
Console.WriteLine(new string('.', (yaricap - noktaSayisi) * 2) + "/////" + new string('.', (yaricap - noktaSayisi) * 2));
}
}
}
Yukarıdaki örnekte, iki farklı özel karakter kullanarak yay çizimi yapılır. İlk özel karakter olarak “*”, ikinci özel karakter olarak ise “|” ve “” karakterleri kullanılmıştır.
İlk olarak, yayın yarıçapı ve başlangıç konumu belirlenir. Daha sonra for döngüsü kullanarak her yatay seviye için, o seviyede çizilecek nokta sayısı hesaplanır ve özel karakterler kullanarak yay çizimi yapılır.
İkinci örnekte ise, yayın ortasına “|” karakterleriyle dikey bir çizgi çizilir ve “” karakteri kullanılarak yay çizimi yapılır.
Örnek çıktı
*** |||||||||
** \\\\\\
oooooooooo../////….oooooooooo
oooooooooo../////….oooooooooo
ooooooooo….//////….ooooooooo
ooooooooo….//////….ooooooooo
oooooooo…..///////…..oooooooo
oooooooo…..///////…..oooooooo
ooooooo…….////////…….ooooooo
ooooooo…….////////…….ooooooo
oooooo………/////////………oooooo
oooooo………/////////………oooooo
ooooo……….///////////……….ooooo
ooooo……….///////////……….ooooo
oooo…………/////////////…………oooo
oooo…………/////////////…………oooo
ooo…………..///////////////…………..ooo
ooo…………..///////////////…………..ooo
oo……………./////////////////…………….oo
oo……………./////////////////…………….oo
o……………..///////////////////……………..o
o……………..///////////////////……………..o
Yukarıdaki örnekte, ilk satırda “*” karakterleri kullanılarak bir yay çizilmiştir. İkinci satırda ise “|” karakterleriyle dikey bir çizgi çizilmiş ve “” karakteri kullanılarak yay çizimi yapılır. Yayın yarıçapı 10 olarak belirlenmiştir.