Tillämpad Programmering. Ekonomi + Spel + Javascript

Relevanta dokument
Spelprogrammering med JavaScript och HTML5

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Labora&on 7 Syfte med laborationen:

JavaScript. DOM Scripting

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Procedurell renderingsmotor i Javascript och HTML5

<script src= "

JavaScript. JavaScript Ramverk (Bibliotek) jquery + jquery UI

Integrerad i egen cup-portal Sid 1

Introduk+on +ll programmering i JavaScript

Lektion 3 HTML, CSS och JavaScript

Teknisk information för digital annonsering

JavaScript. En Introduktion

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

JAVASCRIPT. Beteende

Bygga kurser för mobila enheter

Labora&on 1 Variabler och beräkningar övningar/uppgi9er

Gesällprov. Webbutveckling klient- och serversidan. Tomas Pålson topa4233

Föreläsning 2. Operativsystem och programmering

Riktiga Vykort Partner webb Teknisk beskrivning

JavaScript En Introduktion

Hi-Fi Prototyping + laborationsgenomgång & verktyg

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

Programmering. Scratch - grundövningar

1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till?

Materialspecifikationer webb 2014

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.

Design och konstruktion av grafiska gränssnitt

Macromedia Flash MX 2004

Introduk+on +ll JavaScript if- sats, funk+oner, bilder

Materialspecifikationer

Materialspecifikationer

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

Repetition. Hypertext. Internet HTTP. Server och klient Text försedd med länkar till andra texter. Många sammankopplade nät

Repetition. Hypertext. Internet HTTP. Server och klient Föreläsning 2. Text försedd med länkar till andra texter. Många sammankopplade nät

Tillgänglighetskrav på teknik Dessa krav baseras på WCAG 2.0,

Föreläsning 1 & 2 INTRODUKTION

Classes och Interfaces, Objects och References, Initialization

Materialspecifikationer

PageSpeed Insights. (utgångsdatum har inte angetts)

Lite mer om CGI-programmering

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Innehålls förteckning

Logistiksystem Päron AB Bakgrund Problembakgrund Krav på lösning Lösningen

On-line produktion TDDC61

21/01/2016. Stilmallar. styra utseendet av webbplatsen DEL 1. Karin Fahlquist. index.html. recept.html frukt.html grönsaker.html

En bortsprungen katt

Produktionsprislista och materialspecifikationer

E13 "Behind the Wild"

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium

Fältstudier. Torsdagen den 13 november K2. Ann Lantz Sinna Lindqvist

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

ORDLISTA WEBBDESIGN 100P

Webbteknik för ingenjörer

Detaljbeskrivning av Player

Avancerade Webbteknologier

Bilder. Bilder och bildformat

Lektion 2 Del 1 Kapitel 6

Föreläsning 1 & 2 INTRODUKTION

WEBDESIGN A - DTR 1210

Blockly är en av apparna som används för att styra roboten Dash. Den är väldigt enkel i sin utformning och kan med fördel användas av yngre barn.

Teknikprogrammet, inriktning informations- och medieteknik

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

En stiligare portal Laboration 3

Slutrapport för JMDB.COM. Johan Wibjer

Carl-Oscar Hermansson WEBB DESIGN

Användarhandledning Version 1.2

Webbdesign vt Innehållsförteckning

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Nya Veckans AffArer VÅRA LÄSARE RÄCKVIDD & UPPLAGA

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Karlstads Universitet, Datavetenskap 1

Gränssnittsdesign Namn: Erik Kurs: Gränssnittsdesign Klass: Sy17. Projektplan. Projektets namn

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Teknisk beskrivning för annonsering i PlayAd s format

Objektorienterad analys och design

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

Slump och statistik med Scratch. Se video

ANNONSER & PLATSANNONSER. Priser & format för produkt- och profilannonsering samt platsannonsering på dagensapotek.se

ANNONSER & PLATSANNONSER. Priser & format för produkt- och profilannonsering samt platsannonsering på dagensapotek.se

Innehåll. Styrdon (ej i boken) Fitts lag (sidan ) Natural user interfaces. Kap 6.2.9, , Kap

Vilken skillnad gör det var du placerar det? Prova båda.

Webbteknik II - 1DV449 Laboration 3

[[Det här är en länk]] Skapar en länk till en passage som heter Det här är en länk.

Parameteröverföring. Exempel. Exempel. Metodkropp

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Tepz klon. - Projektrapport. Linnéuniversitetet, Individuellt mjukvaruutvecklingsprojekt Janina Bergström, WP12 Distans

Roboten. Sida 1 av 11

Materialspecifikation för alla Portalens mässajter

Inloggning till Winst och installation av Java för användare med Mac

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Hi fi prototyping. Johanna Persson MAM nov 2014

Publiceringsverktyget

Webbdesign vt Innehållsförteckning

Design och konstruktion av grafiska gränssnitt

Visa och dölja element med JavaScript

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Transkript:

Programmerat exempelprojekt (följ länk och tryck på RUN) https://repl.it/@hakanandersson/canvas-shop Tillämpad Programmering. Ekonomi + Spel + Javascript Håkan Andersson

Webbapplikationer Java applets *1995 2013-2018 Adobe Flash *1995 2015-2020 HTML5 / JavaScript

HTML /index.html <canvas id="mycanvas" width="300" height="150"> </canvas> <script src= myjs.js > </script> Javascript /myjs.js var c = document.getelementbyid( mycanvas ) ; var ctx = c.getcontext( 2d ) ; ctx.strokerect(0, 0, 300, 150) ;

Hur och varför ska man lära ut programmering av spels ekonomi i Javascript?

Varför? (Javascript)

Varför Javascript Oberoende av plattform* Kan interagera med hemsidas övriga objekt <canvas> kan överlappas --> arbeta i lager * användare kan blockera javascript och som utvecklare behöver du ta hänsyn till olika inmatningsmetoder

Hur? (spels ekonomi)

Förslag på tillämpningar Auktionshus (World of Warcraft) Shop till rollspel (Dark Souls) Shop till mobilspel (Pokémon GO) Shop till karavanspel (Rimworld)

Interaktion i fokus; A-och-O i många tillämpningar Menyer Knappar Men varför?! Vad är syftet? Inmatningmetoder Planering är kreativ och utvecklande Uppmuntrar till samtal om både design och funktion Projektet är iterativt och utmanande Bör kännas meningsfullt, trots att liknande produkt existerar

Faktorer som avgör Hur? Vilken tillämpning? Förkunskaper (i ekonomi, programmering etc.) Lämpligt innehåll (inriktning på utbildningen etc.) Tidsåtgång (antal timmar) Projektform (grupp, individ, SCRUM etc.)

Spel tillhandahåller sällan en lösning på ett problem... utan skapar problem som ska lösas Men......är detta en ekonomisk tillämpning? En ekonomisk tillämpning i spel är en interaktion med ett ekonomiskt system I både spel och ekonomiska lösningar... krävs att du programmerar ett ekonomiskt system

Vad behöver man veta när man Planerar och Programmerar ett spel?

Programmera spel

Initialization & Gameloop Initialization (start) = En funktion där man t.ex. skapar objekt som behöver finnas från början. Startar sedan gameloop. Körs en gång! Gameloop (update) = En funktion som bl.a. ser till att canvas/context byter innehåll. Körs t.ex. 60 gånger per sekund (60fps)! Eventlistener En eventlistener kan skapas för att hålla koll på när användaren interagerar med en inmatningmetod (tangentbord, mus, touch).

HTML Javascript <html> <head> </head> <body> <canvas id="mycanvas" width="400" height="300"></canvas> <script src="myjs.js"> </script> <script> window.onload = function(){initialize()} </script> </body> </html> var rowidx = 0; var c = document.getelementbyid( mycanvas ) ; var ctx = c.getcontext( 2d ) ; function initialize(){ window.addeventlistener('keydown',keyboardfn); gameloop(); } function keyboardfn(e){ if( e.key=="arrowdown" ){ rowidx++ ; } }

Javascript Javascript var rowidx = 0; var c = document.getelementbyid( mycanvas ) ; var ctx = c.getcontext( 2d ) ; function initialize(){ window.addeventlistener('keydown',keyboardfn); gameloop(); } function keyboardfn(e){ if( e.key=="arrowdown" ){ rowidx++ ; } } function gameloop(){ window.requestanimationframe(gameloop); ctx.clearrect(0,0,c.width,c.height); ctx.font = "30px Verdana"; ctx.filltext(rowidx,20,50); }

Planera spel

VISION (bild på färdig produkt) PROTOTYP (vad man tror sig hinna på 1h arbete) DESIGN-BESLUT (lista ord, ex.vis. simpel, tabeller, max 3 klick ) INSPIRATION (bild på liknande produkt)

VISION (bryt ner programmet till dess funktioner) och (lista variabelnamn och variabeltyp) för enklare program PROTOTYP (bryt ner prototypen till dess funktioner) och/eller (lista variabel-namn och -typ)