// // Console 7 Segment Display // Author: Gökhan Erdoğdu // Date: 30/01/2012 // using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleApplication1 { public enum EnumDisplay { Number0 = 63, Number1 = 6, Number2 = 91, Number3 = 79, Number4 = 102, Number5 = 109, Number6 = 125, Number7 = 7, Number8 = 127, Number9 = 111 } public class Display { public Display() { m_bMX = new bool[66]; SetLed((int)EnumDisplay.Number0); } public Display(int number) { m_bMX = new bool[66]; SetNumber(0); } public void SetNumber(int number) { switch (number) { case 0: SetLed((int)EnumDisplay.Number0); break; case 1: SetLed((int)EnumDisplay.Number1); break; case 2: SetLed((int)EnumDisplay.Number2); break; case 3: SetLed((int)EnumDisplay.Number3); break; case 4: SetLed((int)EnumDisplay.Number4); break; case 5: SetLed((int)EnumDisplay.Number5); break; case 6: SetLed((int)EnumDisplay.Number6); break; case 7: SetLed((int)EnumDisplay.Number7); break; case 8: SetLed((int)EnumDisplay.Number8); break; case 9: SetLed((int)EnumDisplay.Number9); break; } } public bool GetCell(int x, int y) { int index = (y * 6) + x; return m_bMX[index]; } public void DrawDisplay() { Console.BackgroundColor = ConsoleColor.Black; Console.Clear(); for (int y = 0; y < 11; y++) { for (int x = 0; x < 6; x++) { if (GetCell(x, y)) { Console.BackgroundColor = ConsoleColor.White; } else { Console.BackgroundColor = ConsoleColor.Black; } Console.Write(" "); } Console.WriteLine(""); } } private void SetLed(int index) { for (int i = 0; i < 66; i++) m_bMX[i] = false; if ((index & 1) == 1) { m_bMX[1] = m_bMX[2] = m_bMX[3] = m_bMX[4] = true; } if ((index & 2) == 2) { m_bMX[11] = m_bMX[17] = m_bMX[23] = m_bMX[29] = true; } if ((index & 4) == 4) { m_bMX[41] = m_bMX[47] = m_bMX[53] = m_bMX[59] = true; } if ((index & 8) == 8) { m_bMX[61] = m_bMX[62] = m_bMX[63] = m_bMX[64] = true; } if ((index & 16) == 16) { m_bMX[36] = m_bMX[42] = m_bMX[48] = m_bMX[54] = true; } if ((index & 32) == 32) { m_bMX[6] = m_bMX[12] = m_bMX[18] = m_bMX[24] = true; } if ((index & 64) == 64) { m_bMX[31] = m_bMX[32] = m_bMX[33] = m_bMX[34] = true; } } private bool[] m_bMX; } class Program { static void Main(string[] args) { Display diplay = new Display(0); int i = 0; for (; ; ) { diplay.SetNumber(i); i = ((i + 1) % 10); diplay.DrawDisplay(); Thread.Sleep(1000); } Console.ReadLine(); } } }