Zeeslag bouwen in PHP
Ik wil graag het spel zeeslag maken in php. Ik weet helaas niet waar ik moet beginnen. Heeft iemand nog ideeën of het al gedaan zodat ik het kan bekijken?
Bedankt alvast voor jullie hulp.
Met vriendelijke groet,
Tim
Edit:
Titel aangepast van 'php spel' naar 'Zeeslag bouwen in PHP'. Gelieve in het vervolg een duidelijkere topictitel aan te geven.
Gewijzigd op 20/02/2018 22:45:01 door - Ariën -
Hoe zie je het voor je:
- single player (tegen de computer)
- multi player (twee gebruikers), in één scherm
- multi player via internet (twee aparte schermen)
En wat is je kennis van PHP op dit moment?
Wij hebben nog niet zo heel veel ervaring met PHP, dus we zouden het fijn vinden als we vragen kunnen stellen of naar een voorbeeld kunnen kijken van een zeeslag in PHP.
Als je concrete vragen hebt, dan mag je die zeker stellen. maar gezien je aangeeft dat je nog niet heel veel ervaring met PHP hebt, zou ik het raadzaam vinden om in ieder geval eens de basis te ontdekken met wat kleinere proefscriptjes, voordat je je op een basaal project zoals een zeeslag richt.
Hier een bron vol inspiratie met uitlegplaatje en hints hoe je het op de computer doet :
https://nl.wikipedia.org/wiki/Zeeslag_(spel)
Gewijzigd op 20/02/2018 23:21:00 door Adoptive Solution
Battleship in het Engels.
Als je vervolgens met Battleship game in PHP googelt, vind je allerlei voorbeelden.
Zeeslag heet Als je vervolgens met Battleship game in PHP googelt, vind je allerlei voorbeelden.
We moeten voor school één project maken, en daarvoor gaan we zeeslag maken. Alleen vragen we ons af hoe we moeten doen. Want we mogen het niet kopieren van internet. Dus misschien kan iemand ons op weg helpen.
We willen je graag helpen, maar dan lijkt een concrete vraag wel het gemakkelijkst. Want we weten nu niet wat je nu al aan kennis hebt over PHP, en wat je tot nu toe al hebt, en waar je nou echt op vastloopt.
Gewijzigd op 22/02/2018 12:07:46 door - Ariën -
Op het moment is onze concrete vraag, hoe we het bord van zeeslag in elkaar kunnen zetten?
Want eigenlijk moet je een project als dit in deel-projecten indelen:
- Inloggen
- Bord opstellen
- Boten willekeurig positioneren
- Scores berekenen
Dus een concreet antwoord valt tot nu toe lastig te geven zonder een logische vraagstelling.
Gewijzigd op 22/02/2018 12:26:35 door - Ariën -
Dus ons eerste vraag is: Hoe kunnen arrays gebruiken voor het bord?
Tim Nieuwenhuis op 22/02/2018 12:33:01:
We hebben nu 2 jaar lang informatica. Het enige ervaring met php is een website maken met functies zoals bijvoorbeeld een rekenmachine of een formulier. We hebben nog nooit zo'n complexe code zelf moeten maken. We hebben al wel een begin maar we zijn nu bezig met hoe we het bord gaan maken. We hadden als idee dat we misschien arrays kunnen gebruiken daarvoor, alleen hebben we hier nog niet eerder zoveel meegewerkt.
Dus ons eerste vraag is: Hoe kunnen arrays gebruiken voor het bord?
Dus ons eerste vraag is: Hoe kunnen arrays gebruiken voor het bord?
Zelf ben ik ook geen PHP expert maar het lijkt me inderaad logisch dat je eerdere advies oppakt en inderdaad eerst eens de basis gaat leren van PHP. De rest komt vanzelf met een beetje logisch nadenken en uitproberen.
Zonder basiskennis wordt dat behoorlijk lastig denk ik.
Maak eens een lijstje van wat je allemaal nodig hebt.
Je kunt eenvoudig beginnen waarbij je op één computer tegen elkaar speelt (al lijkt het mij dan lastig om dingen te tonen of te verbergen voor je tegenstander), dan kun je mogelijk gaan denken aan een kunstmatige tegenstander of zelfs een webbased multiplayer variant.
Maar begin gewoon eens met behulp van volzinnen uit te typen hoe het spel functioneel werkt, zonder je nog druk te maken over hoe je dit technisch zou moeten oplossen. Dit doe je doorgaans in de praktijk ook: eerst maak je een functionele specificatie (dit vormt in wezen een recept) en dan de rest.
Zeeslag
5 schepen
• 1 Slagschip (hier heb je 5 bommen voor nodig)
• 1 Kruiser (hier heb je 4 bommen voor nodig)
• 2 Fregatten (hier heb je 3 bommen voor nodig)
• 1 Mijnenveger (hier heb je 2 bommen voor nodig)
Plaatsen van de schepen
Om te beginnen selecteer je eerst het schip die je wilt gaan plaatsen. Als voorbeeld kiezen we maar even het slagschip. Vervolgens bepaal je waar je het schip in de zee legt. We kiezen hier even voor de horizontale rij 8 (klik op het rondje bij de 8) en de verticale rij B. Nu kies je hoe het schip gaat liggen van 8B tot 4B of van 8B tot 8F. Klik hiervoor op "naar beneden" of "naar rechts" (onder het speelveld).
Schoten afvuren
Je mag nu om de beurt een schot afvuren. Dit gaat als volgt: je ziet nu twee speelvelden. Het bovenste speelveld is het stukje zee waar de schepen van je tegenstander liggen. Het onderste speelveld is jouw stukje zee en zie je jouw vloot dus liggen. Als je tegenspeler raak schiet wordt dit hier weergegeven. Het schieten is vrij eenvoudig, je kiest het coördinaat waar jij jou schot wilt afvuren. Dit doe je door eenvoudig te klikken op het vakje in de zee waar jij dat wilt. Als voorbeeld hebben we gekozen voor vakje B12. Als je dat hebt gedaan zie je in het speelveld een bom.
Heb je nu per ongeluk verkeert gegooid klik dan op "neem zet terug". Heb je wel gegooid waar je wilde, klik dan op "doe zet". Nu kun je zien of het een voltreffer was of niet.
Winnaar
De speler die als eerste alle schepen van de tegenspeler heeft laten zinken, wint het spel.
Weet iemand hoe je een submit knop een bepaalde kleur kan geven?
Tim Nieuwenhuis op 22/02/2018 12:33:01:
We hebben nu 2 jaar lang informatica.
Tim Nieuwenhuis op 08/03/2018 11:55:58:
Weet iemand hoe je een submit knop een bepaalde kleur kan geven?
Huh? Nu weet ik dat informatica zeker niet (alleen) bestaat uit CSS / vormgeving, maar met 2 jaar informatie zou deze vraag in combinatie met onze grote vriend Google toch zeker opgelost moeten kunnen worden in dezelfde tijd als dat je de vraag op dit forum gezet hebt.
Gewijzigd op 08/03/2018 16:11:30 door Ramon van Dongen
We hebben al wel dat het een kleur heeft. maar wat wij willen is dat als je erop drukt dat het verandert naar een andere kleur. Onze informatica leraar weet ook niet hoe dat moet. Maar zo te zien heb jij ook geen idee want anders was je wel met iets gekomen.
Tim Nieuwenhuis op 09/03/2018 10:06:39:
Maar zo te zien heb jij ook geen idee want anders was je wel met iets gekomen.
Geen idee hoe je hier precies bij komt, want dat was eerst niet je vraagstelling. ;-)
De vraag is wanneer de knop moet veranderen? Als er een actie uitgevoerd is nadat er er op knop gedrukt is, of direct? Ik kan me indenken dat er in een spel diverse visualisatie ziet die aangeeft of iemand bijvoorbeeld aan de beurt is aan de hand van kleuren.
Dus als je duidelijk kan vertellen wat er precies moet gebeuren, dan kunnen we een uitgebreider antwoord geven. Ik kan je wel alvast hinten dat je met het style-attribuut in HTML of met CSS je knop kan laten verkleuren. Eventueel kan Javascript erbij helpen.