rendered paste body//
// 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();
}
}
}