Passaggio tra l'apprendimento della programmazione e la programmazione di un piccolo progetto (C #) [duplicato]

-1

Sono un Game Design Student, consapevole del consiglio frequente che dovrei essere bravo in qualcos'altro (Programmazione / Arte) quindi sono utile quando un designer non è richiesto e anche per il gusto di essere più utile - generalmente come un desiderio di aumentare la mia occupabilità, valore in progetti di gruppo e mi rende capace di progetti individuali (che richiederebbero progettazione e programmazione e arte tutti derivanti da ciò che posso produrre). Come tale, desidero completare alcuni progetti C # minori. In particolare, desidero scrivere un semplice clone di Pong durante questo fine settimana prima che il termine ricominci di nuovo lunedì.

Il problema è che quando provo a scrivere un programma, a meno che non segua ciecamente le istruzioni (che è semplicemente un pappagallo) non sono in grado di stabilire un flusso di lavoro che mi spinga in avanti. Se ho un'idea o un meccanico che desidero documentare, ho alcuni modelli a cui mi riferisco e che compilo. Se volessi creare una risorsa artistica, considererei quale risorsa è (una macchina, una persona) lo stile grafico (pixel art o disegno o 3d), i vincoli tecnici (risoluzione / formati di file).

Per un flusso di lavoro di programmazione ho l'impressione di avere il mio pseudo-codice di ciò che voglio fare, passo attraverso ogni elemento e controllo un riferimento di scripting per vedere come faccio ogni passo e li abbatto ulteriormente come richiesto . Tuttavia, ho detto, "Disegna Paddle_1, Sposta Paddle1 su / giù in relazione all'input, ..." e non posso progredire.

Ho ricevuto moduli in lingue diverse negli ultimi due anni (che ho passato tutti - poiché riguarda solo istruzioni di pappagallo), tuttavia sono in perdita per scegliere qualcosa da fare, come farlo facendolo.

Come faccio questo salto tra la libera conoscenza della programmazione e le basi della struttura e il vocabolario per essere effettivamente in grado di scrivere qualcosa (a meno di copiare / incollare corpi di codice da google - dopo averlo fatto decine di volte solo io finiscono frustrati e arrabbiati e si allontanano dalla programmazione per mesi, fino a quando non riappare di nuovo?

    
posta gnat 20.09.2013 - 16:52
fonte

2 risposte

4

Innanzitutto, riconosci che la programmazione è difficile . Certo, può essere divertente, ma non è così facile come sembra. Ora, l'apprendimento di C # è relativamente facile: si conosce la sintassi e si possono fare piccoli pezzetti di codice. Ma, sapendo quali pezzi di codice fare e come combinarli è molto, molto più difficile. La ragione di ciò è che il linguaggio consiste in un insieme finito di elementi semplici. D'altra parte, questi elementi possono essere combinati in un numero infinito di modi diversi e gestire la complessità risultante è davvero stimolante. Quindi, renditi semplice con te e non aspettarti un successo notturno.

Ora, qualcosa come Pong è un grande primo progetto per qualcuno interessato ai giochi, ma è davvero troppo per affrontare tutto in una volta. Consiglierei di iniziare con un piccolo componente del gioco e farlo funzionare, quindi di crearlo e così via. Personalmente, inizierei con sotto-obiettivi come il seguente.

  1. Disegna una palla quadrata al centro dello schermo.
  2. Fai muovere la palla.
  3. Fai rimbalzare la palla dai bordi dello schermo.
  4. Disegna un blocco statico
  5. Fai rimbalzare la palla su di essa oltre ai bordi dello schermo
  6. Fai muovere il pipistrello in risposta all'input dell'utente
  7. ... e così via.

Le cose di cui non devi preoccuparti sono i colori, i punteggi, la grafica ecc. Volete solo qualcosa che abbia le dinamiche di gioco che state cercando.

Ora, il più difficile degli obiettivi secondari è il primo, dato che devi ottenere un lotto di cose per farlo funzionare. Devi far funzionare Visual Studio, avviare un progetto, scrivere qualcosa che viene eseguito, inizializzare una superficie di disegno e fare il disegno ... Poiché questa è la parte più difficile, questo è l'unico posto in cui ti è permesso "imbrogliare" "e copia il codice all'ingrosso da qualche altra parte.

Una volta fatto, fai del tuo meglio per capire cosa sta succedendo. Inizia a modificare il codice e rieseguilo per vedere se la tua comprensione è corretta.

Da qui in avanti, non copiare il codice whole-sale da Google. Invece, se trovi elementi che ti riguardano, prendi le idee e applica i principi a ciò che hai già fatto. Non aggiungere mai alcun codice al tuo progetto a meno che non lo veramente lo capisca.

Una volta che sarai arrivato lontano, i prossimi passi ti si riveleranno.

    
risposta data 20.09.2013 - 18:34
fonte
2

Il mio consiglio

Se vuoi davvero programmare, devi impararlo correttamente.

Semplicemente non stai provando abbastanza sistematicamente. Da copia / incolla da Google, si sta programmando per coincidenza, che non è una buona cosa da fare. È anche un male che tu ti prepari obiettivi eccessivamente ottimistici quando hai difficoltà a fare qualcosa, in primo luogo.

  • Scegli una lingua e imparala correttamente , con l'aiuto di un buon libro. Segui gli esempi del libro e assicurati di comprenderli davvero .

  • Per il tuo primo programma di lavoro, scegli un argomento che capisci davvero. In questo modo i tuoi dubbi sull'argomento non ti distraggono dai tuoi dubbi sulla programmazione. Inizia con un compito molto semplice, quindi aumenta la sua complessità. Ma non prima di aver fatto in modo che il semplice programma di attività funzioni effettivamente.

La mia esperienza

Ho iniziato a programmare quando ero bambino, usando BASIC. Scrivo programmi come :

10 CLS
20 PRINT "Hello, world!"
30 PRINT "I'm learning about commands in BASIC."
40 PRINT "This text is being printed via the PRINT command."
50 PRINT "On the next line, I'll use CLS."
60 CLS
70 PRINT "Finally, on line 80, I'll use END."
80 END
90 PRINT "Now my program is over."

Più tardi ho iniziato a manipolare le variabili. Ho imparato a dichiarare una variabile, inizializzarla, assegnarla ad essa, ecc.

Anche prima di usare le funzioni (il BASIC non le possedeva), sono riuscito a costruire una simulazione di un pallone da calcio round- torneo robin in cui i risultati delle partite sono stati decisi casualmente. Questo era un argomento che ho apprezzato e capito bene. Ciò ha reso la programmazione più semplice e divertente.

Ho iniziato con un torneo molto piccolo e alla fine ho inserito il codice in modo che 20 squadre potessero competere, come nel campionato spagnolo.

In seguito, ho appreso che le lingue hanno funzioni (e che con esse non hai più bisogno dei numeri di riga). Anche in seguito, ho imparato a lavorare con classes e < strong> costruzione del software orientata agli oggetti .

Ma la chiave era, penso, che in ogni fase ho fatto le cose. Se qualcosa era (sembrava) troppo difficile, non l'ho fatto. In questo modo ho avuto un'idea di progresso . Hai bisogno di progressi, perché sei bloccato al primo passo. E la chiave per progredire è capire ogni passo che fai. Devono essere i tuoi passaggi, non di qualcun altro.

    
risposta data 20.09.2013 - 18:12
fonte

Leggi altre domande sui tag