Na wat oefenen in C, is het vandaag een mooie dag om aan mijn eerste zelfstandige programma te beginnen. Het is de bedoeling dat er 52 kaarten willekeurig aan 4 spelers uitgedeeld worden.
De kaarten zijn genummerd 0 t/m 51 (kaart[index]) en hebben de waarde 0, 1, 2 of 3 (om aan te duiden tot welke speler deze behoort).
Het volgende scriptje programma heb ik in elkaar getoverd:
Bij de laatste for() gaat het fout. Wat ik ook probeer, alle kaarten worden standaard aan de eerste optie die niet de waarde 0 heeft gegeven (in dit geval Speler 2).
Hoe kan dat?
Ik verwacht een output die lijkt op bijv.:
Speler 1: 0
Speler 1: 12
Speler 1: 18
Speler 2: 3
Speler 2: 6
Speler 2: 9
etc...
En dan weet ik dat niet iedere spelers evenveel kaarten hoeven te krijgen, zoals het nu geprogrammeerd is. Maar daar kom ik pas achter als ik bovenstaande voor elkaar heb
En dan ga ik dat fijn zelf oplossen
De kaarten zijn genummerd 0 t/m 51 (kaart[index]) en hebben de waarde 0, 1, 2 of 3 (om aan te duiden tot welke speler deze behoort).
Het volgende scriptje programma heb ik in elkaar getoverd:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| #include<stdio.h> #include<time.h> int main(void) { time_t seed; int oud,nieuw,index; int kaart[52]; seed=time(NULL); for(index=0;index<52;index++) { nieuw=(57*seed+1)%1024; kaart[index]=nieuw/256; seed=nieuw; } /*hierboven alles oke*/ for(index=0;index<52;index++) { if(kaart[index]=0) printf("Speler 1: %d\n",index); else if(kaart[index]=1) printf("Speler 2: %d\n",index); else if(kaart[index]=2) printf("Speler 3: %d\n",index); else if(kaart[index]=3) printf("Speler 4: %d\n",index); } return 0; } |
Bij de laatste for() gaat het fout. Wat ik ook probeer, alle kaarten worden standaard aan de eerste optie die niet de waarde 0 heeft gegeven (in dit geval Speler 2).
Hoe kan dat?
Ik verwacht een output die lijkt op bijv.:
Speler 1: 0
Speler 1: 12
Speler 1: 18
Speler 2: 3
Speler 2: 6
Speler 2: 9
etc...
En dan weet ik dat niet iedere spelers evenveel kaarten hoeven te krijgen, zoals het nu geprogrammeerd is. Maar daar kom ik pas achter als ik bovenstaande voor elkaar heb
En dan ga ik dat fijn zelf oplossen
[ Voor 5% gewijzigd door curry684 op 23-03-2004 13:04 . Reden: code-tags voor leesbaarheid, en dit is geen script :) ]