How to convert this code?

Apr 11, 2012 at 12:44 PM

How can i convert this code into a bootable cosmos code?

the code is this:

#define readkey
using System;
namespace m7tr1x{    class Program    {        static void Main(string[] args)        {            Console.Title = "Matrix";            Console.ForegroundColor = ConsoleColor.DarkGreen;            Console.WindowLeft = Console.WindowTop = 0;            Console.WindowHeight = Console.BufferHeight = Console.LargestWindowHeight;            Console.WindowWidth = Console.BufferWidth = Console.LargestWindowWidth;
#if 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;        }    }}

 

help me i'm desperate :( and sorry for my bad english i'm italian

Coordinator
Apr 11, 2012 at 12:45 PM
What did you try, and what do you get?


On Wed, Apr 11, 2012 at 2:44 PM, Unknown0097 <notifications@codeplex.com> wrote:

From: Unknown0097

How can i convert this code into a bootable cosmos code?

the code is this:

#define readkey
using System;
namespace m7tr1x{ class Program { static void Main(string[] args) { Console.Title = "Matrix"; Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WindowLeft = Console.WindowTop = 0; Console.WindowHeight = Console.BufferHeight = Console.LargestWindowHeight; Console.WindowWidth = Console.BufferWidth = Console.LargestWindowWidth;
#if 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; } }}

help me i'm desperate :( and sorry for my bad english i'm italian

Read the full discussion online.

To add a post to this discussion, reply to this email (Cosmos@discussions.codeplex.com)

To start a new discussion for this project, email Cosmos@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com


Developer
Apr 11, 2012 at 2:20 PM

That may not work in cosmos at all, because System.DateTime.Now isn't implemented. You might be able to get away with using the RTC though.