[php]mastermind

Pagina: 1
Acties:
  • 144 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allemaal.

Mijn vriend en ik willen php en mysql leren en daarom besloten we als eerste projectje het spel Mastermind na te maken. Maar we zitten zo ongeveer vast bij de analyse, messchien dat jullie een handje willen toesteken.
We zijn compleet onwetend ;).

Here it comes:

Regels en onderdelen:

Het mastermind spel beschikt over de volgende onderdelen:

- Speelbord met 10 rijen voor codepennen van 4 socket's (11e rij verborgen) met daarnaast 4 minisockets voor sleutelpennen.
- Codepennen in 8 verschillende kleuren.
- Sleutelpellen (zwarte en witte)

Het spel wordt als volgt gespeeld:

De codeur stelt een kleurcode samen bestaande uit 4 willekeurige kleuren. Strikt volgens de regels mag hetzelfde kleur 2 keer gebruikt worden.

De decodeur vult een rij met kleuren. De decodeur plaats in de minisocket's naast de rij één zwarte sleutelpen voor elke juiste kleur die ook in de juiste socket zit en één witte sleutelpen voor elke kleur die correct is maar in de verkeerde socket zit.

Het is de bedoeling dat de code in zo weinig mogelijk beurten geraden wordt. Diegene met de minste rijen wint.

We kunnen moeilijkheidsgraden laten kiezen, dan krijgt de speler meer of minder rijen om de code te breken. We kunnen dan score's berekenen op basis van het aantal gebruikte rijen en aantal beschikbare rijen en die dan bijhouden maar das allemaal voor later.

Laat ons nu eerst de werking van het spel ontleden, als je nog vragen hebt over de spelregels en/of de layout laat ons die dan eerst verhelderen.

Het verloopt dus als volgt:

1. De kleurcode wordt willekeurig samengestelt en verborgen
2. De speler selecteert een vakje en kiest een kleur, zo vult hij de 4 socket's van de rij.
3. De computer controleert de kleuren en geeft output in sleutelpennen.
4. Stappen 2 en 3 worden herhaald tot ofwel de rij van de speler overeenkomt met de verborgen rij of tot het aantal rijen opgebruikt is. Dan wordt de verborgen rij getoont.

Hoe gaan we nu in godsnaam over tot analyse, welke stappen nemen we, wat zetten we op papier, welk schema maken we enz...

We dachten te beginnen met een lijst te maken van variabelen en dan schematjes te maken van de deeltjes code, maar dat lukt ons niet echt goed.


Random selectie van de code:

we zouden een array maken met 8 kleuren, dan met radom() een voor een de 4 sockets van de verborgen rij vullen en dan verbergen.

Als rijen zouden we ook een array nemen met 8 plaatsen, 4 voor codepennen en 4 voor sleutelpennen.

Dan met een hoop if's en een paar randvariabelen het geheel doen werken, maar volgens mij zitten we compleet fout.

Wat denken jullie?

Acties:
  • 0 Henk 'm!

Verwijderd

Ten eerste analyseren hoe het spel werkt.
Beschrijf dat stap voor stap in gewone woorden/steekwoorden. Vervolgens ga je dat omzetten in een schema. Begin bij het begin (wat moet er gebeuren voordat een spel überhaupt kan beginnen?) en werk zo verder door het spel heen in logische stappen.
Vervolgens kan je die stappen omzetten in pseudocode en zo langszaamaan naar code toewerken.

Tenminste, zo zou ik het aanpakken ;)

Acties:
  • 0 Henk 'm!

  • slm
  • Registratie: Januari 2003
  • Laatst online: 12-11-2023

slm

Waarom Mastermind? Ik denk niet dat PHP de meest geschikte scripttaal is voor Mastermind en ik begrijp ook niet welke extra toegevoegde waarde de MySQL database kan hebben hiervoor.

IMO is een clientside scripting taal beter geschikt om dit soort spelletjes te maken.

Als je dan toch met PHP/MySQL wilt gaan stoeien, probeer dan als testcase een kaartenbak of zo te maken... Of als je toch een spelletje wilt maken omdat dat leuker is, maak dan iets van galgje of zo (waarbij je een aardig woordenboekje in de database propt).

To study and not think is a waste. To think and not study is dangerous.


Acties:
  • 0 Henk 'm!

Verwijderd

Ja, ik kan me geen HTML form indenken waarbij je kleuren in sockets kan stoppen. Of je moet PHP+GTK bedoelen ofzo (als dat bestaat), maar met HTML heb je het verkeerde probleem bij de verkeerde taal gekozen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat voor andere dingen kunnen jullie ons dan voorstellen om php en MySQL te leren?

Acties:
  • 0 Henk 'm!

  • Allochtoon
  • Registratie: April 2002
  • Niet online

Allochtoon

bakhar

slm schreef op 16 September 2003 @ 19:17:


Als je dan toch met PHP/MySQL wilt gaan stoeien, probeer dan als testcase een kaartenbak of zo te maken... Of als je toch een spelletje wilt maken omdat dat leuker is, maak dan iets van galgje of zo (waarbij je een aardig woordenboekje in de database propt).
Verwijderd schreef op 16 September 2003 @ 22:25:
Wat voor andere dingen kunnen jullie ons dan voorstellen om php en MySQL te leren?
8)7

Een simpele online webshop.

[ Voor 33% gewijzigd door Allochtoon op 16-09-2003 22:28 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 10-09 22:45
Bouw een forum :)
Begin met de opzet met de borden, topics, dan kan je er echt zoveel instoppen als je zelf wilt. UBB code, U2U messengers, cookie beveiligingen enz enz enz

Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

Mastermind lijkt me juist goed om php te leren kennen, wat je nodig hebt is voornamelijk een 2 dimensionale array die je kan opslaan in een session variable en enkele constanten om kleur waardes voor te stellen, dan kan je met html/javascript aan de slag om een gui errond te bouwen.

Dat PHP hier de de _beste_ taal voor is kan ik begrijpen, maar dat betekend niet dat hij hiermee geen goede oefening heeft. Ik heb vorig jaar als school opdracht Zeeslag gehad in ASP of PHP, waarbij de originele opdracht zelfs multiplayer was, maar dat heb ik uit z'n hoofd gepraat (van de leerkracht) omwille van de statelessness maar wel vs een redelijke AI, boten plaatsen enz en t'was best interessant.

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

  • _Sunnyboy_
  • Registratie: Januari 2003
  • Laatst online: 22:39

_Sunnyboy_

Mooooooooooooooooo!

Bouw eens nieuws-systeempje, waarmee jemet een formuliertje nieuw nieuws in de database kan proppen en een neiuws-overzicht uit de database kan weergeven. Er bestaan er al honderen van maar het is wel een goeie start.

Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life


Acties:
  • 0 Henk 'm!

Verwijderd

Een news script om te beginnen is idd het best (zo heb ik hetzelf ook gedaan.) Dan een forum. Hierheen zit idd ook alles verwerkt. Van login script met sessie's tot avatar support, statistieken etc. Maar dat heb ik zelf nooit gedaan omdat een forum veel ste veel werk is. En er veel betere gratis te vinde zijn :) . Je kan dan ook nog gallery script maken ofzo. En mastermind is dan ook leuk om te doen. (toch raad ik je eerst aan om iets makkelijkers te zoeken)

Evengoed. Als je denkt genoeg kennis te hebben. (of niet :P ) Ga dan naar codewalkers.com en doe mee aan de wedstrijd zou ik zeggen. Alhoewel zoiets wel ver boven je hoofd ligt voor een beginnende php-er O-)

Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 18-09 07:00

Tomatoman

Fulltime prutser

Bouw een eenvoudig programma om je cd's in te catalogiseren. Niet te ingewikkeld maken, het gaat tenslotte om het principe. Met gegevens voor artiest/groep, album en songtitel ben je een heel eind op weg. Je hebt hier zeker een database voor nodig en je hebt geen grafische hoogstandjes nodig.

Mastermind was trouwens het eerste programma dat ik in Delphi bouwde. Maar ja, php is natuurlijk geen Delphi :P.

Een goede grap mag vrienden kosten.

Pagina: 1