Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20

Relevanta dokument
Agenda. Objektorienterad programmering Föreläsning 13

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 11

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Vi programmerar Java!

JAVA Mer om klasser och objektorientering

Tentamen ID1004 Objektorienterad programmering May 29, 2012

kl Tentaupplägg

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18

Kortspel. Ett spel - tusen upplevelser

Protokoll MiniBridge

Steg-för-steg. Hur vinner du i Bridge? Budgivningen. Grundförutsättningar. 1. Räkna poäng. 2. Budgivning - del 1. Vilket par har flest poäng?

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Handbok Officersskat. Martin Heni Eugene Trounev Granskare: Mike McBride Översättare: Stefan Asserhäll

Kungar och Skatter. 2. Ta sedan de fyra essen och blanda dem och lägg sedan slumpvis ut ett ess uppvänt i varje hörn (se fig 2).

Kurs: HF1012, Matematisk statistik Lärare: Armin Halilovic Datum: Tisdag 12 april 2016 Skrivtid: 8:15-10:00

Kurs: HF1012, Matematisk statistik Lärare: Armin Halilovic Datum: Tisdag 12 april 2016 Skrivtid: 8:15-10:00

C++ Slumptalsfunktioner + switch-satsen

Kursplanering Objektorienterad programmering

Bridge. på 10 minuter

HI1024 Programmering, grundkurs TEN

Hjälps åt att skriva några rader om senaste scoutmötet i avdelningens loggbok.

Uppgift 1 ( Betyg 3 uppgift )

Tentamen i Grundläggande programmering STS, åk 1 lördag

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel

JAVAUTVECKLING LEKTION 11

Kort om klasser och objekt En introduktion till GUI-programmering i Java

TDIU20 (exempel) TDIU20 Tentaregler

Övning 3. Datateknik A, Java I, 5 poäng

Uppgift 1 ( Betyg 3 uppgift )

Nationell simultantävling

kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar)

Fyra i rad Javaprojekt inom TDDC32

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Välkommen till min workshop Tankeläsare, korttrick och stengetter Varje deltagare behöver 5 rutade kort 8 tändstickor

Spelregler för restaurangkasinospel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

REGLER CHICAGO, SM DISCIPLIN 2019 #maucertified #friskförklarat

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

getsmart Grå Regler för:

kl Tentaupplägg

Grundläggande programmering. Grundläggande programmering. Idag. Kursinformation

UPPGIFT 1 V75 FIGUR 1.

Programmeringsteknik II

Genom undervisningen i ämnet matematik ska eleverna sammanfattningsvis ges förutsättningar att utveckla sin förmåga att...

Programmeringsteknik I. Föreläsning 3: Klasser och arrayer

2 b) Bodega bodegan = new Bodega(); double moms = 0.235; String namn = "Vargtass"; System.out.println(namn + " " + moms + bodegan.ändra(moms, namn); S

Innehållsförteckning

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Tentamen i Grundläggande programmering STS, åk 1 fredag

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

Dominokort Korten har olika antal prickar på övre och nedre halvan. Korten har samma antal prickar på övre och nedre halvan

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Nationell simultantävling

Välkommen till min workshop Tankeläsare, korttrick och stengetter. Varje deltagare behöver 5 rutade kort 10 tändstickor

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Rekursion. Att tänka rekursivt Att programmera rekursivt i Java Exempel. Programmeringsmetodik -Java 254

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Nationell simultantävling

Nationell simultantävling

Nationell simultantävling

Programmering för språkteknologer II, HT2011. Rum

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser.

Nationell simultantävling

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:

DAT043 - Föreläsning 7

050504/AE. Regler för Pick n Click

kl Tentaupplägg

Nationell simultantävling

kl Tentaupplägg

Dugga i Grundläggande programmering STS, åk

[] Arrayer = Indexerad variabel

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Nationell simultantävling

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

2 b) Följande finns definierat: public class Spel String titel = "Spel"; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice("Röd"); tärningar[1]

Tentamen i Programmeringsteknik MN

tentaplugg.nu av studenter för studenter

Nationell simultantävling

Sannolikhetsbegreppet

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UPPGIFT 1 KANINER. Håkan Strömberg 1 Pär Söderhjelm

DATORÖVNING 3: EXPERIMENT MED

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at

Planering Programmering grundkurs HI1024 HT 2014

Nationell simultantävling

Arv. Objektorienterad och komponentbaserad programmering

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

MATEMATIKSPELET TAR DU RISKEN

OOP Tenta

Ungefär lika stora tal

Nationell simultantävling

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Sidan x -till bridgens värld

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Transkript:

Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 20 Förra gången: GUI: Sammanfattning Fler exempel: KryssEnkat och FotoAlbum Fönster med variabelt antal objekt Idag: Ett stort exempel: spelet tjugoett GUI, så mycket vi hinner av: Utseende: färg, bilder, teckensnitt osv Ange storlek på komponenter (Hur man visar 1- och 2-dimensionella arrayer) (Mer om LayoutManagers. GridBagLayout)

Sammanfattning av allt vi vet Java: grundläggande konstruktioner Typer och variabler Matematiska uttryck In- och utmatning med paketet extra Villkor (if) och loopar (for, while) Arrayer Metoder, metodanrop, parametrar, returvärden Klasser, objekt, konstruktorer, new Klassvariabler och klassmetoder (static) Arv Rekursion

Sammanfattning av allt vi vet Java: bibliotek av paket och klasser String, Math, Vector Grafiska användargränssnitt Att leta i hjälpen

Sammanfattning av allt vi vet Idéer: Objektorientering Inkapsling, informationsgömning Program = modell av verkligheten Objekt sköter sig själva Arv Idéer: Grundläggande programutveckling Först Idé Sen Kod (FISK) Felsökning Kommentarer Programvarans utvecklingsprocess

Regler Varje spelare spelar en omgång En spelares omgång: Dra ett kort i taget, så länge du vill Kortens valörer summeras Ess = 1 eller 14 (det som gynnar spelaren) Knekt = 11 Dam = 12 Kung = 13 Summan bestämmer utgången: > 21 du förlorar och åker ut = 21 du vinner och spelet avslutas < 21 spelet går vidare till nästa spelare Om flera spelare stannar på < 21, vinner den som har mest poäng Vid oavgjort vinner den som spelade sist

Exempel Exempelspel, 2 spelare: Spelare 1 drar i tur och ordning: 3 E 10 4 Nöjd! (3) (3+14=17) (3+1+10=14) (3+1+10+4=18) Spelare 2 drar i tur och ordning: K (13) 2 (13+2=15) 9 (13+2+9=24) Förlust för spelare 2 (24 > 21)

Uppgift Uppgift: skriv program som simulerar tjugoett mellan två spelare: vs människa Spelar först Alla val läses från tangentbordet dator Spelar efter människan Gör sina val intelligent : Slutar så fort den fått minst lika många poäng som människan

Exempelkörning Exempelkörning Valkommen till tjugoett Du fick Spader 7 och har 7 poang Ett kort till? j Du fick Klover 10 och har 17 poang Ett kort till? n Datorn fick Hjarter 4 Datorn fick Spader Ess Datorn har 18 poang Du forlorade! Nytt parti? j Du fick Ruter 10 och har 10 poang Ett kort till? j Du fick Spader Knekt och har 21 poang Du vann! Nytt parti? j

Idé klasser Klasser: Tjugoett (huvudprogram) Spelare (håller reda på hand och poäng) Dator (spelar när det är datorns tur) Manniska (spelar när det är människans tur) Kortbunt (en hög av 0 52 stycken spelkort) Kort (ett spelkort; har valör och färg)

Idé huvudklass Klassen Tjugoett Samordnar spelet Talar om för varje spelare när det är dess tur Avgör vem som vinner genom att läsa av spelarnas poängställning Varje spelare sköter själv sin omgång Har / känner till (skillnaden är liten) Kortlek Två olika spelare

Idé spelarklasser Klassen Spelare Har: Sin egen hand Sina egna poäng Känner till: En kortlek ( utanför sig själv ) Referens till den gemensamma leken Metod för att ta kort från leken Inga objekt av klassen spelare skapas! Används endast som basklass för en människo-klass och en dator-klass.

Idé spelarklasser Klassen Manniska Är: en sorts Spelare Metod för att låta spelaren spela en omgång läser in val från tangentbordet Klassen Dator Är: en sorts Spelare Metod för att låta datorn spela en omgång drar automatiskt kort tills den är nöjd Känner till: en människa så att den vet när den ska sluta dra kort

Idé kortklasser Klassen Kortbunt Har: upp till 52 kort antalet kort kvar i bunten Finns tre stycken: spelarnas händer + högen Metoder för att: dra det översta kortet slänga alla kort ta en ny lek med 52 kort blanda alla kort Klassen Kort Håller reda på ett spelkort Har: färg, valör