Kurs i programmering Java Uppgifter

Relevanta dokument
Applets med komponenter

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Mer om grafiska komponenter. Händelsestyrda program

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Datalogi I, grundkurs med Java 10p, 2D4112, Tentamen 29 november 2003, svar och lösningar

Föreläsning 3: Händelsestyrda program och användargränssnitt

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

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

Lektion Händelsehanterare

C++ Slumptalsfunktioner + switch-satsen

Tentamen FYTA11 Javaprogrammering

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Handbok Kiriki. Albert Astals Cid Eugene Trounev Översättare: Stefan Asserhäll

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Programmering. Scratch - grundövningar

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

JAVAUTVECKLING LEKTION 4

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

Extramaterial till Matematik X

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

PROGRAMMERINGSTEKNIK TIN212

Lite logik. Kap 6: Sid 2

Lösningsförslag till tentamen FYTA11 Javaprogrammering

Objektorienterad programmering Föreläsning 2

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

Visual Basic, en snabbgenomgång

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

Lab5 för prgmedcl04 Grafik

Frames, menyer och GUI-program

Extramaterial till Matematik Y

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h

Händelsestyrda program

2D1342 Programkonstruktion för F1, ht 2006

Laboration 15 Grafiskt användargränssnitt

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) Ansvarig: Jan Skansholm, tel eller

SP:PROG3 HT12 Tenta

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random

Chapter 4: Writing Classes/ Att skriva egna klasser.

Användarhandledning Version 1.2

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert AWT. Paket för hantering av grafik

FactoryCast HMI. Premium & Quantum PLC. Applets

HI1024 Programmering, grundkurs TEN

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel

Modern Programmering (2546) Tentamen lördag

Manual 1.0 för att posta nyheter på IF Åland orienterings hemsida (

Laboration 13, Arrayer och objekt

JAVAUTVECKLING LEKTION 8

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

Tentamen i Programmering

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Med nedanstående anvisningar kan man mycket snabbt skapa upp en cup med bibehållna inställningar från tidigare gjorda cuper.

Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016

Properties. Användbara metoder som kan anropas i propertychanged:

Den hungriga fisken. Vi ska göra ett spel om en hunrgig fisk! Styr den stora Hungriga Fisken och försök att äta upp alla kräftor som simmar omkring.

public class Main extends MovieClip { var hillpage:hillpage; var ifpage:ifpage;

Gör så här för att rapportera:

Laboration 3. Redovisning Uppgifterna skall vara demonstrerade och godkända av en handledare senast måndag 22/2.

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

"if"-satsen. Inledande programmering med C# (1DV402)

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Gissa ordet, tutorial

kl Tentaupplägg

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer

Resultatrapportering via Studentportalen

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Tentamen i Introduktion till programmering

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

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

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

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Interaktiva berättelser med Twine

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

Extra inställningar i Mozilla Thunderbird

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Att ladda ner från legimus.se

Lösningsförslag till tentamen

LÄRARHANDLEDNING. Eleverna kan två och två eller i större grupper på ett lekfullt sätt träna följande: Talinnehåll Addition Subtraktion Multiplikation

Bedömningsmall för kontrollskrivning EDAA45 Programmering, grundkurs

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

TDIU Regler

Formulär i Sitecore. Innehåll. Inlogg sitecore:

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Övningar i JavaScript del 4

Föreläsning 3: Booleans, if, switch

Föreläsning 15 (16) Historik (java.awt) Historik (javax.swing) Introduktion till Swing

Digitalt lärande och programmering i klassrummet

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets

F4. programmeringsteknik och Matlab

Introduktion till PHP

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

På den här övningen ska vi träna på att förflytta en figur med hjälp av piltangenterna.

Tentamen i Grundläggande Programvaruutveckling, TDA548

Transkript:

And Action Nu när du skapat olika komponenter ska vi se till att något händer det då vi exempelvis trycker på en knapp. För att hantera det som sker kommer vi använda Actionlistener Övningarna som följer görs alla var för sig! Vill du ha tydliga exempel och förklaringar utöver de som ges här se http://www.java-examples.com/ Applets And AWT Ovning5_1 1. Börja med grunden för en ny applet enligt arbetsblad 4 2. Skapa en knapp och placera den även i init-metoden 3. Skapa en array för text. Ge den innehållet = Ett, Tryck två, Tryck tre ; 4. Du behöver också en minnesplats för heltal med startvärde 0. Nu har du en knapp som är förberedd så att något ska kunna ske när du trycker på den. För att detta ska kunna ske behöver du nu göra följande: 1. Längst upp i ditt dokument lägger du till: import java.awt.event.*; 2. Direkt efter din public class lägger du till: implements ActionListener 3. Inom init-metoden efter där du skapat din knapp skriver du: DinKnappsNamn.addActionListener(this); Detta kommer vara din lyssnare som fångar upp om någon trycker på knappen. 4. För att få något att ske då knappen tryckts behöver du skapa en ny metod efter initmetodens område: public void actionperformed (ActionEvent e) //Metod för att fånga händelse if (X < 3 ) OBS! X ersätts med namnet på din minnesplast för heltal DinKnappsNamn.setLabel(dinTextArraysNamn[X]); // läser data från text[postion] X ++ // flytta ett steg i text-arrayen else Inom detta område vad som ska ske när metoden actionperformed X = 0; används av programmet DinKnappsNamn.setLabel(dinTextArraysNamn[X]); That s IT Testa din knapp och se vad som händer! Ändra och lägg till några ord/meningar i text-arrayen. Gör nödvändiga förändringar. För att göra det lite roligt så kan exempelvis första texten vara: Dont t press me Vad händer sen om någon ändå trycker Skicka in arbetet! Vänd för nästa uppgift!

Ovning5_2 Denna gång ska vi åter sätta action på två knappar men även på en textetikett Label 1. Skapa grunden för en ny applet enligt tidigare. Lägg till så du i programmet kan använda Actionlistener 2. Två knappar tack med texten Räkna på den första knappen och Nollställ på den andra. 3. En minnesplats för heltal. Ge den namnet AntalKlick och innehåll 0. 4. En minnesplats för textetikett med texten Du har klickat + AntalKlick + gånger 5. Se till att knapparna och textetiketten skapas inom init-metoden 6. add actionlistener till de båda knapparna. En i taget. 7. Skapa metoden för actionperformed (se förra uppgiften) 8. Då vi nu har två knappar istället för bara en som i den förra uppgiften måste metoden för hur vi fångar upp vilken knapp som trycks förändras något. Detta sker i if-satserna enligt följande: if (e.getsource ( ) = = namndinknappett ) AntalKlick++ ; namndintextetikett.settext ( Du har klickat + AntalKlick + gånger ); if (e.getsource ( ) = = namndinknapptvå ) AntalKlick = 0 ; namndintextetikett.settext ( Du har klickat + AntalKlick + gånger ); Testa och om appleten fungerar skicka in! Ovning5_3 I denna övning ska du skapa en knapp, två textetiketter och två kryssrutor Checkbox Du ska även ha möjligheten att kunna slumpa fram två tal och spara dessa i egna minnesplatser.(kurs A arb.blad 3) Detta ska ske när programmet körs: Du ska ha en knapp med texten Slumpa. De två etiketterna ska kunna visa de slumpade värdena. (ett värde/etikett) De två kryssrutorna kan ha texten Stopp 1 resp. Stopp 2. När programmet körs ska tal slumpas fram och visas var gång en knapptryckning görs. Om en kryssruta markeras ska ingen ny slump göras och presenteras för den etikett närmst innan kryssrutan. Bygginstruktioner följer på nästa sida

Bygginstruktioner 1. Skapa åter grundmall enligt tidigare. 2. Skapa de minnesplatser som beskrivits innan för denna övning 3. I init-metoden lägger du först din knapp samt actionlistener till denna. 4. Add sedan en textetikett och en kryssruta 5. följt av din andra textetikett och din andra kryssruta 6. I metoden för actionpermed ska du ha en if-sats som känner när du trycker på din knapp Inom den förra if-satsen skapar du en ny if-sats med följande syntax if ( dinförstakryssruta.getstate( ) = = false ) din slump-syntax din textetikett med nya slump-värdet (se förra uppgiften) //getstate( ) kommer känna av om kryssrutan är markerad (true) eller avmarkerad (false) 7. Skapa en if-sats till som den ovan men nu för din andra kryssruta och slumpvärde 2 Testa och om det fungerar Skicka in! Ovning5_4 Den verkliga utmaningen. Du ska skapa ett digitalt Yatzy spel. Använd alla dina kunskaper som du fått i de tidigare uppgifterna. Ett tips är att du spelar spelet på riktigt. Funderar och skriv ner genom att skapa en tankekarta med vilka komponenter du behöver, hur många av de olika osv. På nästa sida får du en fullständig beskrivning kring regler för Yatzy.

YATZY Mål: Att få en fungerande applet för att kunna spela en omgång Yatzy Regler för Yatzy: Spelet ska använda fem Tärningar som kan kastas tre gånger i varje omgång. Om man inte vill kasta om någon tärning ska man kunna markera denna/dessa och kasta om övriga. Man ska kunna välja var tärningarnas summa ska placeras och programmet ska förstå vilka tärningars summor som ska placeras på valt fält. Spelet ska efterhand addera ihop summorna. Om summan för de första sex fälten (1-6) är lika med eller mer än 63 poäng så ska bonuspoäng adderas till slutsumman. Genom en metod som ni väljer så ska poängen kontrolleras så att den blir riktig i det fält där den ska presenteras. Innebär att om man fått tre sexor så ska summan i fältet för 6:or bli 18 poäng och inte 15 eller 16 osv. Om man får en dålig omgång ska man kunna välja att sätta noll poäng i valfritt fält. Hjälpmedel: Tidigare övningar och Internet dock ej tillåtet att ladda ner färdiga filer och använda sig av dem rakt av Men många nyttiga exempel kan fås på: http://www.java-examples.com/applets-and-awt Vid arbete i grupp ska alla kunna förstå vad var del av kodningen gör!!! 1:or 2:or 3:or 4:or 5:or 6:or Summa Bonus +50 p 1par 2par tretal fyrtal Liten 15 p straight Stor 20 p Straight Kåk Chans Yatzy 50 p Slut summa Exempel på fält för att räkna samman summor. Redovisning: I javafilen ska stå med namn och klass som kommentar Färdig Java-fil skickas in! // kommentar. Tips: Försök att dela upp programmet i bitar och sedan bygga dessa bitar en åt gången för att se att de fungerar. Ex. I programmet är det tänkt att ni ska slumpa fram talen på fem tärningar. Börjar med att få en tärning till att fungera och att dess tal sparas i en variabel(minnesplats). När de bitarna fungerar kan man öka på med fler bitar efterhand som man ser att de fungerar. Med andra ord: Dela upp i små enskilda program och när dessa sedan fungerar ~ sätt samman till ett program.

Lycka till!!! Mickey