blue-one
Gebruiker
- Lid geworden
- 18 apr 2005
- Berichten
- 60
Reader
Voor de liefhebbers:
DEEL 1
Productomschrijving:
“Dobbelen”
Het programma dat je gaat bouwen is een simulatie van een dobbelspel, te vergelijken met Yahtzee. De speler werpt vijf dobbelstenen en haalt daarmee volgens de spelregels zoveel mogelijk punten.
ZELF DOEN:
1. Open een nieuw standaard.exe project.
2. Plaats een Label en een CommandButton in het formulier.
3. Wijzig de naam van label in "lblUitvoer"en die van de CommandButton in "cmdMaakGetal"
4. Wijzig de caption van cmdMaakGetal in "Start"
5. Wijzig de eigenschap “caption” van de lblUitvoer door de text te verwijderen.
6. Dubbel-klik op cmdMaakGetal en voer de volgende code in:
Private Sub cmdMaakGetal_Click()
Dim getal As Integer
Randomize
getal = Rnd * 10
lblUitvoer.caption = getal
End Sub
LET OP:
ALLE PROGRAMMACODE IN DEZE PO MOET VOORZIEN ZIJN VAN COMMENTAARREGELS!!!
Voorbeeld
Private Sub cmdMaakGetal_Click()
Dim getal As Integer ‘declaratie variabele voor willekeurig getal
Randomize ‘functie aanroep voor het generen van willekeurige waarde
getal = Rnd * 10 ‘ getal krijgt waarde tussen 0 en 10
lblUitvoer.caption = getal ‘getal wordt afgebeeld.
Toelichting op code:
De eerste en de laatste regel van deze code staat er al en wordt door VB6 gegenereerd
Dim getal As Integer: declaratie van de variabele "getal" van het variabele type integer (geheel getal)
Randomize: zorgt er voor dat er willekeurig gekozen wordt door VB
getal = Rnd * 10: getal krijgt een willekeurige waarde toegekend van en met 0 tot en met 10
lblUitvoer.caption = getal: de waarde van getal wordt afgebeeld in lblUitvoer
ZELF DOEN:
Pas de code aan zodat een waarde van 1 tot en met 6 willekeurig wordt weergegeven nadat op de knop wordt geklikt.
7. Slecteer de lblUitvoer en wijzig de BackColor in wit en de eigenschap apperance in 0-flat. Selecteer nu lblUitvoer met je rechter muisknop en kies voor "copy".
8. Klik in het formulier met de rechter muisknop en kies voor "paste".
9. Maak een controlarray door in het pop-up scherm op "JA" te klikken.
10. Je hebt nu lblUitvoer(1) gemaakt en de eerste lblUitvoer heet nu lblUitvoer(0). Controleer dit! Let op: lblUitvoer bestaat nu niet meer, dus je code die je bij 6 hebt ingevoerd zal nu niet meer werken!
11. Maak op dezelfde wijze lblUitvoer(2),lblUitvoer(3) en lblUitvoer(4).
12. Pas je interface aan zodat de labels netjes staan en pas zo nodig het formaat aan. (er hoeft maar 1 getal getoond te worden in het label, dus je kunt ze waarschijnlijk nog wel wat aanpassen.
13. Vorig jaar heb je ook gewerkt met een control-array. Je kunt deze opdracht nog eens bekijken (KleurenMixer staat op het intranet (R
Exacte dir even vragen)
VERGEET DE COMMENTAARREGELS NIET!!
ZELF DOEN:
Door op de cmdMaakGetal te klikken komt in elke lblUItvoer( ) een willekeurig getal van 1 tot en met 6 te staan. Pas hier voor de code van cmdMaakGetal_Click( ) aan.
TIP: om de control-array af te lopen moet je gebruik maken van een For-Next. Lees eventueel eerste punt 17 voor de werking van een For-Next.
14. Je formulier zal er nu ongeveer zo uit zien.
Afbeelding van de form etc, niet van werkelijk belang denk ik....
15. Telkens wanneer je cmdMaakGetal aanklikt veranderd in principe de waarde van elke label. Er moet een mogelijkheid zijn een label "vast te zetten". Dit moet de gebruiker kunnen doen door in de label die hij wil vastzetten te klikken. De kleur van het label veranderd dan en doet vervolgens niet meer mee wanneer er op cmdMaakGetal geklikt wordt. Wanneer de gebruiker op een vastgezet label klikt komt deze weer vrij en doet weer mee.
16. De achtergrond kleur van de label instellen. Dubbel klik ergens op het formulier maar niet op een label of op de cmdMaakGetal.
17 Voer de volgende code in bij Form1_Load():
Dim hulp As Integer
For hulp = 0 To 4
lblUitVoer(hulp).BackColor = vbWhite
Next hulp
Toelichting: Voor aanvang van het programma worden objecten en hun instellingen geladen. Hier kan je via code de eigenschappen van de objecten instellen. De eigenschap BackColor hebben we hier ingesteld op vbWhite, we zullen straks zien hoe we dat verder gaan gebruiken. De For-Next is natuurlijk noodzakelijk om met zo min mogelijk code alle labels te benaderen.
18. Dubbel-klik op lblUitvoer( 0 ) en voer de volgende code in:
If lblUitVoer(Index).BackColor = vbWhite Then
lblUitVoer(Index).BackColor = vbYellow
Else
lblUitVoer(Index).BackColor = vbWhite
End If
Toelichting op de code:
Bij een klik wordt gecontroleerd welke kleur de label heeft, op basis daarvan wordt besloten welke kleur moet worden toegekend. Hierbij komt vbWhite dus aan te pas, de kleur die we hebben ingesteld bij de Form_Load. (het zal duidelijk zijn dat je natuurlijk ook andere kleuren kunt gebruiken.)
ZELF DOEN:
Wanneer de eigenschap BackColor van een lblUitvoer gelijk is aan vbWhite, dan moet de waarde wijzigen bij een cmdMaakGetal routine, maar als de kleur vbYellow is dan mag dat juist niet.
Wijzig de code van cmdMaakGetal zodanig dat dit ook zo werkt.
TIP: If-Then
19. Hoe het spel gaat worden is nog niet helemaal duidelijk, het kan nog alle kanten op gaan om zo te zeggen. Maar één ding leggen we in ieder geval nu wel vast. Een spel beurt bestaat uit maximaal drie maal klikken op cmdMaakGetal. Na elke klik kan de gebruiker labels "Vastzetten" om een zo hoog mogelijke totaal score te behalen.
ZELF DOEN:
Voeg een label toe aan het formulier. Het mag geen copy zijn van een van de bestaande labels. Noem het label "lblTotaal". Pas eventueel andere eigenschappen aan. Aan het eind van een spelbeurt wordt hier het totaal aantal behaalde punten getoond.
Pas de code van cmdMaakGetal zo aan dat na de derde klik:
De knop "start"niet meer gebruikt kan worden.
De labels blauw (of een andere kleur zijn)
Er een nieuwe knop zichtbaar wordt. Deze knop heet cmdNieuwSpel.
Wanneer de speler deze knop aanklikt keert het spel terug in de uitgangspositie (alle labels zijn leeg, de startknop is te gebruiken, de knop "Nieuw spel" is onzichtbaar en de kleur van de labels is wit.
TIP: Je hebt een teller nodig om het aantal kliks bij te houden, declareer hiervoor een variabele in de bovenste regel van het codescherm ((general) (declarations))
In de code van cmdMaakGetal zal gecontroleerd moeten worden hoe vaak er al geklikt is en welke actie er moet worden uitgevoerd na de derde maak klikken (If-Then en natuurlijk weer For-Next voor het array)
Bedenk een handige manier om tot de eindscore te komen. Je zult hiervoor een aantal nieuwe variabelen moeten declareren.
ZELF DOEN:
Inmiddels heeft je programma al heel wat programmacode in zich. Je zult in de loop van de opdracht nog meer onderdelen programmeren en bestaande delen wijzigen. Plaats nu commentaar regels in je code. Commentaar regels geven een korte toelichting bij de code. Ze hebben geen invloed op het programma maar zullen je helpen wanneer je later delen moet vervangen of aanpassen. Commentaarregels worden altijd voorafgegaan door een '
Hieronder zie je een voorbeeld:
For hulp = 0 To 4 'uitvoeren voor de waarde van de variabele "hulp"
lblUitVoer(hulp).BackColor = vbWhite 'kleur instellen.
Next hulp 'eerste volgende waarde van hulp
20. Sla je bestanden nu op in een map die je noemt Spelversie1. Je weet dat je twee bestanden moet opslaan. Je projectbestand en je formulierbestand ( *.prj en *.frm) controleer dit goed.
Eindelijk een objectief eisenpakket
Voor de liefhebbers:
DEEL 1
Productomschrijving:
“Dobbelen”
Het programma dat je gaat bouwen is een simulatie van een dobbelspel, te vergelijken met Yahtzee. De speler werpt vijf dobbelstenen en haalt daarmee volgens de spelregels zoveel mogelijk punten.
ZELF DOEN:
1. Open een nieuw standaard.exe project.
2. Plaats een Label en een CommandButton in het formulier.
3. Wijzig de naam van label in "lblUitvoer"en die van de CommandButton in "cmdMaakGetal"
4. Wijzig de caption van cmdMaakGetal in "Start"
5. Wijzig de eigenschap “caption” van de lblUitvoer door de text te verwijderen.
6. Dubbel-klik op cmdMaakGetal en voer de volgende code in:
Private Sub cmdMaakGetal_Click()
Dim getal As Integer
Randomize
getal = Rnd * 10
lblUitvoer.caption = getal
End Sub
LET OP:
ALLE PROGRAMMACODE IN DEZE PO MOET VOORZIEN ZIJN VAN COMMENTAARREGELS!!!
Voorbeeld
Private Sub cmdMaakGetal_Click()
Dim getal As Integer ‘declaratie variabele voor willekeurig getal
Randomize ‘functie aanroep voor het generen van willekeurige waarde
getal = Rnd * 10 ‘ getal krijgt waarde tussen 0 en 10
lblUitvoer.caption = getal ‘getal wordt afgebeeld.
Toelichting op code:
De eerste en de laatste regel van deze code staat er al en wordt door VB6 gegenereerd
Dim getal As Integer: declaratie van de variabele "getal" van het variabele type integer (geheel getal)
Randomize: zorgt er voor dat er willekeurig gekozen wordt door VB
getal = Rnd * 10: getal krijgt een willekeurige waarde toegekend van en met 0 tot en met 10
lblUitvoer.caption = getal: de waarde van getal wordt afgebeeld in lblUitvoer
ZELF DOEN:
Pas de code aan zodat een waarde van 1 tot en met 6 willekeurig wordt weergegeven nadat op de knop wordt geklikt.
7. Slecteer de lblUitvoer en wijzig de BackColor in wit en de eigenschap apperance in 0-flat. Selecteer nu lblUitvoer met je rechter muisknop en kies voor "copy".
8. Klik in het formulier met de rechter muisknop en kies voor "paste".
9. Maak een controlarray door in het pop-up scherm op "JA" te klikken.
10. Je hebt nu lblUitvoer(1) gemaakt en de eerste lblUitvoer heet nu lblUitvoer(0). Controleer dit! Let op: lblUitvoer bestaat nu niet meer, dus je code die je bij 6 hebt ingevoerd zal nu niet meer werken!
11. Maak op dezelfde wijze lblUitvoer(2),lblUitvoer(3) en lblUitvoer(4).
12. Pas je interface aan zodat de labels netjes staan en pas zo nodig het formaat aan. (er hoeft maar 1 getal getoond te worden in het label, dus je kunt ze waarschijnlijk nog wel wat aanpassen.
13. Vorig jaar heb je ook gewerkt met een control-array. Je kunt deze opdracht nog eens bekijken (KleurenMixer staat op het intranet (R

VERGEET DE COMMENTAARREGELS NIET!!
ZELF DOEN:
Door op de cmdMaakGetal te klikken komt in elke lblUItvoer( ) een willekeurig getal van 1 tot en met 6 te staan. Pas hier voor de code van cmdMaakGetal_Click( ) aan.
TIP: om de control-array af te lopen moet je gebruik maken van een For-Next. Lees eventueel eerste punt 17 voor de werking van een For-Next.
14. Je formulier zal er nu ongeveer zo uit zien.
Afbeelding van de form etc, niet van werkelijk belang denk ik....
15. Telkens wanneer je cmdMaakGetal aanklikt veranderd in principe de waarde van elke label. Er moet een mogelijkheid zijn een label "vast te zetten". Dit moet de gebruiker kunnen doen door in de label die hij wil vastzetten te klikken. De kleur van het label veranderd dan en doet vervolgens niet meer mee wanneer er op cmdMaakGetal geklikt wordt. Wanneer de gebruiker op een vastgezet label klikt komt deze weer vrij en doet weer mee.
16. De achtergrond kleur van de label instellen. Dubbel klik ergens op het formulier maar niet op een label of op de cmdMaakGetal.
17 Voer de volgende code in bij Form1_Load():
Dim hulp As Integer
For hulp = 0 To 4
lblUitVoer(hulp).BackColor = vbWhite
Next hulp
Toelichting: Voor aanvang van het programma worden objecten en hun instellingen geladen. Hier kan je via code de eigenschappen van de objecten instellen. De eigenschap BackColor hebben we hier ingesteld op vbWhite, we zullen straks zien hoe we dat verder gaan gebruiken. De For-Next is natuurlijk noodzakelijk om met zo min mogelijk code alle labels te benaderen.
18. Dubbel-klik op lblUitvoer( 0 ) en voer de volgende code in:
If lblUitVoer(Index).BackColor = vbWhite Then
lblUitVoer(Index).BackColor = vbYellow
Else
lblUitVoer(Index).BackColor = vbWhite
End If
Toelichting op de code:
Bij een klik wordt gecontroleerd welke kleur de label heeft, op basis daarvan wordt besloten welke kleur moet worden toegekend. Hierbij komt vbWhite dus aan te pas, de kleur die we hebben ingesteld bij de Form_Load. (het zal duidelijk zijn dat je natuurlijk ook andere kleuren kunt gebruiken.)
ZELF DOEN:
Wanneer de eigenschap BackColor van een lblUitvoer gelijk is aan vbWhite, dan moet de waarde wijzigen bij een cmdMaakGetal routine, maar als de kleur vbYellow is dan mag dat juist niet.
Wijzig de code van cmdMaakGetal zodanig dat dit ook zo werkt.
TIP: If-Then
19. Hoe het spel gaat worden is nog niet helemaal duidelijk, het kan nog alle kanten op gaan om zo te zeggen. Maar één ding leggen we in ieder geval nu wel vast. Een spel beurt bestaat uit maximaal drie maal klikken op cmdMaakGetal. Na elke klik kan de gebruiker labels "Vastzetten" om een zo hoog mogelijke totaal score te behalen.
ZELF DOEN:
Voeg een label toe aan het formulier. Het mag geen copy zijn van een van de bestaande labels. Noem het label "lblTotaal". Pas eventueel andere eigenschappen aan. Aan het eind van een spelbeurt wordt hier het totaal aantal behaalde punten getoond.
Pas de code van cmdMaakGetal zo aan dat na de derde klik:
De knop "start"niet meer gebruikt kan worden.
De labels blauw (of een andere kleur zijn)
Er een nieuwe knop zichtbaar wordt. Deze knop heet cmdNieuwSpel.
Wanneer de speler deze knop aanklikt keert het spel terug in de uitgangspositie (alle labels zijn leeg, de startknop is te gebruiken, de knop "Nieuw spel" is onzichtbaar en de kleur van de labels is wit.
TIP: Je hebt een teller nodig om het aantal kliks bij te houden, declareer hiervoor een variabele in de bovenste regel van het codescherm ((general) (declarations))
In de code van cmdMaakGetal zal gecontroleerd moeten worden hoe vaak er al geklikt is en welke actie er moet worden uitgevoerd na de derde maak klikken (If-Then en natuurlijk weer For-Next voor het array)
Bedenk een handige manier om tot de eindscore te komen. Je zult hiervoor een aantal nieuwe variabelen moeten declareren.
ZELF DOEN:
Inmiddels heeft je programma al heel wat programmacode in zich. Je zult in de loop van de opdracht nog meer onderdelen programmeren en bestaande delen wijzigen. Plaats nu commentaar regels in je code. Commentaar regels geven een korte toelichting bij de code. Ze hebben geen invloed op het programma maar zullen je helpen wanneer je later delen moet vervangen of aanpassen. Commentaarregels worden altijd voorafgegaan door een '
Hieronder zie je een voorbeeld:
For hulp = 0 To 4 'uitvoeren voor de waarde van de variabele "hulp"
lblUitVoer(hulp).BackColor = vbWhite 'kleur instellen.
Next hulp 'eerste volgende waarde van hulp
20. Sla je bestanden nu op in een map die je noemt Spelversie1. Je weet dat je twee bestanden moet opslaan. Je projectbestand en je formulierbestand ( *.prj en *.frm) controleer dit goed.
Eindelijk een objectief eisenpakket
