TL;DR, uten å ha giddet å studere koden nøye, så ser jeg fort at det er en del nybegynner feil her. Skal gi deg en kjapp innføring i ryddig kode.
Deklarere en macro
Alle macroer i C skal deklareres med bare store bokstaver, dette gjør det enkelt å skille macroer fra andre variabler.
Samme gjelder også variabler deklarert med «const»-keyword
Kode
const int RUTER = 3;
Sett hakeparentesen på samme kolonne som linjen over
Og avslutt blokken ved å sette hakeparentesen på samme kolonne som du startet den på, på denne måte er det enkelt å se hvor blokken starter og slutter. Man kan enkelt trekke en strek rett ned. Se bilde:
Ikke bland enkel- og flerlinje blokker
Dette gjør det mye vanskeligere å lese koden. F.eks
Kode
if(brett[x][y]==b)
{
if(x == (ruter-1))
{
printf("%c vant\n",b);return 0;
}
}
else {goto start;}
Her har du en if-setning med flerlinjet blokk, mens du avslutter med en enkel linje else-blokk, bruk heller flerlinje blokk på else setningen også.
Kode
if(brett[x][y]==b)
{
if(x == (ruter-1))
{
printf("%c vant\n",b);return 0;
}
}
else
{
goto start;
}
Det er greit å bruke enkel-linjer blokker hvis du gjør det hele veien, slik som her:
Kode
if(b=='x'){b='y';}
else{b='x';}
Personlig så liker jeg å sette dem opp slik at det er tydelig hva som er hva, slik:
Kode
if(b=='x') {b='y';}
else {b='x';}
Men dette er smak å behag.
Ikke ha flere setninger på samme linje
Kode
printf("%c vant\n",b);return 0;
Splitt dem heller over på flere linjer:
Kode
printf("%c vant\n",b);
return 0;
Og til slutt,
goto er fy-fy
Dette tilhører steinalderen, bruk loops fremfor.
Tror jeg fikk med de fleste visuelle feil her, mulig det er noen jeg har oversett.
Sist endret av 0xFF; 17. februar 2018 kl. 23:36.