COMPUTERSPIL 1. Opgave 1. Opgave 2
|
|
- Jette Thorsen
- 6 år siden
- Visninger:
Transkript
1 COMPUTERSPIL 1 I løbet af de kommende fem uger skal I programmere et computerspil, hvor spillerne rejser rundt mellem byer i forskellige lande og indsamler point. Der er en delaflevering hver uge, hvor I tilføjer nye ting til spillet ofte baseret på ting, der er gennemgået i de nærmest foregående forelæsninger (og kapitler i BlueJ-bogen). I denne første delaflevering skal I bl.a. modellere byerne og vejene imellem dem, samt de lande byerne ligger i. Når I er færdige, vil I have den første version af et computerspil, hvor den grafiske brugergrænseflade viser et netværk over udvalgte byer i Norden og vejene imellem dem. Der er forholdsvis meget at lave, men langt de fleste af tingene burde på nuværende tidspunkt være lette at implementere. For at spare tid må I (denne ene gang) rent undtagelsesvis vente med at dokumentere de klasser, konstruktører og metoder, som I skriver. I Computerspil 2 bliver der rig lejlighed til at indhente det forsømte. Start med at oprette et BlueJ projekt med navnet MyNordicTraveller. Opgave 1 Implementér klassen City, der repræsenterer en by, man kan besøge. En by har et navn, der er repræsenteret ved en tekststreng, samt en værdi, der er repræsenteret ved et heltal. Opret City klassen med tre feltvariabler name, value og initialvalue samt accessor metoder getname og getvalue for de to første. Herudover skal klassen have to mutator metoder: void changevalue(int amount) // Adderer amount til value void reset() // Resetter value til initialvalue Klassen skal have en konstruktør på formen: City(String name, int value) hvor den første parameter bruges til at initialisere feltvariablen name, mens den anden parameter bruges til at initialisere de to sidste feltvariabler. Klassen skal implementere interfacet Comparable<City>, dvs. at I skal lave en compareto metode, der definerer byernes sorteringsrækkefølge (alfabetisk efter navn). Opgave 2 Implementér Road klassen, der repræsenterer en vej mellem to byer. En vej har referencer til de to byer (City objekter) den forbinder. Den har også en længde (repræsenteret som et heltal), der angiver hvor lang tid, det tager at rejse mellem de to byer. Opret klassen Road med tre feltvariabler from, to og length samt accessor metoder getfrom, getto og getlength for disse. Der skal ikke være mutator metoder, idet Road objekter er immutable (uforanderlige). Klassen skal have en konstruktør på formen: Road(City from, City to, int length) Klassen skal implementere interfacet Comparable<Road>, dvs. at I skal lave en compareto metode, der definerer vejenes sorteringsrækkefølge. Først sorteres (alfabetisk) efter navnet på de byer, hvor vejene starter, og hvis to (eller flere) veje starter i samme by sorteres (alfabetisk) efter de byer, hvor vejene slutter. 1
2 Opgave 3 Implementér klassen Position, der repræsenterer en spillers position. Klassen har fire feltvariabler: from // Den by spilleren kommer fra to // Den by spilleren er på vej til distance // Den afstand der er tilbage total // Den totale afstand mellem de to byer og fem accessor metoder: City getfrom() City getto() int getdistance() int gettotal () boolean hasarrived() // Returnerer (distance == 0) Klassen skal have en konstruktør på formen: public Position(City from, City to, int distance) hvor parameteren distance også bruges til at initialisere feltvariablen total. Herudover har Position to mutator metoder, som nu skal implementeres: boolean move() // Tæller distance 1 ned hvis distance > 0 // Returværdien angiver om distance ændres void turnaround() // Vender spillerens bevægelsesretning uden at spilleren flyttes Opgave 4 Implementér klassen Country, der repræsenterer et land med et netværk af byer og veje, der modelleres via en feltvariabel af typen Map<City, List<Road>>. Hver by afbildes (mappes) i et element af typen List<Road>, dvs. en liste indeholdende de veje, der starter i den pågældende by. Opret klassen Country med to feltvariabler name og network der hhv. har typerne String og Map<City, List<Road>>. Klassen skal have en konstruktør på formen: Country(String name, Map<City, List<Road>> network) Implementér nedenstående accessor metoder (hvor algoritmeskabelonerne fra kurset første halvdel kan være nyttige): String getname() // Returnerer landets navn Map<City, List<Road>> getnetwork() // Returnerer værdien af network List<Road> getroads(city c) // Returnerer alle veje, der starter i c List<City> getcities() // Returnerer sorteret liste af alle byer i landet City getcity(string name) // Returnerer byen med det angivne navn Hvis byen c ikke findes i det pågældende land, skal getroads metoden returnere en tom liste. Analogt skal getcities returnere en tom liste, hvis landet ikke har nogen byer, og getcity skal returnere null, hvis den angivne by ikke findes i landet. Metoden containskey i interfacet Map kan være nyttig, når I skal undersøge om en by ligger i landet. Via konstruktørkaldet: new ArrayList<>(network.keySet()) 2
3 kan I skabe en arrayliste med alle landets byer. Dernæst sorteres den skabte arraylisten via klassemetoden Collections.sort (der anvender den compareto metode, som I skrev i opgave 1). Bemærk, at signaturerne for metoderne bruger typerne List og Map, der er interfaces og mere generelle end klasserne ArrayList og HashMap. Vi bruger kun de konkrete klasser, når vi instantierer et objekt, som i new ArrayList<Road>(). Herudover skal klassen have en mutator metode: void reset() // Resetter alle landets byer Når I skal afteste ovenstående metoder, har I behov for skabe Country objekter. Dette er lidt bøvlet, idet klassens konstruktør har en parameter af typen Map<City, List<Road>>. En første løsning er at bruge null som parameterværdi. I opgave 7 stilles en mere sofistikeret løsning til rådighed. Opgave 5 Når en spiller ankommer til en by, modtager hun en bonus, der er en del af byens værdi (som samtidigt formindskes tilsvarende). Bonussens størrelse udregnes i Country klassen, idet vi senere vil introducere lande, hvor udregningen foretages på en anden måde. Hver by skal derfor have en feltvariabel country, der fortæller, hvilket land byen ligger i. Introducér denne feltvariabel (sammen med en accessor metode getcountry) og tilføj en parameter til konstruktøren for City klassen, således at man kan angive, hvilket land en by ligger i: City(String name, int value, Country country) I Country klassen implementeres nedenstående metode: int bonus(int value) // Beregner størrelsen af den bonus, som spilleren modtager Hvis parameterværdien er positiv, returneres et tilfældigt heltal i intervallet [0, value]. Ellers returneres 0. I City klassen implementeres en metode: int arrive() // Fratrækker den udbetalte bonus fra byens værdi der kaldes (af Game klassen, der introduceres senere), hver gang en spiller ankommer til en by. Metoden kalder bonus metoden i det land, som byen tilhører (med en parameterværdi, der er lig med byens værdi). Derefter fratrækkes den beregnede bonus fra byens værdi. Bonussen returneres som returværdien af arrive metoden. Når I skal afteste ovenstående metoder, har I behov for skabe City objekter, hvilket igen kræver at I kan lave Country objekter. Som beskrevet i slutningen af opgave 4, kan dette gøres ved at bruge null som parameterværdi i Country klassens konstruktør. Opgave 6 Implementér nedenstående metoder i Country klassen: void addroads(city a, City b, int length) // Tilføjer veje mellem a og b Position position(city city) // Returnerer byens position Position readytotravel(city from, City to) // Gør klar til at påbegynde rejse Den første metode opretter kun veje der starter i det pågældende land. Hvis begge byer ligger i landet oprettes der veje i begge retninger. Hvis én af byerne ligger i landet oprettes kun den vej, der starter i landet. Hvis ingen af byerne ligger i landet oprettes der ingen veje. Metoden containskey i 3
4 interfacet Map kan være nyttig, når I skal undersøge om en by ligger i landet. De oprettede veje tilføjes til landets network. Den anden metode returnerer byens position, dvs. et Position objekt på formen new Position(city, city, 0) svarende til at spilleren står i byen city uden at have valgt en vej mod en anden by. Dette er også tilfældet, hvis byen slet ikke ligger i landet. Den tredje metode returnerer et Position objekt, der repræsenterer, at spilleren er klar til at påbegynde rejsen fra from til to (men stadig står i from). Hvis from og to er samme by (afgjort ved hjælp af equals), returneres byens position. Hvis der ikke er en direkte vej fra from til to returneres from s position. Dette er også tilfældet, hvis from slet ikke ligger i landet. Opgave 7 Brugen af null som parameterværdi i Country klassens konstruktør, begrænser de tests der kan laves uden at få en NullPointerException. For at omgå dette problem, har vi lavet en JUnit testklasse, CGTest, der indeholder en Test Fixture, med to Country objekter, syv City objekter og et antal Road objekter, der realiserer nedenstående netværk, hvor tallene i parenteserne angiverne byernes initiale værdi, mens tallene på vejene angiver deres længde: Klassens downloades zip og filen CGTest.java tilføjes til jeres projekt (mens BlueJ er lukket). Når I herefter kompilerer, dukker der en grøn klasse op med navnet CGTest. Bemærk, at CGTest bruger addroads metoden i Country klassen, og den vil derfor først virke, når opgave 6 er færdiggjort. Ved at højreklikke på den grønne CGTest klasse, kan I vælge kommandoen Test Fixture to Object Bench, hvorefter I får nedenstående 9 røde kasser, der repræsenterer Country og City objekterne i Test Fixturen. Brug ovenstående Test Fixture til at lave en mere omfattende aftestning af de metoder, som I har lavet for Country og City klasserne. 4
5 Opgave 8 Download BlueJ projektet NordicTraveller (zip) og tilføj de fire klasser, som I selv har lavet til projektet (CGTest ligger der allerede). Tilføjelsen gøres ved at kopiere filerne City.java, Road.java, Country.java og Position.java (fra jeres gamle projektfolder) ind i den nye projektfolder (mens BlueJ er lukket). Det nye projekt indeholder følgende klasser: Game styrer interaktionen mellem spillere, byer og lande. GUI indeholder den grafiske brugergrænseflade (hvor man kan se landene, byerne, vejene imellem dem og spillernes positioner). Generator skaber et Game objekt samt en række lande og byer, samt forbindelser mellem disse. Settings gemmer de forskellige options, som brugeren kan sætte. Player repræsenterer den spiller, der styres af brugeren via musen og den grafiske brugergrænseflade. RandomPlayer repræsenterer en computerstyret spiller, der altid vælger en tilfældig vej. GreedyPlayer repræsenterer en computerstyret spiller, der altid vælger den vej, hvor destinationsbyen har højest værdi. SmartPlayer repræsenterer en computerstyret spiller, der vælger den vej, der på sigt giver flest penge. CGTest indeholder en Test Fixture til konstruktion af et simpelt netværk (som beskrevet i foregående opgave). Test Fixturen er lidt forskellig fra den, som I brugte i opgave 7, idet den nu også indeholder et Game objekt. Tester indeholder en klassemetode til automatisk test af jeres kode. Ovenstående klasser må I kun modificere, når I får eksplicit besked herom. I skal nu modificere Country klassen. Tilføj en ny feltvariabel game af type Game og implementér nedenstående accessor og mutator metoder: Game getgame() void setgame(game game) Modificér dernæst bonus metoden, så de tilfældige værdier beregnes via det Random objekt, der er skabt af det Game objekt, som game refererer til. Dette kan fra Country klassen tilgås via metodekaldet: game.getrandom() Hvis I har kodet jeres fire klasser korrekt, kan det samlede projekt nu kompileres. Opgave 9 Kald klassemetoden creategameboard i GUI klassen. Metoden opretter de nødvendige lande, byer og veje, og I vil nu se nedenstående vindue med et kort over Norden (nogle af vejene er færgeruter). Man starter et spil ved at trykke på New game knappen. Spillet kan på ethvert tidspunkt pauseres ved at trykke på Pause game knappen. Teksten på knappen skifter så til Resume game, og et nyt tryk på knappen genoptager spillet. Spillet kan afbrydes ved at trykke på Abort game knappen. Spillets hastighed (dvs. hvor hurtigt spillerne bevæger sig) kan styres ved at klikke på Game speed knapperne i nederste højre hjørne. 5
6 De store cirkler repræsenterer byer. Farven i cirklen angiver byens værdi med følgende indkodning: Når musen placeres oven på en by, kan man (over Game speed knapperne) se navnet på byen, samt dens præcise værdi. Stregerne mellem byerne angiver veje (eller færgeruter), og man kan beregne længden af en vej ved at tælle antallet af prikker på vejen og lægge 1 til. De små cirkler angiver spillere. Ude til venstre kan man se nogle aflange rektangler, der angiver, hvor mange penge, hver spiller har indsamlet. Farverne på rektanglerne matcher farverne på spillernes cirkler. Det mørkeblå rektangel i øverste venstre hjørne viser, hvor meget tid, der er tilbage i spillet. Når tiden udløber, kan ingen spillere længere bevæge sig, og vinderen er den med flest penge. Den røde spiller (GUI Player) styres af den person, der spiller, mens de øvrige spillere styres af programmet. Man styrer den røde spiller ved at klikke på byer. Hvis den røde spiller befinder sig mellem to byer, vil et klik på en af disse byer, få spilleren til at bevæge sig mod den angivne by. Hvis den røde spiller befinder sig i en by, vil et klik på en naboby, få spilleren til at bevæge sig mod den angivne by (forudsat, at der findes en direkte vej mellem de to byer). 6
7 Options knappen i nederste højre hjørne åbner nedenstående dialogboks, hvori man kan foretage forskellige valg. De aktuelle valg huskes fra spil til spil (også selv om programmet lukkes ned i mellemtiden). Man kan blandt andet vælge, hvilke automatiske spillere man vil kæmpe imod. Random Player vælger en tilfældig vej, Greedy Player vælger den vej, hvor destinationsbyen har højest værdi, mens Smart Player vælger den vej, der på sigt giver flest penge. Man kan ikke trykke på Options knappen, mens et spil er i gang. Opgave 10 I skal nu afprøve, om de klasser, som I har programmeret, fungerer korrekt. Kald klassemetoden performtest i Tester klassen. Metoden: afvikler et spil (med høj hastighed og forudbestemte tilfældige valg, dvs. fast seed værdi), kontrollerer at alle byer og alle spillere har de rigtige værdier undervejs. Hvis alle værdier er korrekte returneres true, ellers returneres false. I sidstnævnte tilfælde udskrives den førstfundne fejl på terminalen. Hvis testmetoden returnerer false, skal I gennemgå jeres kode og rette den til, så testmetoden kommer til at returnere true. Bemærk, at performtest forudsætter, at I ikke laver unødvendige kald af metoderne i Random objektet. Hvis f.eks. bonus metoden laver to kald af nextint for a beregne bonussen, vil de pseudotilfældige tal komme ud af sync, og performtest vil fejle. I skal også teste jeres projekt ved hjælp af et automatisk debugningsværktøj, som vi har udviklet til formålet. Det udfører ovennævnte test, samt nogle forprogrammerede regressiontests. Hvis der er fejl i projektet, skal I forsøge at rette disse. Afprøv spillet Spil nogle spil og afprøv de forskellige faciliteter i spillet. Prøv at finde nogle gode strategier for at samle flest mulige penge sammen. I de næste afleveringer skal I: Dokumentere jeres klasser, konstruktører og metoder samt lave automatiske regression tests for alle konstruktører og metoder (Computerspil 2). Bruge nedarvning og dynamic method binding til at strukturere jeres kode, således at der er flere forskellige slags lande og flere forskellige slags byer (Computerspil 3). Udvide den grafiske brugergrænseflade med nogle ekstra knapper, labels og tekstfelter (Computerspil 4). Lave automatisk logning af et spil ved at gemme en passende tekstfil, der så senere kan genindlæses og afspilles for at genskabe det optagne spil (Computerspil 5). 7
COMPUTERSPIL 1. Opgave 1
COMPUTERSPIL 1 I løbet af de kommende fem uger skal I programmere et computerspil, hvor spillerne rejser rundt mellem byer i forskellige lande og indsamler point. Der er en delaflevering hver uge, hvor
Læs mereDRONNINGER (QUEENS) Opgave 1
DRONNINGER (QUEENS) I denne opgave vil vi beskæftige os med det såkaldte 8-dronningeproblem, hvor man skal placerede 8 dronninger på et 8 x 8 skakbræt, således at ingen af dronningerne kan slå hinanden.
Læs mereForelæsning Uge 12 Mandag
Forelæsning Uge 12 Mandag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse
Læs mereForelæsning Uge 12 Torsdag
Forelæsning Uge 12 Torsdag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse
Læs mereForelæsning Uge 10 Torsdag
Forelæsning Uge 10 Torsdag Opremsningstyper Enumerated types Forskellige teknikker til test og debugging Når man tester undersøger man, om opførslen (semantikken) er den ønskede Når man debugger (afluser),
Læs mereHar kun én enkelt abstract metode De steder, hvor man skal bruge et objekt, hvis type er et funktionelt interface, kan man i stedet bruge en lambda
Forelæsning Uge 12 Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser af En abstrakt klasse kan indeholde
Læs mereForelæsning Uge 4 Torsdag
Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereForelæsning Uge 11 Torsdag
Forelæsning Uge 11 Torsdag Nedarvning En klasse kan være en subklasse af en anden Det betyder at subklassen arver superklassens feltvariabler og metoder Object klassen Superklasse for alle klasser Indeholder
Læs mereForelæsning Uge 11. Nedarvning. Object klassen. Projektopgave om computerspil
Forelæsning Uge 11 Nedarvning En klasse kan være en subklasse af en anden Det betyder at subklassen arver superklassens feltvariabler og metoder Object klassen Superklasse for alle klasser Indeholder en
Læs mereBILLEDREDIGERING (IMAGES)
BILLEDREDIGERING (IMAGES) I dette projekt skal I redigere gråtonebilleder ved hjælp af nogle af de teknikker, der blev beskrevet i en forelæsning. Hent BlueJ-projektet Image (zip) og husk at pakke det
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereForelæsning Uge 11. Nedarvning. Object klassen. Projektopgave om computerspil
Forelæsning Uge 11 Nedarvning En klasse kan være en subklasse af en anden Det betyder at subklassen arver superklassens feltvariabler og metoder Object klassen Superklasse for alle klasser Indeholder en
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereUgeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Læs mereForelæsning Uge 11 Mandag
Forelæsning Uge 11 Mandag Nedarvning En klasse kan være en subklasse af en anden Det betyder at subklassen arver superklassens feltvariabler og metoder Object klassen Superklasse for alle klasser Indeholder
Læs mereHar kun én enkelt abstract metode De steder, hvor man skal bruge et objekt, hvis type er et funktionelt interface, kan man i stedet bruge en lambda
Forelæsning Uge 12 Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser af En abstrakt klasse kan indeholde abstrakte metoder, hvor kun hovedet er angivet, mens
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet
Læs mereForelæsning Uge 4 Torsdag
Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder
Læs mereb) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.
Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereKlasser og objekter. (Afsnit i manualen)
Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Forskellige slags variabler Afleveringsopgave:
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Information om køreprøven i uge
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:
Læs mereDANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Læs mereKommuniker: Gennem Valg
Kursusmappen Kommuniker: Gennem Valg Øvelser Mikro Værkstedet Indhold Indhold... 2 Start Kommuniker: Gennem Valg... 3 Øvelse 1 Åbn Kommuniker: Gennem Valg... 3 Øvelse 2 Åbn en aktivitet... 4 Øvelse 3 Udskrivnings-ikon
Læs mereFang Prikkerne. Introduktion. Scratch
Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion
Læs mereForelæsning Uge 10 Mandag
Forelæsning Uge 10 Mandag Opremsningstyper Enumerated types Forskellige teknikker til test og debugging Når man tester undersøger man, om opførslen (semantikken) er den ønskede Når man debugger (afluser),
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereAdobe Acrobat Connect brugergrænsefladen
Adobe Acrobat Connect brugergrænsefladen Adobe Connect er et webbaseret videokonferenceværktøj, der giver mulighed for online, synkron kommunikation, deling af filer, skærm og whiteboard, gennemførelse
Læs mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Information om køreprøven i uge
Læs mereForelæsning Uge 4 Torsdag
Forelæsning Uge 4 Torsdag Klassevariabler og klassemetoder Levetid for variabler og parametre Virkefeltsregler Projektopgave Kaninjagt Lommeregner (for MAT studerende) Klassevariabler og klassemetoder
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:
Læs mereSådan bruger du planlæggeren
Først skal skolen oprettes Når du kommer fra temaugen.dk eller direkte ind via app.temaugen.dk, ser du denne side. Her kan du se om din skole er blevet oprette af en kollega - hvis ikke kan du gå videre
Læs mereAnvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Køreprøven i uge 7 Form Forberedelse
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList
Læs mereVejledning til Photo Story 3
Vejledning til Photo Story 3 Start på billedfortælling Når du har startet programmet, får du dette vindue. Du får 3 valg: 1. Opret en ny fortælling. 2. Redigere et projekt 3. Afspille en fortælling. Den
Læs mereForelæsning Uge 6 Mandag
Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring
Læs mereDMX styring med USB-interface
DMX styring med USB-interface Introduktion...2 DMX bibliotek...3 Programmering af kanaler...7 Sådan skabes et show/en lyssekvens...11 Introduktion DMX LightPlayer er en avanceret men meget brugervenlig
Læs mereDatalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning
Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:
Læs mereVejledning KPK Online Prøverum
Vejledning KPK Online Prøverum INDHOLD Introduktion side 2 Funktionsliste side 2 Få adgang til systemet side 3 Opload dine billeder side 4 Sådan bruges systemet side 5 Gem dine eksempler side 7 Side 1/7
Læs mereBrugervejledning til. Vejleder
Brugervejledning til Vejleder UDARBEJDET AF DINO BABIC 12. AUGUST 2016 ADGANG TIL LOGBOGEN... 2 MIN PROFIL... 6 ÆNDRING AF KODEORD... 7 KALENDER... 8 KOMPETENCEOVERSIGT... 9 UDDANNELSESLÆGER... 10 KOMPETENCER
Læs mereOpgavestyring, op og download af mange filer
1 Opgavestyring, op og download af mange filer Det er muligt at downloade alle besvarelser i en arbejdsgang til din PC, hvorefter der kan rettes og kommenteres på besvarelserne, til sidst kan alle de kommenterede
Læs mereIndividuelle pædagogiske handleplaner for Daginstitution/ Dagpleje. Tabulex Læreplaner
Individuelle pædagogiske handleplaner for Daginstitution/ Dagpleje Tabulex Læreplaner Indhold IST Individuelle pædagogiske handleplaner... 3 Log på og arbejdsgang... 3 Menupunkt Skabeloner... 4 Beskrivelse
Læs mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering (bl.a. brug af for-løkker) Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt)
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver
Læs mereSådan arbejder du med din forside
Sådan arbejder du med din forside Din forside på hjemmeside består af forskellige slags indhold og med det formål at fremhæve indhold som du har på dine undersider. Hvor er min forside? Øverst i dit sidetræ
Læs mereKMD vejledning til Min Kørsel (Web APP)
Web appen Min Kørsel bruges til indberetning af medarbejderens egen kørsel. Kørselsregistrering indtastes manuelt af brugeren med registrering af start og stop-adresse. Hertil er der mulighed for automatisk
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList klassen Gør det let at lave en objektsamling (collection) med et variabelt antal elementer Der er mange andre slags objektsamlinger (se Collection interfacet i JavaDoc)
Læs mereVejledning til Formandsportalen
Vejledning til Formandsportalen Startside http://mail.kolonihave.dk/formandsportal/portal/portal.aspx Der logges ind via dit medlemsnummer og kodeord. Medlemsnummeret er det brugernavn, som du fik tilsendt
Læs meredintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser
Læs mereForelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList Collection (samling af objekter) med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel
Læs mereVejledning til Photofiltre nr.204 Side 1 Opsætning af sang hvor der bruges både Libre Office Draw og Photofiltre
Side 1 Denne vejledning er om hvordan man sætter en sang op i Draw og tilpasser et billede i Photofiltre 7 så det passer til forsiden. Der bruges en skabelon i Draw som du henter på min hjemmeside Så vi
Læs mereVejledning og beskrivelse til kørselsappen Min Kørsel
Kort beskrivelse Det er muligt via en ios, Android eller Windows baseret app, for medarbejderen at foretage indberetning af egen kørsel. Kørsel kan registreres direkte fra medarbejderens smartphone eller
Læs mereIntroduktion til ActionScript
Introduktion til ActionScript Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling på
Læs mereclass Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.
Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:
Læs mereOktober Dokumentpakker
Oktober 2017 Dokumentpakker Dokumentpakkerne er et værktøj til at udskrive dynamiske breve, som har en standardtekst i brevet, og hvor der automatisk sættes blandt andet patientens navn, adresse og aftaletid
Læs mereVejledning til opgraderet version af Danmarks Arealinformation
Vejledning til opgraderet version af Danmarks Arealinformation Følgende funktioner virker anderledes i HTML5-versionen end i Silverlight-versionen: 1) Vælg/tænd kortlag... 2 2) Tilføj kortlag fra Lagkatalog...
Læs mereSådan bruger du planlæggeren
Først skal skolen oprettes Når du kommer fra temaugen.dk eller direkte ind via app.temaugen.dk, ser du denne side - Her kan du se om din skole er blevet oprette af en kollega, hvis ikke kan du gå videre
Læs mereIndholdsfortegnelse. Indholdsfortegnelse.. side 2. Adgang til webgraf 3. Opslag adresse... 4. Styring af layout.. 5. Zoom funktioner..
Indholdsfortegnelse Indholdsfortegnelse.. side 2 Adgang til webgraf 3 Opslag adresse... 4 Styring af layout.. 5 Zoom funktioner.. 6 Panorere på skærmen. 7 Information om grafikken.... 8-10 Print et udsnit.....
Læs mereDaglig brug af Jit-klient
Daglig brug af Jit-klient Indholdsfortegnelse Opret person...3 Alternativ oprettelse...3 Søgning af personer...4 Send besked...5 Vælg besked...6 Opret mappe...6 Opret skabelon...6 Slet mapper og skabeloner...6
Læs mereTable of Contents. Prøveværktøj
PRØVEVÆRKTØJ Table of Contents Opret prøve og tilpas dit fronter-rum... 3 Opret prøve... 4 Tilføj prøveværktøj... 6 Fanen "Indstillinger"... 11 Indstillinger for vindue... 15 Mappe til billeder/multimedier...
Læs mereIndhold. Tablet Guides
Indhold Start tablet og Arbejdsmiljøbog... 2 Grund indstillinger... 3 Opret notat i PDF... 5 Overfør Arbejdsmiljøbogen fra PC til tablet... 6 Overfør filer mellem PC og tablet... 9 Start tablet og Arbejdsmiljøbog
Læs mereBRUGERVEJLEDNING FOR ELBAPRINT SERVICE
SOFTWARE FORUDSÆTNINGER TRIN 1: IDENTIFICER DIG, ELLER OPRET DIN SIDE TRIN 2: VÆLG FORMAT TIL DIN LABEL TRIN 3: VÆLG DIT DESIGN, ELLER ARBEJD PÅ EN TOM LABEL TRIN 4: IMPORTER DINE DATA I DINE LABELS, ELLER
Læs mereOpret prøve og tilpas dit fronter-rum Spørgsmålstyper og justering Oversigt over spørgsmålstyper...20 Justering af spørgsmål og sider...
PRØVEVÆRKTØJ Table of Contents Opret prøve og tilpas dit fronter-rum... 3 Opret prøve... 4 Tilføj prøveværktøj... 6 Fanen "Indstillinger"...11 Indstillinger for vindue...15 Mappe til billeder/multimedier...17
Læs mereHent filoplysninger fra billeder og filer
Hent filoplysninger fra billeder og filer I denne vejledning bliver det gennemgået, hvordan man via Power Forespørgsel kan hente filoplysninger fra en mappe ind i Excel. Der skal opbygges følgende elementer:
Læs mereAdgang til WebGraf. 1. Start Microsoft Internet Explorer. 2. Skriv: http://kort.ge.dk
Indholdsfortegnelse Indholdsfortegnelse.. side 2 Adgang til webgraf 3 Opslag adresse... 4 Styring af layout.. 5 Opslag af område via oversigtskort... 6 Zoom funktioner.. 7 Panorere på skærmen. 8 Information
Læs mereSådan opretter du en elektronisk aflevering
Sådan arbejder du med opgaver i Gradebook/karakterbog Denne vejledning indeholder en detaljeret beskrivelse af hvordan du bruger gradebook/karakterbogen når du vil arbejde med opgaver og give karakterer
Læs mereGoTalkNow. Beskrivelse:
GoTalkNow Beskrivelse: I GoTalk NOW kan du lave personlige kommunikationsbøger. Du kan også lave vælgebøger med foto, filmklip eller musik. Eller en kombination mulighederne er mange. En bog kan laves
Læs mereRationel VinduesDesigner TM Brugervejledning
Rationel VinduesDesigner TM Brugervejledning indhold: introduktion Side 2 Funktionsliste Side 3 Få adgang til systemet Side 4 opload dine billeder Side 5 Sådan bruges systemet Side 6 Gem dine eksempler
Læs mereArkiv i SIMU World. Arkivet ligger i SIMU World, og gør det muligt at arkivere jeres sager direkte i SIMU World.
Indhold Hvad er Arkivet?... 2 Arkiv er elektronisk, og ligger nederst i hver menu... 3 Arkivgrupper... 3 Oprette hovedmapper under de enkelte faner... 5 Oprette sagsmapper under hovedmapper... 6 Arkivering
Læs mereForelæsning Uge 14 Mandag
Forelæsning Uge 14 Mandag Defensiv programmering Metoder og konstruktører bør tjekke de parameterværdier, som de kaldes med Derved kan man ofte undgå ulovlige handlinger, såsom at dividere med nul eller
Læs mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Rekursive metoder Metoder der kalder sig selv Giver ofte meget elegante og simple løsninger på komplekse
Læs mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt) antal elementer Afleveringsopgave:
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereSÅDAN BRUGER DU TEKST- BEHANDLING INTRODUKTION
SÅDAN BRUGER DU TEKST- BEHANDLING INTRODUKTION I vejledningen bruger vi det gratis program Writer fra OpenOffice som eksempel til at vise, hvordan man bruger nogle helt grundlæggende funktioner i tekstbehandling.
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%
Læs mereHukommelsesspil. Introduktion. Scratch
Scratch 2 Hukommelsesspil All Code Clubs must be registered. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You can
Læs mereVejledning til brug af i-bogen Biologi i udvikling
Vejledning til brug af i-bogen Biologi i udvikling I-bogen Biologi i udvikling er baseret på et system hvor lærerne har en lærerbog og eleverne hver deres personlige elevbog. En interessant konsekvens
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereKursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Læs mereVejledning til brug af PwC-Portalen Indhold
Vejledning til brug af PwC-Portalen Denne vejledning gennemgår de enkelte funktioner i PwC-Portalen og forklarer hvordan de bruges. Du finder også information om, hvordan du kan få yderligere hjælp, hvis
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver
Læs mereBrugers vejledning til indtastning af Naturdata på eksisterende 3- områder
Brugers vejledning til indtastning af Naturdata på eksisterende 3- områder Denne vejledning omfatter indtastning af naturdata på eksisterende 3-områder. Har du opdaget et nyt 3-område, skal du derfor oprette
Læs mereMediator 9. Materiale til elever. Version: August 2012
Mediator 9 Materiale til elever Version: August 2012 Indholdsfortegnelse Farveliste til kopiering/udlevering...4 Mediator - et eksemplarisk forløb...5 Dataindsamling...5 Start programmet...5 Intro...8
Læs mereKontaktpersoner. Indhold
Kontaktpersoner Alle, der skal have adgang til lederportalen, skal oprettes som kontaktpersoner. Dvs. ledere, institutledere og andre, der skal have adgang til at logge ind på lederportalen og tilgå relevante
Læs merePatientlister. Tilføj / rediger eksisterende lister. VEJLEDNING Patientlister
Patientlister Tilføj / rediger eksisterende lister Patientlister benyttes til at holde styr på, hvilke patienter der f.eks. har fået lavet et implantat, skal have narkose eller på anden vis, skal figurere
Læs mereVejledning. Vejledning til Trio Forvaltningsmodul
Vejledning til Trio Forvaltningsmodul Indholdsfortegnelse Om Trio Forvaltning... 3 Download Trio... 3 Opstart af Trio Forvaltning... 3 Hvis du har Trio installeret i forvejen... 4 Hvis du IKKE har Trio
Læs mereINTRO TIL GOOGLE DREV
1 UDOVER AT VÆRE ET PRAKTISK STED AT GEMME SINE TING I SKYEN, SÅ ER GOOGLE DREV OGSÅ INDGANGEN TIL GODE SAMARBEJDS- OG DELEVÆRTKØJER: DET ER MULIGT BÅDE AT GIVE SE, KOMMENTERINGS- OG REDIGERINGSADGANG
Læs mere1. Opbygning af et regneark
1. Opbygning af et regneark Et regneark er et skema. Vandrette rækker og lodrette kolonner danner celler, hvori man kan indtaste tal, tekst, datoer og formler. De indtastede tal og data kan bearbejdes
Læs mere