Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mosbth opened this issue Sep 29, 2023 · 2 comments
Open

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

mosbth opened this issue Sep 29, 2023 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@mosbth
Copy link
Member

mosbth commented Sep 29, 2023

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 mosbth added the documentation Improvements or additions to documentation label Sep 29, 2023
@mosbth mosbth self-assigned this Sep 29, 2023
@mosbth
Copy link
Member Author

mosbth commented Sep 29, 2023

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
Copy link
Member Author

mosbth commented Oct 5, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant