3. UpplÀgget för förelÀsningen
Prototyping, Sketching, Pseudokod & Tips
Tips:
FÄ inte panik om ni inte förstÄr allt.
Experimentera med exemplena (ligger uppe i iLearn).
Japanese Memory - HTML, CSS, JavaScript (jQuery)
Falling Math - <canvas>, JavaScript
6. I erat fall
Inget krav att ni iterera över er prototyp
Skall vara sÄ spelbar och komplett som möjligt
Börja med det viktigaste, utöka om ni hinner
8. Pseudokod
Bra för att bena ut exakt vad som behövs göras
Bra om alla i teamet jobbar mot samma mÄl
Skönt nÀr man fÄr blackout
Exempel: Gissa talet
9. var number_to_guess = slumpmÀssigt tal mellan 0 - 100
function check_guess(){
if ( gissning Àr mer Àn number_to_guess ){
skriv ut âFör högt. Gissa igenâ
if ( gissning Àr mindre Àn number_to_guess ){
skriv ut âFör lĂ„gt. Gissa igenâ
else {
skriv ut âBra! RĂ€tt gissatâ
}
}
}
}
Kör funktionen check_guess nÀr anvÀndaren gör en gissning
10. Tips
AnvÀnd en bra text editor: Sublime Text 2
AnvÀnd JavaScript-konsolen
Googla, mycket!
11. TvÄ olika sÀtt att bygga spel i HTML5
Om spelen vi skall bygga
DOM-element
(klassisk hemside-uppbyggnad)
<canvas>-taggen
HTML-element (<img>, <div> mm.)
CSS-styling
JavaScript (jQuery)
JavaScript för att rita upp objekt, spela
upp ljud mm.
GÄr det att utföra med hjÀlp av DOM-element sÄ gör det,
anvÀnd <canvas>-taggen i annat fall.
12. Japanese Memory - uppbyggnad
HTML <section>, <div>, <p> ...
data-attribut
CSS Styling
Layout
Animering
JavaScript (jQuery) click-events
Logik
Spela upp ljud
13. â jQuery( ⊠) eller $( ... )
jQuery
â jQuery ĂR JavaScript
â LĂ€nkar in det i vĂ„rt dokument
â AnvĂ€nda CSS-selektorer $(â#myIDâ).hide()
â HjĂ€lpbibliotek
â Events: click, keydown ...
14. Skapa variabler som hÄller koll pÄ antalet spelade
omgÄngar samt vilka kort som har vÀnts
Blanda korten och ange att funktionen card_clicked körs
nÀr anvÀndaren klickar pÄ ett kort
function card_clicked(){
Ta bort möjligheten att klicka pÄ det vÀnda kortet
Visa kortets framsida och spela upp kortets ljud
if ( tvÄ kort har vÀnts ) {
kör funktionen check_pair
}
}
15. âthisâ
VĂ€ldigt mycket upprepning.
LÀtt att göra fel.
Jobbigt att felhantera.
$("#card-1").click( card_clicked1 )
$("#card-2").click( card_clicked2 )
$("#card-3").click( card_clicked3 )
17. âthisâ
I bollhavet finns det massor av bollar.
Simon plockar upp en av bollarna.
Den Àr röd.
document <div>, <div> ...
den klickade <div>:en
this
18. var fruits = [ "Apelsin", "Banan", "Mango" ]
0 1 2
var favorite = fruits[0]
"Apelsin"
var favorite = fruits[2]
"Mango"
20. function check_pair(){
}
Ta bort möjligheten att klicka pÄ nÄgot kort
if ( Testa om de bÄda vÀnda korten matchar varandra )
{
Ta bort de vÀnda korten frÄn spelplanen
Gör resterande kort klickbara igen
else {
Visa korten i tvÄ sekunder
VĂ€nd tillbaka korten
Gör samtliga kort klickbara igen
Inkrementera antalet spelade omgÄngar
}
}
21. Japanese Memory - utökningar
â SVG
â Spelplanen utökas efter varje omgĂ„ng
â GĂ„r pĂ„ tid
â High score
â ...
22. Falling Math - uppbyggnad
HTML <canvas>
CSS ---
JavaScript Logik
canvas-API
game loop
osv.
23. Falling Math - uppbyggnad
Flera smÄ och avgrÀnsade funktioner
Ăndra saker oberoende av vad anvĂ€ndaren gör
Definera variabler överst i koden
29. function player_update() {
Uppdatera spelarens x-vÀrde om en
piltangent Àr nedtryckt
Rita ut spelaren pÄ canvasen
}
HÄll koll sÄ att x-vÀrdet inte hamnar
utanför canvasen
32. function collision_check() {
if ( y-vÀrde för fallande tal < y-vÀrde för spelare){
}
}
avsluta funktionen
if ( x-vÀrdet för fallande tal == x-vÀrde för spelare) {
}
Höj eller sÀnk nivÄn beroÀnde pÄ om talet var rÀtt
eller fel
else {
Straffa spelaren om talet var rÀtt
}
Skapa ett nytt fallande tal
33. player_x <= fall_x + fall_width &&
fall_x <= player_x + player_width
10 / 2 = 5
fall
player
36. function change_level( next_or_prev ) {
if ( next_or_prev == ânextâ ){
}
}
Höja svÄrighetsgraden
else if ( next_or_prev == âprevâ ){
}
SÀnka svÄrighetsgraden
37. function new_falling_expression {
Ge det nya fallande talet ett nytt
slumpmÀssigt x-vÀrde
Slumpa fram ett nytt matteproblem
ur listan math_expressions
}
Ange att det nya fallande talet skall
börja frÄn toppen av canvasen
38. Falling Math - utökningar
â Talen genereras slumpmĂ€ssigt
â Flera tal faller samtidigt
â Animationer i bakgrunden
â Ljud
â ...
44. Falling Math
Fördelar Nackdelar
Har större frihet att placera och
manipulera figurer.
GĂ„r att skapa âhit detectionâ
Ăr en mer invecklad process, tar
lÀngre tid.