Esercizio - Completare la sfida per creare un metodo riutilizzabile
Le sfide di scrittura di codice consentono di consolidare i concetti appresi e di acquisire una maggiore confidenza prima di procedere.
L'obiettivo di questa sfida consiste nel modificare il codice in modo che sia riutilizzabile e possa essere eseguito in qualsiasi momento.
Predire il futuro
Si sta aiutando a sviluppare un enorme gioco di ruolo multiplayer. Ogni giocatore ha una statistica di fortuna che può influire sulle due probabilità di trovare un tesoro raro. Ogni giorno, un giocatore può parlare con un indovino in gioco che rivela se il valore della sua fortuna è alto, basso o neutro.
Il gioco ha attualmente codice per generare la fortuna di un giocatore, ma non è riutilizzabile. L'attività consiste nel creare un metodo tellFortune che può essere chiamato in qualsiasi momento e sostituire la logica esistente con una chiamata al metodo.
In questa sfida viene fornito un codice iniziale. È necessario decidere come creare e chiamare il metodo tellFortune.
Richiesta di codice: creare un metodo riutilizzabile
Nel codice con cui si inizia è presente una matrice di testo generica, seguita da matrici di testo valide, non valide e neutre. A seconda del valore di luck, una delle matrici viene selezionata e visualizzata insieme al testo generico.
La sfida consiste nel creare un metodo riutilizzabile che visualizzi la fortuna di un giocatore in qualsiasi momento. Il metodo deve contenere la logica già presente nel codice fornito.
Assicurarsi che in Visual Studio Code sia aperto un file Program.cs vuoto.
Se necessario, aprire Visual Studio Code, quindi completare la procedura seguente per preparare un file Program.cs nell'editor:
Nel menu File selezionare Apri cartella.
Usare la finestra di dialogo Apri cartella per passare alla cartella CsharpProjects e quindi aprila.
Nel pannello ESPLORA RISORSE di Visual Studio Code, selezionare Program.cs.
Nel menu Selezione di Visual Studio Code, selezionare Seleziona tutto, quindi premere CANC.
Copiare e incollare il codice seguente nell'editor:
Random random = new Random(); int luck = random.Next(100); string[] text = {"You have much to", "Today is a day to", "Whatever work you do", "This is an ideal time to"}; string[] good = {"look forward to.", "try new things!", "is likely to succeed.", "accomplish your dreams!"}; string[] bad = {"fear.", "avoid major decisions.", "may have unexpected outcomes.", "re-evaluate your life."}; string[] neutral = {"appreciate.", "enjoy time with friends.", "should align with your values.", "get in tune with nature."}; Console.WriteLine("A fortune teller whispers the following words:"); string[] fortune = (luck > 75 ? good : (luck < 25 ? bad : neutral)); for (int i = 0; i < 4; i++) { Console.Write($"{text[i]} {fortune[i]} "); }Aggiornare il codice per usare un metodo per visualizzare la fortuna.
Usare le informazioni apprese sulla creazione e la chiamata di metodi per completare l'aggiornamento.
Testare il codice modificando il valore di
lucke chiamando di nuovo il metodo.Verificare che il codice produca uno dei messaggi seguenti:
A fortune teller whispers the following words: You have much to look forward to. Today is a day to try new things! Whatever work you do is likely to succeed. This is an ideal time to accomplish your dreams!A fortune teller whispers the following words: You have much to appreciate. Today is a day to enjoy time with friends. Whatever work you do should align with your values. This is an ideal time to get in tune with nature.A fortune teller whispers the following words: You have much to fear. Today is a day to avoid major decisions. Whatever work you do may have unexpected outcomes. This is an ideal time to re-evaluate your life.
Se non si riesce a procedere e occorre leggere la soluzione o se la sfida è stata completata correttamente, andare avanti per visualizzare la soluzione.