login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Visual Basic] Lingo maken in Visual Basic

Offline dannyvdb1997 - 25/11/2013 08:16 (laatste wijziging 25/11/2013 08:16)
Avatar van dannyvdb1997Lid Hallo, ik heb een vraagje. Ik ben samen met een klasgenoot voor informatica het spel lingo aan het maken in Visual Basic. Dit is een opdracht. Nu zitten wij alleen vast. We willen graag random letters in laten voeren, zodat er meerdere woorden zijn. Weet iemand hoe dit mogelijk is? Nu kunnen we alleen maar één woord krijgen.

Met vriendelijke groet,
dannyvdb1997

3 antwoorden

Gesponsorde links
Offline Thomas - 25/11/2013 12:41
Avatar van Thomas Moderator Ik begrijp niet helemaal wat je bedoelt, maar meestal helpt het om de dingen die je al weet op een rij te zetten. Dit kan dan als een specificatie dienen voor hetgeen je probeert te maken. Wat ik mij van lingo herinner is het volgende:

Het doel is het raden van een woord ter lengte van X karakters binnen een Z aantal pogingen. Initieel worden hier Y (Y < X) karakters van bekend gemaakt. Elke poging mag een woord van X karakters ingegeven worden, deze hoeft niet per se overeen te stemmen met letters die al op de goede plaats van het te raden woord staan. Het is niet toegestaan (is niet zinnig) om twee keer hetzelfde woord op te geven. Per letter wordt aangegeven of:
- de letter op de goede plaats staat, of
- de letter op de verkeerde plaats staat, maar wel in het te raden woord voorkomt, of
- de letter totaal niet in het woord voorkomt.

Het spel houdt op als:
- het aantal pogingen Z is verstreken en het woord niet is geraden, of
- het woord is geraden.

Je zou het te raden woord random kunnen kiezen uit een voorgedefinieerde lijst van woorden (die je zelf zult moeten aanmaken). Voor testdoeleinden kun je volstaan met slechts één of enkele woorden, maar dus wel met de mogelijkheid om deze woorden-bibliotheek later uit te breiden.

Je zou ook extra eisen kunnsen opleggen aan de letters die initieel bekend worden gemaakt bijvoorbeeld:
- dit zijn er altijd precies twee karakters (anders wordt het raden van het woord nogal triviaal, tenzij je 32-letter-lingo maakt )
- de karakters die bekend worden gemaakt staan nooit naast elkaar (er zit altijd ten minste 1 onbekende letter tussen)

(EXTRA)
Ik weet niet of in jouw spel twee teams dit kunnen spelen? Hebben zij ook een afstreepkaart en ballenbak? 

Waar past jouw vraag precies in dit verhaal?
Bedankt door: Abbas
Offline dannyvdb1997 - 26/11/2013 08:31
Avatar van dannyvdb1997 Lid Hallo FangorN,

Bijgevoegd een link met hetgene wat we tot nu toe hebben.

* We hebben tot nu toe de interface en we kunnen in de bovenste twee rijen een woord invullen. Als dit woord goed is dan wordt de regel daaronder groen met de juiste letters. Alleen we hebben hier maar één woord, maar we willen dat er meerdere woorden beschikbaar zijn en dat de eerste letter varieert.
* We doen niet aan teams, het is gewoon een simpel spelletje

https://www.dro.../Lingo.zip

Groeten, dannyvdb1997

Offline Thomas - 26/11/2013 18:29
Avatar van Thomas Moderator Heh, ben helemaal niet thuis in die programmeertaal (is dat een .net-variant?), maar het ziet er naar uit dat je e.e.a. object georienteerd moet aanpakken? Heb je een modelleertechniek o.i.d. waarmee je snel de verschillende objecten / klassen in kaart kunt brengen? Of sla je meteen aan het programmeren? Heb je bijvoorbeeld ooit van CRC cards of andere Extreme Programming principes gebruik gemaakt? Is het doel van de opdracht (tevens) het toepassen van een methodiek die je eerder hebt behandeld?

Het stukje code wat ik kon ontcijferen (weet niet welke bestanden precies relevant zijn?) controleert (hardcoded) een bepaalde letter op een vaste positie (van één mogelijk woord), wat mij te statisch lijkt. Dit lijkt mij te kort door de bocht .

Ik ben niet zo'n OOP'er, maar je zou het volgende verhaal als leidraad kunnen gebruiken om e.e.a. op te delen in verschillende onderdelen:
---
Het spel bestaat in eerste instantie uit één ronde en wordt gespeeld door één team.

Aan het begin van elke ronde wordt uit een woordenlijst een te raden woord (de oplossing) gekozen. Deze ligt voor de rest van de ronde vast.

In een ronde kan een team een aantal pogingen doen om het woord te raden. In een poging wordt een woord opgegeven, deze wordt vergeleken met het gezochte woord.

Het spel eindigt als het aantal (resterende) pogingen op is, of dat het gezochte woord (de oplossing) is gevonden.
---
Hierboven zijn de dikgedrukte delen mogelijk objecten van klasses. Er is interactie tussen deze objecten. Zo is er bijvoorbeeld bij het begin van een nieuwe ronde (het aanmaken van een ronde-object?) een "selecteer een random woord uit de woordenlijst"-actie op de woordenlijst. Bij het doen van een poging is er een "vergelijk het ingevoerde woord met de oplossing" actie en dit geeft dan een resultaat terug die aangeeft of het woord geheel/ten dele goed is geraden en of daarna het spel eindigt (oplossing gevonden of pogingen op) of dat je een nieuwe poging start (dus het poging-object communiceert waarschijnlijk informatie terug naar het ronde-object ofzo).

Het bovenstaande verhaal zou ook (bijna letterlijk) gebruikt kunnen worden om een procedureel programma te schrijven voor het lingo-spel.

Nogmaals, ik weet niet precies wat het doel van je opdracht is (toepassen van methodiek? procedureel programmeren? objectgeorienteerd programmeren?) maar dit zou je genoeg stof moeten geven om een begin te maken denk ik.
Bedankt door: Abbas
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s