Lang thang trên mạng tìm được code matrix nhìn cũng đẹp mắt.Các bạn chạy nó và ngắm nghía, giải lao sau những giờ Code căng thẳng nhé![IMG]images/smilies/biggrin.png[/IMG]. Thiết nghĩ thấy code này cung cấp cho các bạn mới nhập môn C# có được 1 số kiến thức: truyền tham số(out), Random số(Random),Sử dụng các thuộc tính cơ bản của nền Console...
Sử dụng Console.
Mã:
using System; namespace m7tr1x{ class Program { static void Main(string[] args) { Console.Title = "The Matric_Snake"; Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WindowLeft = Console.WindowTop = 0; Console.WindowHeight = Console.BufferHeight = Console.LargestWindowHeight; Console.WindowWidth = Console.BufferWidth = Console.LargestWindowWidth; #if readkey Console.WriteLine("H1T 7NY K3Y T0 C0NT1NU3 =/"); Console.ReadKey();#endif Console.CursorVisible = false; int width, height; int[] y; int[] l; Initialize(out width, out height, out y, out l); int ms; while (true) { DateTime t1 = DateTime.Now; MatrixStep(width, height, y, l); ms = 10 -(int)((TimeSpan)(DateTime.Now - t1)).TotalMilliseconds; if (ms > 0) System.Threading.Thread.Sleep(ms); if (Console.KeyAvailable) if (Console.ReadKey().Key == ConsoleKey.F5) Initialize(out width, out height, out y, out l); } } static bool thistime = false; private static void MatrixStep(int width, int height, int[] y, int[] l) { int x; thistime = !thistime; for (x = 0; x < width; ++x) { if (x % 11 == 10) { if (!thistime) continue; Console.ForegroundColor = ConsoleColor.White; } else { Console.ForegroundColor = ConsoleColor.DarkGreen; Console.SetCursorPosition(x, inBoxY(y[x] - 2 - (l[x] / 40 * 2), height)); Console.Write(R); Console.ForegroundColor = ConsoleColor.Green; } Console.SetCursorPosition(x, y[x]); Console.Write(R); y[x] = inBoxY(y[x] + 1, height); Console.SetCursorPosition(x, inBoxY(y[x] - l[x], height)); Console.Write(""); } } private static void Initialize(out int width, out int height, out int[] y, out int[] l) { int h1; int h2 = (h1 = (height = Console.WindowHeight) / 2) / 2; width = Console.WindowWidth - 1; y = new int[width]; l = new int[width]; int x; Console.Clear(); for (x = 0; x < width; ++x) { y[x] = r.Next(height); l[x] = r.Next(h2 * ((x % 11 != 10) ? 2 : 1), h1 * ((x % 11 != 10) ? 2 : 1)); } } static Random r = new Random(); static char R { get { int t = r.Next(10); if (t <= 2) return (char)('0' + r.Next(10)); else if (t <= 4) return (char)('a' + r.Next(27)); else if (t <= 6) return (char)('A' + r.Next(27)); else return (char)(r.Next(32, 255)); } } public static int inBoxY(int n, int height) { n = n % height; if (n < 0) return n + height; else return n; } }}
Mọi thắc mắc xin liên hệ: http:[IMG]images/smilies/clap_grin.gif[/IMG][IMG]images/smilies/clap_grin.gif[/IMG]//google.com.vn
View more random threads:
Sự đa dạng trong các mẫu mã và kiểu dáng của sản phẩm Đồ Thờ Gỗ cũng là điểm thu hút đặc biệt. Từ những tượng phật nhỏ xinh, đến các bức thư pháp hoặc các bát hương gỗ được điêu khắc tỉ mỉ, đều mang...
Tinh Thần Truyền Bá: Skyhome.vn và...