Recupera la variabile da Console.ReadLine ()

0

Sto facendo un gioco tic-tac-toe in C #. Ho una variabile stringa per ogni quadrato. Voglio farlo in modo che l'utente inserisca il nome del quadrato cioè (topMiddle). Quindi dichiaro l'input playerInput. Voglio usare str.Replace ('', 'x'); ma invece di str avrei usato il nome della casella, ad esempio (topMiddle). Come posso recuperare quella variabile usando l'input della console?

Ecco il mio codice finora:

using System;

namespace TicTac_toe
{
public class CreateVariables
{
    public static void Main (string[] args)
    {
        string topRight = " ";
        string topMiddle = " ";
        string topLeft = " ";
        string middleLeft = " ";
        string center = " ";
        string middleRight = " ";
        string bottomLeft = " ";
        string bottomMiddle = " ";
        string bottomRight = " ";
        string line = "|";
        string dash = "_ _ _";
        string xInput;
        string oInput;
        bool player1;
        System.Console.WriteLine (topLeft + line + topMiddle + line + topRight + "\n" + dash + "\n" + "\n" + middleLeft + line + center + line + middleRight + "\n" + dash + "\n" + "\n" + bottomLeft + line + bottomMiddle + line + bottomRight);
        System.Console.WriteLine ("Player 1, it is your turn. WHat box will you mark?");
        xInput = System.Console.ReadLine ();
        topRight = xInput.Replace (' ', 'X');
        System.Console.Clear ();
        System.Console.WriteLine (topLeft + line + topMiddle + line + topRight + "\n" + dash + "\n" + "\n" + middleLeft + line + center + line + middleRight + "\n" + dash + "\n" + "\n" + bottomLeft + line + bottomMiddle + line + bottomRight);

Scusa se il mio codice è disordinato e il mio problema è una semplice soluzione. Questo è il mio quarto giorno utilizzando c # quindi ho ancora molto da imparare.

    
posta Liam McElhaney 26.03.2016 - 15:47
fonte

1 risposta

-2

Dovrai scrivere un'istruzione if per assicurarti di selezionare il nome della variabile corretta usando l'input dell'utente. Nella tua domanda dichiari che ReadLine () è memorizzato in una variabile playerInput ma il tuo esempio di codice mostra due variabili chiamate xInput e oInput. Per mantenere questa semplice risposta, la mia risposta utilizza la variabile di input del giocatore singolo che hai menzionato nella tua domanda. Ad esempio:

if (playerInput == "topLeft")
{ 
   topLeft = "X";
}
else if (playerInput == "topMiddle")
{
   topMiddle = "X";
}
...
else if (playerInput == "bottomRight")
{
   bottomRight = "X";
}

Ecco come puoi assicurarti che la variabile corretta sia aggiornata nel tuo programma. Esistono sicuramente modi più eleganti per implementare il tuo gioco di tris di tattica rispetto all'approccio che hai seguito, quindi dopo averlo risolto, prendi in considerazione la possibilità di reiterare per rendere il codice più pulito.

    
risposta data 26.03.2016 - 20:26
fonte

Leggi altre domande sui tag