Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    79

    [C#] Spostamento di un'oggetto nel piano

    Apro un nuovo topic, dato che avrei bisogno di consigli non legati al topic precedente..
    Grazie al vostro aiuto sono riuscito a creare un oggetto che si sposta sull'asse X, adesso volevo provare a fare la stessa cosa, ma sul piano.
    Ho provato a compilare il seguente codice, ma non riesco a capire cosa sbaglio, mi farebbe comodo anche qualche piccolo suggerimento...


    using System;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main()
    {
    const string punto = "*#*>";
    int posizioneX = 0;
    int posizioneY=0;
    ConsoleKeyInfo dir;
    do
    {
    for (int i = 0; i < posizioneX; i++)
    {
    Console.Write(" ");
    }
    for (int i = 0; i < posizioneY; i++)
    {
    Console.WriteLine();
    }
    Console.WriteLine(punto + "\n");
    dir = Console.ReadKey();

    switch(dir.Key)
    {
    case(ConsoleKey.RightArrow):
    posizioneX++;
    Console.Clear();
    break;

    case(ConsoleKey.LeftArrow):
    posizioneX--;
    Console.Clear();
    break;

    case(ConsoleKey.UpArrow):
    posizioneY++;
    Console.Clear();
    break;

    case(ConsoleKey.DownArrow):
    posizioneY--;
    Console.Clear();
    break;
    }

    } while (true);
    }
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Un'applicazione di tipo Console (da Prompt dei Comandi) mi sembra inadatta a riprodurre le cose che intendi fare tu.

    La scelta di questa tipologia di programma è obbligata?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    79
    No beh era solo per capire un po il ragionamento di tutto cio (sono ancora agli inizi purtroppo).
    Magari una volta appreso passerò a metodi differenti

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da HeroGian
    Magari una volta appreso passerò a metodi differenti
    Il punto è che non è detto che tu riesca a ottenere ciò che vuoi con il metodo attuale.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Originariamente inviato da HeroGian
    No beh era solo per capire un po il ragionamento di tutto cio (sono ancora agli inizi purtroppo).
    Magari una volta appreso passerò a metodi differenti
    Per capire dove sbagli devi debuggare, c'è poco altro da fare. Così, ti renderesti conto che prima devi scrivere le "righe" vuote (Y) e poi posizionare l'oggetto sull'asse X.
    codice:
                    for (int i = 0; i < posizioneY; i++)
                    {
                        Console.WriteLine();
                    }
                    for (int i = 0; i < posizioneX; i++)
                    {
                        Console.Write(" ");
                    }
    Dai comunque un'occhiata al metodo SetCursorPosition che ti semplifica il discorso. Inoltre, invertirei il funzionamento delle frecce su/giu (se pigio giu l'oggetto dovrebbe andare in basso).

  6. #6
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    ho provato il tuo programma ,con le correzzioni di ESSE

    mi sono accorto di un altro piccolo errore , hai invertito gli incrementi di y a seconda dei tasti

    devono essere

    case (ConsoleKey.UpArrow):
    posizioneY--;
    Console.Clear();
    break;

    case (ConsoleKey.DownArrow):
    posizioneY++;
    Console.Clear();
    break;


    per il resto funzione bene
    Tecnologia

  7. #7

    Re: ciao

    Originariamente inviato da torn24
    mi sono accorto di un altro piccolo errore , hai invertito gli incrementi di y a seconda dei tasti
    In effetti avevo già scritto anche quello...

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    79
    Wow, grazie a tutti, molto gentili ... ho capito il mio errore!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.