Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare kan spela ett tärningsspel som heter. Kursolle.se Målgrupp Jag har själv valt att målgruppen för hemsidan kommer vara mot personer som vill spela ett snabbt spel på sin dator, men också på telefonenen. Sidan kommer vara så neutral och enkel i stilen som möjligt. Skiss och funktioner Startsidan innehåller två stora knappar med bilder i dem. Det är ett tvåspelarläge där två spelare delar skärm och ett fyraspelarläge som är online. (Som jag inte kommer göra, läs mer på om sidan) Via startsidan kan man använda navbaren för att navigera till regler, om och profil. Profil kommer bara upp om man är inloggad. När man inte är inloggad står det logga in och registrera dig. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text. Profil sidan är en sida där du kan gör inställningar och se statistik på alla dina spel och på de topp 3 spelarna i världen. Du har också en historik, där du ser alla spel du har spelat. (Inte gjort än än) När du startar ett tvåspelarespel kommer du få välja namn på spelare ett och spelare två. I ett online spel kommer du behöva vara inloggad för att köra. När en spelare har gjort ett drag kommer det skickas ett epostmeddelande som meddelar dig om att din motståndare har gjort ett drag. Projektplan för 1
Tidsplan Jag tänkte att jag borde kunna klara av att göra designen på sidan under tre dagar och sedan koda hela spelet för två spelar under en dag. Det är möjligt att jag underskattar tiden det tar att koda spelet, men jag tror jag kan klara det. När det är klart är min första milstolpe nådd. Efter det är alla krav klara och då kan jag börja lägga till de andra funktionerna så som fyra spelare online och inloggningen. Jag har redan skrivit två sidor med inloggning så det borde inte vara så svårt att sätta in, så jag uppskattar att det tar en dag. Sedan har jag två dagar på mig att skapa så att det går att köra fyra spelare online. Det är fullt möjligt att jag kommer ändra tidsplanen under projektets gång. Uppdatering Jag lyckades inte direkt följa min tidsplan helt. Jag var tvungen att koda lite extra på lördagen, en jag blev klar med designen i tid. Milstolpe 1 lyckades jag iallafall nå i tid. Milstolpe 2 kommer jag tyvärr strunta i, varför kan du läsa på om sidan. Gemensam kodstandard Jag kommer använda HTML, Materialize 0.1.00.2 och kanske några egna CSS rader för att skapa designen på hemsidan. När jag kodar hemsidan kommer jag använda PHP och Java Script. (Java Script följer med i Materialize) Ändringar under projektets gång Jag kom just på att jag behöver ändra hur man skriver in sitt namn innan ett två spelare spel. Jag funderar på att ha en sida man kommer till innan man börjar köra för att bestämma två namn. Eller så att sidan laddas in, men om det inte finns några namn kommer det komma upp att du måste skriva in ett namn. Jag ändrade hur man bestämmer namn lite. Om man inte har givit P1 och P2 några namn kommer det inte säga du har inte valt namn sidan kommer istället skicka dig direkt till sidan där du väljer namn. Jag har nu bestämt mig för att göra spelplanen för datorn till en större variant av mobilanpassningen. Det blir ett för stort hopp mellan de båda annars. Jag har också tagit bort sträcket, i navbaren, som visar vart man är på sidan och bytt ut det till en mörkare färg. Projektplan för 2
Projektplan för 3
Pseudokod Kod som kollar så att man har valt ett fungerade namn Om spelare 1 har valt namn och spelare 2 har valt namn. Om spelare 1 eller två har några av de förbjudna tecknen. Be spelarna byta namn och uppmana vilka tecken som inte får användas. Om spelare 1 eller spelare 2 har ett namn som har mer än 10 tecken. Be spelarna byta namn. Annars låt de spela. Kod för att göra så att spelaren som kastar får poäng mellan 1 till 6. När användaren kastar träning. Randomisera ett nummer mellan 1 och 6. Om numret är 6, låt inte användaren fortsätta kasta och ge tärningen till den andra spelaren. Om numret är mindre än 6 låt spelaren fortsätta kasta. Kod om spelaren väljer att spara sina poäng. Om spelaren sparar sina poäng. Addera nuvarande poäng med totalen för den spelaren. Ge tärningen till den andra spelaren. Kod för att vinna spelet Om någon har mer eller lika med 40 poäng. Skriv ut vem som vann. Kod för att skriva ut tärningar Om en spelare har kastat en tärning. Om tärningen är 1. Skriv ut en tärning med en etta. Om tärningen är 2. Skriv ut en tärning med en två. Om tärningen är 3. Skriv ut en tärning med en tre. Om tärningen är 4. Skriv ut en tärning med en fyra. Om tärningen är 5. Skriv ut en tärning med en fema. Projektplan för 4
Buggar Om du sparar utan att ha några tärningar kommer du krascha sidan spara.php då den tar att en ny variabel ska bli 0+den nya variabeln. Det är nu fixat. Jag fixade det med att säga att: Om variabeln inte finns sätt den till noll. Du kan förmodligen göra sönder sidan med JavaScript. Det är nu också fixat. Jag la bara till några rader kod som om kollar igenom namnet efter tecknen som man inte får använda. Du kan uppdatera om och om igen för att få samma tärning om och om igen. Vet tyvärr inte hur man fixar det Regler Games of 40 är ett spel där du kastar en tärning och ska få så höga poäng som möjligt, utan att slå en sexa. Du kan när som helst under ditt kast spara dina poäng du har. Om du inte sparar dina poäng och slår en sexa, kommer alla poäng som inte är sparade att försvinna. Försten till 40 vinner. Förtydligande Regel nummer ett: Slå så många gånger du vill, men om du får en sexa måste du ge tärningen till motståndaren. Regel nummer två: Efter du har kastat en gång, eller mer, kan du spara dina poäng. Regel nummer tre: Slår du en sexa förlorar du alla poäng du inte har sparat. Regel nummer fyra: Den som först kommer till 40 eller går förbi 40 vinner spelet. Projektplan för 5
Om Hej! Tack för att du vill veta mer om detta projektet. är mitt slutprojekt i programmering 01 och webbutveckling 01 under årskurs två på gymnasiet. Sidan är byggd med HTML, CSS PHP, och JavaScript. Under vårt år i tvåan har vi lärt oss att skriva i HTML, CSS och PHP. JavaScripten som finns på hemsidan är från materialize (länka), som då är det ramverk jag har använt. Som det ser ut nu tror jag inte att jag kommer implementera flerspelsläget på grund av tre anledningar. Den första anledningen är att det kommer bli jobbigt för spelarna att behöva uppdatera sidan då någon är klar. Det går däremot att lösa med att skicka ut ett mejl om att en spelare är klar med sitt drag. Den andra anledningen är att spelet är i lite för snabb takt för att det ska vara roligt att köra utan JavaScripts. Då måste du vänta tills du får ett mejl, gå in på länken och om du har otur, bara behöva klicka på en knapp innan du måste vänta igen. Den sista anledningen är att jag inte har tid med att bara sitta och programmera för vi har också andra saker i skolan som behövs göras. Som jag tänker nu kommer jag behöva några hundra rader PHP innan flerspelsläget är klart. Jag kommer också då behöva ett skapa ett till login. Om du vill se hur mina login fungerar kan du bara kolla på puzzelkoda banken (länk) jag gjorde för ett tag sedan. Det är en uppgift jag blev jättenöjd med. Om du skulle undra varför ikonerna ser ut som de är gjorda i Paint är det för att jag inte har någon aning om hur man använder Photoshop Jag har inte heller lust att lära mig hur man använder Photoshop. Om du skulle av någon anledning vilja kontakta mig kan du göra det här (länk) Här är några länkar till andra saker jag har gjort. (Länka till CSource,Wordpress, dokumenten, första skissen) Projektplan för 6