Toon posts:

[VB] Als 3 dezelfde dan...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey,

Ik moet voor school een kruisje rondje maken in WORD.. Met die visual basic die daarbij staat. Nogal goedkoop, maarja niets aan te doen.

Nu heb ik eigenlijk alles af, behalve het berekenen of iemand heeft gewonnen (het gaat om 2 spelers die beide achter 1 computer zitten).

Wat ik zelf probeerde is hetvolgende:
code:
1
2
3
4
5
6
7
8
If (velden(0) = player And velden(1) = player And velden(2) = player) Then gewonnen = player 'horizontaal rij 1
If (velden(3) = player And velden(4) = player And velden(5) = player) Then gewonnen = player 'horizontaal rij 2
If (velden(6) = player And velden(7) = player And velden(8) = player) Then gewonnen = player 'horizontaal rij 3
If (velden(0) = player And velden(4) = player And velden(8) = player) Then gewonnen = player 'diagonaal 1
If (velden(2) = player And velden(4) = player And velden(6) = player) Then gewonnen = player 'diagonaal 2
If (velden(0) = player And velden(3) = player And velden(6) = player) Then gewonnen = player 'verticaal kolom 1
If (velden(1) = player And velden(4) = player And velden(7) = player) Then gewonnen = player 'verticaal kolom 2
If (velden(2) = player And velden(5) = player And velden(8) = player) Then gewonnen = player 'verticaal kolom 3


Maar dit blijkt niet te werken. Maar nu heb ik een nieuwe oplossing bedacht (te vermoeiend om de oude code op te lossen denk ik ;D). Namelijk velden(0) tot en met
code:
1
(8)
in een variabele te zetten, en kijken of er dan een reeks van '3' dezelfde tussenzit.

Ik heb mijn hele code even neergezet op !spam!
Mijn vraag is dus: hoe kijk ik of er 3 dezelfde karakters in een variabele voorkomen. (andere oplossingen zijn ook welkom ;))

[ Voor 7% gewijzigd door whoami op 25-03-2003 16:06 . Reden: smiley verrotingen ]


Verwijderd

Zo een spel had ik ook gemaakt, maar dan over netwerk heen... dan kan je gewoon op localhost inloggen.. 2 schermpjes, op 1 comp :)

http://www.planet-source-...?txtCodeId=39654&lngWId=1

Deze is niet van mij, maar wel een goeies

Op jouw manier zou je een GEWONNEN = true moeten maken... een boolean dus, dan kan je daarna vragen :

Visual Basic:
1
2
3
If Gewonnen = True then
   Msgbox player & "heeft gewonnen, bbla bla bla"
end if

[ Voor 30% gewijzigd door Verwijderd op 25-03-2003 16:09 . Reden: code stukje erbij ]


Verwijderd

Topicstarter
ja dat snap ik wel, maar het geeft geen antwoord op mijn vraag. En het moet ook in vba ofzo he.. die van word :S

  • Expecho
  • Registratie: Januari 2001
  • Laatst online: 23-08 13:46
Volgens mij is een enkele '=' een toekenning en een dubbele '=' een vergelijking.
Ofwel a == b (is a gelijk aan b) of a = b (a krijgt waarde b).

Redelijk basis dacht ik zo.

[ Voor 5% gewijzigd door Expecho op 25-03-2003 19:22 ]


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:38

Crazy D

I think we should take a look.

Expecho schreef op 25 March 2003 @ 19:22:
Volgens mij is een enkele '=' een toekenning en een dubbele '=' een vergelijking.
Ofwel a == b (is a gelijk aan b) of a = b (a krijgt waarde b).

Redelijk basis dacht ik zo.
Niet in VB, daar is gewoon alles 1 = :)

Exact expert nodig?


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Je moet gewoon wat meer haakjes zetten:
code:
1
2
If ((velden(0) = player) And (velden(1) = player) And (velden(2) = player)) Then gewonnen = player 'horizontaal rij 1
...

Siditamentis astuentis pactum.


  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 21-08 18:44

LauPro

Prof Mierenneuke®

Verwijderd schreef op 25 maart 2003 @ 16:07:
Op jouw manier zou je een GEWONNEN = true moeten maken... een boolean dus, dan kan je daarna vragen :

Visual Basic:
1
2
3
If Gewonnen = True then
   Msgbox player & "heeft gewonnen, bbla bla bla"
end if
Ja maar maak daar dan maar mooi:
Visual Basic:
1
2
3
If Gewonnen then
   Msgbox player & "heeft gewonnen, bbla bla bla"
end if
van ;).

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Verwijderd

IDD prof mierenneuke 8)7

Maarre ontopic:

Werkt dit anders niet?

Visual Basic:
1
2
3
4
5
6
7
8
9
10
If velden(0) = velden(1) AND velden(1)=velden(2) then Gewonnen = velden(0)
If velden(3) = velden(4) AND velden(4)=velden(5) then Gewonnen = velden(0)
If velden(6) = velden(7) AND velden(7)=velden(8) then Gewonnen = velden(0)

If velden(0) = velden(3) AND velden(3)=velden(6) then Gewonnen = velden(0)
If velden(1) = velden(4) AND velden(4)=velden(7) then Gewonnen = velden(0)
If velden(2) = velden(5) AND velden(5)=velden(8) then Gewonnen = velden(0)

If velden(0) = velden(4) AND velden(4)=velden(8) then Gewonnen = velden(0)
If velden(6) = velden(4) AND velden(4)=velden(2) then Gewonnen = velden(0)


En de waarde van velden(0 to 8) is dan van de speler die er een kruisje of rondje heeft neergezet
Pagina: 1