Avatar billede madsens90 Praktikant
25. februar 2009 - 18:13 Der er 1 kommentar og
1 løsning

Tjek om tast bliver trykket ned, ved en forløkke der er konstant i brug?

Ved ikke om det er muligt, men da vi har C# i skolen, og jeg manglede lidt sjov at sidde og lave, kom jeg på at lave et spil, hvori at der hele tiden skal ske noget på skærmen.

Har derfor ville lave en forløkke der aldrig ender, som konstant laver noget på skærmen, men hvordan for jeg noget andet til at ske i samme vindue samtidigt med at min forløkke kører?

Mit spil går ud på at der "falder elementer" ned fra luften, som man skal undvige med A (venstre), og D (højre). Men jeg sidder fast ved det punkt hvor at hver gang at elementet man skal undvige skal rykke 1 "tak" ned på skærmen, så skal man rykke enten til højre eller venstre med den ting som ikke må blive ramt.

Så vil have elementet til at kører konstant. Håber det er forklaret så det kan forstås, ellers så har jeg spillet compilled af der hvor jeg er nået til med det, og kan evt. smide det på en FTP server, til download, hvis det vil give bedre forståelse af mit spørgsmål?

Mvh. Christian Madsen
Avatar billede madsens90 Praktikant
25. februar 2009 - 18:37 #1
Al min kode indtil videre (Sry jeg skriver det forvirrende):

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Forfra:

            Console.WriteLine("Dette er et utroligt simpelt og ligetil spil!");
            Console.WriteLine("Styr din bil (#), forbi stenene (0) uden at ramme.");
            Console.WriteLine("Destro længere du kommer, jo flere penge får du.");
            Console.WriteLine("\n  Tryk på enter for at gå videre!!");
            Console.ReadLine();
            Console.Clear();

            int Liv = 3;
            int level = 1;
            double penge = 0;

            Startdoed:

            int tid = 3;
            Random udregning = new Random();
            int x = udregning.Next(1, 78);
           
            int y = 3;
            int position = 42;
            string moved = "";
           
            Start:

                Console.Clear();
                Console.WriteLine("Liv: {0}\t\t\t\tLevel: {1}\t\t\tPenge: {2} $", Liv,level,penge);
                Console.WriteLine("________________________________________________________________________________");

                if (tid > 0)
                {
                    Console.SetCursorPosition(position, 10);
                    Console.WriteLine("{0}", tid);
                    Console.SetCursorPosition(position, 23);
                    Console.WriteLine("#");                 
                    Thread.Sleep(1000);
                    tid--;
                }
                else
                {

                    ConsoleKeyInfo move;
                    StringBuilder ch = new StringBuilder();



                    if (moved == "A")
                    {
                        if (position == 0)
                        {
                            position = 78;
                        }
                        else
                        {
                            position--;
                        }
                    }

                    if (moved == "D")
                    {
                        if (position == 78)
                        {
                            position = 0;
                        }
                        else
                        {
                            position++;
                        }
                    }

                        Console.SetCursorPosition(x, y);
                        Console.WriteLine("0");

                    if ((position == x) && (y == 23))
                    {
                        Liv--;

                        if (Liv > 0)
                        {
                            Console.SetCursorPosition(20, 10);
                            Console.WriteLine("Du ramte en sten, så du går et liv ned!");
                            Console.SetCursorPosition(20, 11);
                            Console.WriteLine("Tryk på en tast for at gå videre!");
                            Console.ReadKey();

                            goto Startdoed;
                        }

                        if (Liv == 0)
                        {
                            Console.SetCursorPosition(20, 10);
                            Console.WriteLine("Du har ikke flere liv!");
                            Console.SetCursorPosition(20, 11);
                            Console.WriteLine("Tryk på en tast for at starte forfra!");
                            Console.ReadKey();

                            goto Forfra;
                        }

                    }

                    y++;

                    if (y > 23)
                    {
                        y = 3;

                        x = udregning.Next(1, 78);
                    }


                    Console.SetCursorPosition(position, 23);
                    Console.WriteLine("#");

                    penge = penge + 7;

                    move = Console.ReadKey(true);
                    moved = Convert.ToString(ch.Append(move.Key.ToString()));

                   
                }

            goto Start;


        }
    }
}
Avatar billede madsens90 Praktikant
25. februar 2009 - 21:23 #2
Løste mit problem med denne kode. :-)


http://pastebin.com/m5c86196e
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester