source: 2017/30/MikkoH/Matrix/Matrix/Program.cs @ 9499

Revision 9499, 3.2 KB checked in by mianhayr, 22 months ago (diff)
Line 
1using System;
2using System.Text;
3
4class Program
5{
6    static int w, h; static int[] hs;
7    static Random r = new Random();
8   
9    static void Main()
10    {
11        Console.CursorVisible = false; Console.OutputEncoding = Encoding.UTF8;
12        h = Console.WindowHeight = 50; w = Console.WindowWidth = 150;
13
14        hs = new int[w];
15        for (int i = 0; i < w; i++) hs[i] = r.Next(h);
16
17        int col = 0;
18        while (true) Update(col++ % w);
19    }
20
21    static char RC() => (char) r.Next(0x01F8, 0x0248);
22
23    static void Print(int y, int x, ConsoleColor c, char ch)
24    {
25        Console.SetCursorPosition(y, x);
26        Console.ForegroundColor = c;
27        Console.Write(ch);
28    }
29
30    static void Update(int col)
31    {
32        int t = hs[col];
33
34        Print(col, t++ % h, ConsoleColor.Gray, ' '); t += 10;
35        Print(col, t++ % h, ConsoleColor.DarkGreen, RC());
36
37        for (int i = 0; i < 2; i++)
38            Print(col, t++ % h, ConsoleColor.Green, RC());
39        Print(col, t++ % h, ConsoleColor.White, RC());
40
41        if (hs[col] < h) hs[col]++;
42        else hs[col] = 0;
43    }
44}
45
46
47
48
49//class Program
50//{
51//    static int w, h;
52//    static Random r = new Random();
53//    static ConsoleColor[,] sms;
54
55//    static void Main(string[] args)
56//    {
57//        Console.CursorVisible = false;
58//        Console.OutputEncoding = Encoding.UTF8;
59//        sms = new ConsoleColor[h = Console.WindowHeight, w = Console.WindowWidth];
60
61//        for (int i = 0; i < w; i+=2)
62//        {
63//            int j = r.Next(h);
64
65//            for (int l = 0; l < 10; l++) sms[j++ % h, i] = ConsoleColor.DarkGreen;
66//            for (int k = 0; k < 3; k++) sms[j++ % h, i] = ConsoleColor.Green;
67//            sms[j % h,i] = ConsoleColor.White;
68//        }
69
70//        while (true) Update();
71
72//        //Timer timer = new Timer(300);
73//        //timer.Elapsed += Update;
74//        //timer.Start();
75//        //Console.Read();
76//    }
77
78//    static void Update()
79//    {
80//        //Console.Clear();
81//        //StringBuilder sb = new StringBuilder(new string(' ', w)); // miks tää on homo
82//        //                                                          //sb.Insert(0, 'A');
83//        //for (int i = 0; i < w / 10; i++)
84//        //    sb[r.Next(w)] = (char)r.Next(65, 91);
85//        //Console.Write(sb);
86
87//        //for (int x = 0; x < sms.GetLength(0); x++)
88//        //    for (int y = 0; y < sms.GetLength(1); y++)
89//        //    {
90
91//        //    }
92
93
94//        for (int i = sms.GetLength(0)-1; i >= 0; i--)
95//            for (int j = sms.GetLength(1)-1; j >= 0; j--)
96//            {
97//                Console.ForegroundColor = sms[i, j];
98//                Console.SetCursorPosition(j, i);
99//                Console.Write((char)r.Next(0x01F8, 0x0248));
100
101//                sms[i, j] = sms[(i-1) < 0 ? h-1 : i-1, j/*(i - 1) % h, j % w*/];
102//                //sms[i % sms.GetLength(0), j % sms.GetLength(1)].c = (char)r.Next(0x01F8, 0x0248);
103//            }
104
105//        //GC.Collect();
106//    }
107
108//    //struct Symbol
109//    //{
110//    //    public ConsoleColor color;
111
112//    //    public Symbol(char sym, ConsoleColor col) { c = sym; color = col; }
113//    //}
114//}
Note: See TracBrowser for help on using the repository browser.