Προς το περιεχόμενο

Matrix Falling Code σε Visual Basic;


combat

Προτεινόμενες αναρτήσεις

Δημοσ.

θελω να με βοηθησει καποιος να φτιαξω ενα matrix-styled κωδικα σε ενα προγραμμα μεσω του microsoft visual studio 2010 στην visual basic!!! κατι σαν και αυτο στην επισυναψη αλλα να ειναι κινουμενο....

post-170243-0-85785800-1295820994_thumb.jpg

Δημοσ.

παιδια η εικονα δεν ειναι κινουμενη(gif) αυτη που ανεβασα.... θελω να φτιαξω μια.. για να καταλαβετε τι εννοω.... θελω κατι σαν progress bar αλλα στη μορφη του matrix falling code...

Δημοσ.

Σχετικα με το ZMatrix , το κατεβασα και δουλευει καλα. Το μονο που με χαλαει ειναι οτι τα νουμερα που κατεβαινουν βγαινουν πανω απο τα εικονιδια της οθονης...καποιος τροπος για να το αλλαξω αυτο;

Δημοσ.

Το θέμα μεταφέρεται εδώ από την ενότητα Μπλα Μπλα. Παρακαλώ να ελέγχετε προσεκτικά τις περιγραφές των ενοτήτων στον κεντρικό κατάλογο του forum ώστε να επιλέγετε αυτήν που είναι καταλληλότερη για να φιλοξενήσει το θέμα σας.

 

Ευχαριστώ.

Δημοσ.

Θες να μας πεις ακριβώς τι θες να φτιάξεις; Θέλεις αυτό που θα κάνεις να τρέχει πάνω στην επιφάνεια εργασίας σου όπως το πρόγραμμα που έδωσαν πιο πάνω; Θέλεις να τρέχει μέσα σε μια φόρμα που θα κάνεις;

 

Επιπλέον ποια η σχέση σου με τον προγραμματισμό και ειδικά με το περιβάλλον που αναφέρεις;

Δημοσ.

θελω να τρεχει πανω σε μια φορμα που θα φτιαξω... οπως ειπα και πριν κατι σαν progressbar αλλα στην μορφη του κωδικα του matrix.. χωρις value. απλως οταν του παταω το button να αρχισει να τρεχει για ενα x χρονικο διαστημα.... στην αρχη να ειναι κρυφο και στο Private Sub Button1_Click να το κανει show.....

Δημοσ.

Μελέτησε λίγο τον παρακάτω κώδικα. Είναι σε c# και είναι εφαρμογή κονσόλας αλλά με κάποιες παραμετροποιήσεις θα τoν φέρεις στα μέτρα σου.

 

>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace m7tr1x
{
   class Program
   {
       static void Main(string[] args)
       {
           Console.Title = "tH3 M7tr1x 3ff3";
           Console.ForegroundColor = ConsoleColor.DarkBlue;
           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;
       }
   }
}

Δημοσ.

To out είναι ίδιο με το ref?

Σε C# η διαφορά είναι ότι το ref προϋποθέτει πως έχει ήδη ανατεθεί τιμή στην μεταβλητή (είναι δηλαδή initialized) ενώ το out όχι (θα ανατεθεί μελλοντικά), τώρα αν αυτή η διαφορά ισχύει και στην VB.NET δεν το γνωρίζω.

Δημοσ.

βασικα ειναι οτι ο,τι κανω ειναι στην visual basic οποτε δεν καταλαβαινω και πολλα απο αυτο που μου εδωσες....

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...