dbwebb-se / webtec

Course repo for web technologies - webtec.
Other
12 stars 7 forks source link

Hur tänka kring kmom04 och gissa namnet spelet? #27

Open mosbth opened 1 year ago

mosbth commented 1 year ago

I uppgiften skall man göra ett spel där man blir presenterad med en beskrivning av ett namn, man skall då gissa vilket namnet är. Gissar man rätt skall det visas och man kan få se en ny beskrivning att gissa på. Om man gissar fel så får man ett meddelande som säger att man gissade fel och man får ett nytt försök.

Om man försöker skissa detta spelet i ett flöde av webbsidor (sidkontrollers) så kan det till exempel bli så här.

  1. En presentationssida (sidkontroller) för spelet som visar upp en beskrivning av ett namn tillsammans med ett formulär där man kan skriva in ett namn och klicka på "Gissa" för att se om man gissade rätt.

    • När man kommer in till sidan behöver man initiera sessionen så att den innehåller ett namn till att börja med.
  2. När man klickar på "Gissa" så blir det POST till en processingsida (sidokontroller). I processingsidan kollar man om gissningen är korrekt eller fel. Man kontrollerar värdet i POST med värdet i SESSION. Man förbereder ett flash-meddelande som säger om gissningen var korrekt eller fel och gör sedan en redirect till en resultatsida (sidkontroller). Resultatsidan kan vara samma som presentationssidan (sidkontroller).

Så är grunden. Varianter som man kan lägga till är bland annat följande.

  1. En knapp som "Nytt namn" som slumpar fram ett nytt namn i sessionen. Detta görs enklast via en processingsida som slumpar fram namnet och placerar det i sessionen.

  2. En knapp "Fuska" som ger någon form av ledtråd till vilket namnet är, kanske antalet bokstäver eller vissa bokstäver syns och andra maskas. Här kan man använda sig av en processingsida som placerar fusket i ett flash-meddelande.

Flödet hur man jobbar med POST, processingsidor och resultatsidor samt sessionen och flash-meddelande får man från övningen som föregår uppgiften.

mosbth commented 1 year ago

Hur börjar man? Ja en variant är att skapa testsida där man kan kontrollera koden för att slumpa fram ett namn och placera i sessionen.

Här finns en färdig funktion som vi kan använda som hämtar informationen från svenska akademins ordlista.

Funktionen array_rand() ger oss ett slumpat namn (key) från den listan (arrayen).

Skriv sedan koden för att plocka ut alla detaljer om det namnet från listan, ungefär så här.

$names = getNameExplanation();
$name = array_rand(names);
var_dump($names[$name]);

När du kan plocka ut de delar du behöver, tex namnet och beskrivningen - då kan du ta nästa steg och placera namnet i sessionen. Då har du ett startläge för applikationen.

mosbth commented 1 year ago

Jag såg att jag inte hade bilder på lösningar på uppgiften så jag började att samla på mig det. https://imgur.com/a/KSblOXn