[SI] Ada Lovelace Day 2014 - Tampon Run

74
LFU - 12. oktober 2014 - Ljubljana - KCQ

description

Delavnica za Ada Lovelace Day 2014. https://www.facebook.com/princessdesignnet

Transcript of [SI] Ada Lovelace Day 2014 - Tampon Run

Page 1: [SI] Ada Lovelace Day 2014  - Tampon Run

LFU - 12. oktober 2014 - Ljubljana - KCQ

Page 2: [SI] Ada Lovelace Day 2014  - Tampon Run

AdaLovelaceL. F. Menabrea: Sketch of The Analytical Engine Invented by Charles Babbage Note G

Page 3: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 4: [SI] Ada Lovelace Day 2014  - Tampon Run

Have the courage to try. You can make amazing things happen.Megan Smith, U.S. CTO, former VP of Google[x]

Photo: Taylor Hill/FilmMagic for Google

Page 5: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 6: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 7: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 8: [SI] Ada Lovelace Day 2014  - Tampon Run

KodaOriginal: https://github.com/andrea-3000/TAMPON-RUN Kopija za delavnico: https://github.com/princessdesign/TAMPON-RUN

Page 9: [SI] Ada Lovelace Day 2014  - Tampon Run

Sestavni deli● HTML ● CSS● JavaScript

○ Processing.js http://processingjs.org/○ Buzz Javascript HTML5 Audio knjiznica http://buzz.jaysalvat.com/

● Slike, glasba

Page 10: [SI] Ada Lovelace Day 2014  - Tampon Run

Avatarji / Slike

Page 11: [SI] Ada Lovelace Day 2014  - Tampon Run

Navigacija s tipkami● DESNO: 39 // naprej● LEVO: 37 // nazaj● M: 77 // tiho● SHIFT: 16 // start● PRESLEDNICA: 32 // tampon● GOR: 38 // skok● P: 80 // pavza● S: 83 // ponovni start

Page 12: [SI] Ada Lovelace Day 2014  - Tampon Run

Glasba● beethovenSound● jumpSound● tamponSound● gameOverSound● ouchSound● shootSound

Page 13: [SI] Ada Lovelace Day 2014  - Tampon Run

Naredimo svojo igro ...

Page 14: [SI] Ada Lovelace Day 2014  - Tampon Run

Igraj igro 5 minut in ustvari seznam stvari, ki bi jih rada v igri spremenila.

Page 15: [SI] Ada Lovelace Day 2014  - Tampon Run

● ____________● ____________● ____________● ____________● ____________

TODO

● ____________● ____________● ____________● ____________● ____________

Page 16: [SI] Ada Lovelace Day 2014  - Tampon Run

DANES● ____________● ____________● ____________● ____________● ____________

Page 17: [SI] Ada Lovelace Day 2014  - Tampon Run

● Preskoci intro ● Tipke za navigacijo● Zacetno stevilo tamponov● Stevilo tamponov v skatli● Barvo tamponov● Avatarje● Animacije● Barvo ozadja● Barvo tal● Barvo oblakov

Kaj lahko enostavno spremenimo?

● Sliko svetilke● Visino skoka● Velikost okna z igro● Zacetne slike z uvodom (prevod)● Zvoke● ...

Page 18: [SI] Ada Lovelace Day 2014  - Tampon Run

Datoteke

Page 19: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 20: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 21: [SI] Ada Lovelace Day 2014  - Tampon Run

index.html

Page 22: [SI] Ada Lovelace Day 2014  - Tampon Run

<html> <head> <title>Tampon Run!</title>

<style type="text/css"> /* CSS CODE for STYLE */ </style>

<script src="lib/processing-1.4.1.min.js"></script> <script src="lib/buzz.min.js" type="text/javascript"></script>

<script type="text/processing" data-processing-target="creators">// JAVASCRIPT KODA (creators canvas)

</script>

<script type="text/processing" data-processing-target="mycanvas">/* JAVASCRIPT KODA Z IGRO (mycanvas canvas) */

</script> </head>

<body> <canvas id="creators"></canvas> <canvas id="mycanvas"></canvas> </body></html>

Page 23: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

JavaScript - Osnove

Page 24: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

brackets.io

Page 25: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 26: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Komentarji// Hi, my name is comment

/*I am comment too. I can take more space.*/

Page 27: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

test.html

<html><head>

<script>console.log("JavaScript");

</script></head><body></body>

</html>

Page 28: [SI] Ada Lovelace Day 2014  - Tampon Run

Google Chrome Console

Page 29: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Stevilke141+15-232*3829/35%4

Page 30: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Besedilo "Ada" "Lovelace""Ada".length "Lovelace".length

Page 31: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 32: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Boolova vrednosttruefalse1<2

Page 33: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Spremenljivkavar score = 0; // stevilkascore;console.log(score);

var muted = false; // boolova vrednost

var feedback = "LFU!!!"; // niz

Page 34: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Tabela vrednosti (Array)var lampList = [];

var tampons = ["red", "green", "blue"];

var first = tampons[0];

document.write(first);

console.log(tampons[0]);

Page 35: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 36: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Funkcijeconfirm("I feel awesome!");

prompt("What is your name?");

console.log("What is your name?");

Page 37: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Funkcijevar sayHello = function(name) {

document.write("Hej" + " " + name);

};

sayHello("Maja");

Page 38: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 39: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

if stavekvar x = 1;if ( x === 1) {

document.write("x je enak 1");}

Page 40: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

if stavekvar x = 4;if ( x !== 1) {console.log("x ni enak 1");// document.write("x ni enak 1");}

Page 41: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 42: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

if else stavekvar key = "left";

if (key == "up"){console.log("Key is up.");

} else {console.log("Some key.");

}

Page 43: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 44: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

if & else if & else stavekvar key = "left";

if (key == "right" ) {console.log("Key is right.");

} else if (key == "up" ){console.log("Key is up.");

} else {console.log("Some key.");

}

Page 45: [SI] Ada Lovelace Day 2014  - Tampon Run
Page 46: [SI] Ada Lovelace Day 2014  - Tampon Run

for zankafor(var count=0; count<100; count++){

document.write(count);document.write("<br />")

}

Page 47: [SI] Ada Lovelace Day 2014  - Tampon Run

for zankatowns = ["LJ", "MB", "KR", "NM", "KP", "GO", "KR"];

for(var i=0; i<towns.length; i++){document.write(towns[i]);document.write("<br />")

}

Page 48: [SI] Ada Lovelace Day 2014  - Tampon Run

Objektno programiranjeAnimationGameStateLamppostLampFactoryCloudCloudFactoryGunAmmo

BuildingFactoryEnemyFactoryDuaneReadeBuildingPlayerEnemyTampon

Page 49: [SI] Ada Lovelace Day 2014  - Tampon Run

class Tampon { var xTamp; var yTamp; var tampSpeed; var randFR; Animation tampPic; var h; var w;

Tampon() { xTamp = 750; yTamp = 250; tampSpeed = -2; randFR = Math.floor((Math.random() * 20) + 8); tampPic = new Animation("tampz", 2, randFR); h = tampPic.getHeight(); w = tampPic.getWidth(); }

void showTamp() { tampPic.display(xTamp, yTamp); }

void moveTamp() { xTamp = xTamp + tampSpeed; }

void releaseTamp() { yTamp = yTamp + tampSpeed; } }

class DuaneReade { var tamponList;

DuaneReade() { tamponList = []; }

void animate() { var willItBlend = Math.floor((Math.random() * 500) + 1); if (willItBlend == 50) { tamponList.push(new Tampon()); }

showTamponList(); moveTamponList(); removeTampon(); reloadTampon(); }

// MORE CODE...

}

Page 50: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Metodeplay(soundToPlay)pauseSound(SoundToPlay)setup()draw()keyPressed()keyReleased()

Page 51: [SI] Ada Lovelace Day 2014  - Tampon Run

for loopfor(var count=0; count<10; count++){

console.log(count);}

Metodevoid pauseSound(soundToPlay) {

soundToPlay.pause()

}

Page 52: [SI] Ada Lovelace Day 2014  - Tampon Run

Spremenimo kodo!

Page 53: [SI] Ada Lovelace Day 2014  - Tampon Run

● Preskoci intro ● Tipke za navigacijo● Zacetno stevilo tamponov● Stevilo tamponov v skatli● Barvo tamponov● Avatarje● Animacije● Barvo ozadja● Barvo tal● Barvo oblakov

Kaj lahko enostavno spremenimo?

● Sliko svetilke● Visino skoka● Velikost okna z igro● Zacetne slike z uvodom (prevod)● Zvoke● ...

Page 54: [SI] Ada Lovelace Day 2014  - Tampon Run

Preskoci introHINT: Ce si na zacetku (0: home) pritisni SHIFT (tipka 16) in pojdi na igro (3: game play)

if (keyCode == 16 && state.page==0){

state.page = 1; // change to 3

NALOGA: Zakaj zvok ne igra?

Page 55: [SI] Ada Lovelace Day 2014  - Tampon Run

Spremeni tipke z ukaziif (keyCode == 77)if (keyCode == 39)if (keyCode == 16)if (keyCode == 83)if (keyCode == 38)

NALOGA: Spremeni kodo tako, da bos igrico lahko igrala z eno roko.

SPACE: 32 // throw tamponRIGHT: 39 // forwardLEFT: 37 // backM: 77 // muteSHIFT: 16 // beginUP: 38 // jumpP: 80 // pauseS: 83 // restart

Page 56: [SI] Ada Lovelace Day 2014  - Tampon Run

Spremeni zacetno st. tamponovNAMIG: Poisci kje je stevilo definirano in ga spremeni

//player variables

var tampon = 10; //50

NALOGA: Kaj se zgodi, ce igro ponovno zazenes (S)? Popravi!

NAMIG: End game (4) tipka S (83).

Page 57: [SI] Ada Lovelace Day 2014  - Tampon Run

Spremeni stevilo tamponov v skatliNAMIG: Poisci kje je stevilo definirano in ga spremeni

tampon = tampon + 5 // 50

Page 58: [SI] Ada Lovelace Day 2014  - Tampon Run

Spremni slike v uvodustatementOne = loadImage("res/statementOne0000.png");

statementTwo = loadImage("res/statementTwo0000.png");

statementThree = loadImage("res/statementThree0000.png");

statementFour = loadImage("res/statementFour0000.png");

statementFive = loadImage("res/statementFive0000.png");

instructOne = loadImage("res/learn0000.png");

pausePage = loadImage("res/pause0000.png");

Page 59: [SI] Ada Lovelace Day 2014  - Tampon Run

Barva tamponovNALOGA: Odpri slike v

urejevalniku slik in jih

spremeni.

● ammo…png 4x

● attack…png 2x

Page 60: [SI] Ada Lovelace Day 2014  - Tampon Run

Ustvari nov avatar (enemy)enemies = new EnemyFactory("eWalk", 1);

/* spremeni v swat in zazeni igro */

NALOGA: Zdaj ustvari svojega

eWalk swat

Page 61: [SI] Ada Lovelace Day 2014  - Tampon Run

AnimacijeAnimation title;

title = new Animation("title", 2, 20);

Animation girlIntro;

girlIntro = new Animation("walk",2,5);

Page 62: [SI] Ada Lovelace Day 2014  - Tampon Run

Barva ozadjavoid startGame() {background(100);

/* background(255,255,0); //yellow (red, green and blue 0-255)color yellow = color(255,252, 25);color red = color(178,18,18);color orange = color(255,83, 13);color blue = color(9, 113, 178);color pink = color(255, 182, 193);*/

Page 63: [SI] Ada Lovelace Day 2014  - Tampon Run

Barva talvoid showBuilding() {fill(0); // color name or number(s)

/* background(255,255,0); //yellow (red, green and blue 0-255)color yellow = color(255,252, 25);color red = color(178,18,18);color orange = color(255,83, 13);color blue = color(9, 113, 178);color pink = color(255, 182, 193);*/

Page 64: [SI] Ada Lovelace Day 2014  - Tampon Run

Barva oblakovvoid showCloud() {

fill(255);

fill(0); // black or // (0,0,0) (red, green and blue 0-255)

Page 65: [SI] Ada Lovelace Day 2014  - Tampon Run

Barva oblakov - sivaGray clouds (uncomment c and add c to fill())

c = Math.floor((Math.random() * 255) + 1);

}

void showCloud() {

fill(c);

Page 66: [SI] Ada Lovelace Day 2014  - Tampon Run

Barva oblakov - nakljucnaColor clouds r = Math.floor((Math.random() * 255) + 1);

g = Math.floor((Math.random() * 255) + 1);

b = Math.floor((Math.random() * 255) + 1);

}

void showCloud() {

fill(r,g,b);

Page 67: [SI] Ada Lovelace Day 2014  - Tampon Run

Slika svetilkeNALOGA: Odpri sliko lamppost0000.png

v urejevalniku slik in jo spremeni.

Page 68: [SI] Ada Lovelace Day 2014  - Tampon Run

Visina skokajumpHeight = 200;

/*

jumpHeight = 100; // visje

jumpHeight = 300; // nizje

*/

Page 69: [SI] Ada Lovelace Day 2014  - Tampon Run

Velikost okna z igrovar CANVAS_HEIGHT = 500; // 700

var CANVAS_WIDTH = 700; // 1200

Page 70: [SI] Ada Lovelace Day 2014  - Tampon Run

Spremeni zvokevar jumpSound = new buzz.sound("res/sound/jumpSound", {formats: ["ogg", "mp3"]});

var tamponSound = new buzz.sound("res/sound/tamponSound", {formats: ["ogg", "mp3"]});

var gameOverSound = new buzz.sound("res/sound/gameOverSound", {formats: ["ogg", "mp3"]});

var beethovenSound = new buzz.sound("res/sound/beethovenSound", {formats: ["ogg", "mp3"]});

var ouchSound = new buzz.sound("res/sound/ouchSound", {formats: ["ogg", "mp3"]});

var shootSound = new buzz.sound("res/sound/shootSound", {formats: ["ogg", "mp3"]});

Page 71: [SI] Ada Lovelace Day 2014  - Tampon Run

JAVASCRIPT http://learnxinyminutes.com/docs/javascript/http://www.codecademy.com/glossary/javascript https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide

TUTORIALIhttp://www.codecademy.com/tracks/javascripthttps://www.khanacademy.org/computing/cs

Page 72: [SI] Ada Lovelace Day 2014  - Tampon Run

PROCESSINGJS http://processingjs.org/reference/

Page 73: [SI] Ada Lovelace Day 2014  - Tampon Run

You can leave behind the old regressive sexist representations andinstead create interactive experiences that portray women as capable, complex and inspirational.Anita Sarkeesian, Feminist Frequency