Örnek Console Uygumalaması: Piyano
Klavyeyi kullanarak nota seslerini çıkarmaya ne dersiniz?
Bu yazıdaki amacımız, C# ve algoritma bilgimizi geliştirmektir.
Programda enums, do-while, switch kullanılmıştır.
Program için gerekli olan nota bilgilerini bir enum için de tutararak programın okunabilirliği arttırılmıştır.
Klavyeden a'dan - j 'ye harfler sırasıyla Do-Re-Mi-Fa-Sol-La-Si notalarını çıkarmaktadır.
Nota ses süresi istenirse ayarlanabilmektedir.
Program kodları:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public enum Frekanslar
{
Do = 261,
Re = 293,
Mi = 329,
Fa = 349,
Sol = 392,
La = 440,
Si = 493
}
class Program
{
static void Main(string[] args)
{
const int sure = 100;
bool cikis = false;
do
{
ConsoleKeyInfo info = Console.ReadKey();
switch (info.Key)
{
case ConsoleKey.A:
Console.Beep((int)Frekanslar.Do, sure);
break;
case ConsoleKey.S:
Console.Beep((int)Frekanslar.Re, sure);
break;
case ConsoleKey.D:
Console.Beep((int)Frekanslar.Mi, sure);
break;
case ConsoleKey.F:
Console.Beep((int)Frekanslar.Fa, sure);
break;
case ConsoleKey.G:
Console.Beep((int)Frekanslar.Sol, sure);
break;
case ConsoleKey.H:
Console.Beep((int)Frekanslar.La, sure);
break;
case ConsoleKey.J:
Console.Beep((int)Frekanslar.Si, sure);
break;
case ConsoleKey.Enter:
cikis = true;
break;
}
} while (!cikis);
}
}
}
Programı indirmek için buraya tıklayınız.
#C #algoritma #beep #Console #readkey