COMPUTERSPIL 1. Opgave 1
|
|
- Stig Groth
- 5 å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. Når I laver de forskellige klasser, skal I samtidig dokumentere dem, således at dokumentationen er helt i top og følger: retningslinjerne fra BlueJ bogen (herunder specielt afsnit 6.11, afsnit 9.7 og Appendix I), de eksempler fra Road klassen, der blev præsenteret i en forelæsning. Hver klasse og hver metode/konstruktør skal have en passende kommentar (der begynder med /** og slutter med */). Tænk på, at første sætning indsættes i dokumentationens Method/Constructor Summary, mens hele kommentaren indsættes i dokumentationens Method/Constructor Detail. I skal også tags i jeres klasser, tags i jeres metoder/konstruktører. For at undgå for mange sprogskift, anbefales det, at alle jeres kommentarer skrives på Engelsk (eller Amerikansk). Skift jævnligt til Documentation view for at kontrollere, at resultatet er fornuftigt og giver relevant og letlæselig information til brugere, der ikke kender implementationen af jeres klasser. Der er forholdsvis meget at lave i Computerspil 1, men langt de fleste af tingene burde på nuværende tidspunkt være lette at implementere. 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). Til sidst skal I implementere equals og hashcode metoder for City klassen, idet I anvender de principper, der blev gennemgået i en forelæsning. To City objekter er ens, hvis og kun hvis de har samme navn. 1
2 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. Til sidst skal I implementere equals og hashcode metoder for Road klassen. To Road objekter er ens, hvis og kun hvis de tre feltvariabler har ens værdier. 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 Til sidst skal I implementere equals og hashcode metoder for Position klassen. To Position objekter er ens, hvis og kun hvis de fire feltvariabler har ens værdier. 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. 2
3 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: 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. Hint til getcities metoden: Via konstruktørkaldet: new ArrayList<>(network.keySet()) 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. Til sidst skal I implementere equals og hashcode metoder for Country klassen. To Country objekter er ens, hvis og kun hvis de har samme navn. 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) Modificér equals og hashcode metoderne i City klassen, således at de anvender den nye feltvariabel. To City objekter er ens, hvis og kun hvis de har samme navn og ligger i samme land. 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. 3
4 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 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: 4
5 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. 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. TestServer indeholder klassemetoder til test og debugging 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. 5
6 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. 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. 6
7 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). 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 upload i TestServer klassen med parameteren CG1. Metoden uploader jeres program til vores TestServer. Føste gang i bruger serveren, skal I indtaste en Testkode, som I finder i Grade Centeret (karaktercenteret) på kursets Blackboard side. Testen består bl.a. i, at der afvikles et spil med høj hastighed og forudbestemte tilfældige valg (fast seed værdi). Undervejs kontrolleres, at alle byer og alle spillere har de rigtige værdier. TestServeren afprøver hver enkelt af de klasser, som I selv har skrevet, sammen med vores løsning således at I kan se hvilke klasser, der er fejl i. Herudover udføres der en række regression tests for konstruktørerne og metoderne i jeres klasser, hvilket også kan afsløre fejl. Brug TestServeren med omtanke. Når I får en fejlrapport, bør I rette alle de fejl, der rapporteres og teste, at rettelserne er korrekte, før I atter forsøger at køre TestServeren. Hvis I blot retter en enkelt fejl ad gangen (uden selv at teste om rettelsen fungerer), kommer I let til at bruge alt for megen tid på at vente på, at TestServeren genererer rapporter til jer (specielt hvis der er kø). TestServeren 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 pseudo-tilfældige tal komme ud af sync, og testen vil fejle. Hvis testserveren finder fejl, skal l gennemgå jeres kode og forsøge at rette dem. 7
8 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: Lave automatiske regression tests for alle konstruktører og metoder (Computerspil 2). Bruge nedarvning og dynamic method lookup 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 samt en menubar (Computerspil 4). Optage spil ved hjælp af en Log klasse, hvis objekter kan gemmes i filsystemet, for sidenhen at blive genindlæst og afspillet (Computerspil 5) 8
COMPUTERSPIL 1. Opgave 1. Opgave 2
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 mereNår du holder møder i Connect
Når du holder møder i Connect Det er vigtigt at den/de der er host og presenter på mødet sidder ved en forholdsvis kraftig computer, og har en god bredbåndsforbindelse. Hvis man skal vise præsentationer,
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 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 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 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 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 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 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 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 mereViditronic NDVR Quick Guide. Ver. 2.0
Viditronic NDVR Quick Guide Ver. 2.0 1 Indholdsfortegnelse 1. HOVEDMENU 3 1.1 START 5 1.2 AKTIVITETSINDIKATOR: 7 1.3 INFORMATIONS VINDUE: 7 1.4 PTZ KAMERA KONTROL: 7 1.5 SKÆRMMENU 8 1.5.1 AKTIVER BEVÆGELSE:
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 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 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 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 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 mereBrugermanual til Assignment hand in
Brugermanual til Assignment hand in Indhold: Undervisere:...2 Hvor finder jeg Assignment hand in?...2 Opret en opgave...4 Slet en opgave...5 Rediger en opgave...5 Hvor finder jeg de afleverede filer?...5
Læs mereIntroduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss
Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003 Jonas Christiansen Voss 2. marts 2004 Indhold 1 CD ere 2 1.1 Brænde dokumenter til CD....................... 2 1.2 Disk Copy.................................
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 mereHer ser du dit arbejde i preview undervejs og udgiver dit arbejde når du er færdig. (se side 4)
Sitecore vejledning Hvad er det? Sitecore er det program, den officielle del af Spejdernet laves i. Sitecore er et Content Management System, dvs. indholds-håndteringssystem til hjemmesider. Hvordan starter
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 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 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 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 mereGuide til upload af ruter og interessepunkter på Endomondo
Guide til upload af ruter og interessepunkter på Endomondo Denne guide indeholder følgende emner: A. Rettigheder B. Oprettelse af profil på Endomondo C. Oprettelse af selve ruten D. Redigering af oprettet
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 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 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 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 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 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således
Læs mereIndhold Registrering på forum... 2 Opret Indlæg... 5 Besvar Indlæg... 7 Ændringer af brugerindstillinger... 9 Tips & Tricks... 11
Indhold Registrering på forum... 2 Opret Indlæg... 5 Besvar Indlæg... 7 Ændringer af brugerindstillinger... 9 Tips & Tricks... 11 Registrering på forum Ved første besøg på Abildgaardkredsens forum møder
Læs mereVejledning i brug af dli dokumenthåndteringssystemet til virksomheder
Vejledning i brug af dli dokumenthåndteringssystemet til virksomheder Indhold Generelt... 1 Windows tidligere versioner... 1 Windows 10... 2 Apple Mac... 2 Log på... 2 Rediger dokumentet... 2 Tilføj et
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 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 mereSådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...
Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... 9 Offline synkronisering... 11 Klienter til mobile enheder...
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 mereVistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.
Vistemmernu Et webbaseret værktøj udviklet af Programdatateket i Skive E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.dk Kolofon HVAL-vejledning Vistemmernu på HVAL.DK Forfatter: Susanne
Læs mereGuide til upload af ruter og interessepunkter på Endomondo
Guide til upload af ruter og interessepunkter på Endomondo Denne guide indeholder følgende emner: A. Rettigheder B. Oprettelse af profil på Endomondo C. Oprettelse af selve ruten D. Redigering af oprettet
Læs mereTYPO3 TRIN FOR TRIN 3
TYPO3 TRIN FOR TRIN 3 De indledende øvelser er fuldstændig de samme som i TYPO3 TRIN FOR TRIN 1 side 1-2. Du åbner altså din browser, skriver ale.dk/typo3 i Adressefeltet, og klikker på ordet Side i menuen
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 Køreprøven i uge 7 Form Forberedelse
Læs mereBilleder, video og lyd i Fronter
Billeder, video og lyd i Fronter Table of Contents Indsæt billeder, video og lyd i Fronter... 3 Billeder... 4 Video fra Youtube (Indlejring)... 9 Video fra Videoserver (Indlejring)... 15 Fronter Lydoptager...
Læs mereIndholdsfortegnelse. Indhold
Indholdsfortegnelse Indhold Login... 2 Registrér komme / gå tider... 4 Flere arbejdsperioder på samme dag?... 6 Frokostpause / ret Frokostpause... 7 Sletning... 8 Afslut uge... 9 Godkendte/afviste ugesedler...
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 mereViKoSys. Virksomheds Kontakt System
ViKoSys Virksomheds Kontakt System 1 Hvad er det? Virksomheds Kontakt System er udviklet som et hjælpeværkstøj til iværksættere og andre virksomheder som gerne vil have et værktøj hvor de kan finde og
Læs mereMailMax / Web v4.1. Brugsvejledning til webmail. Copyright 2003 Gullestrup.net
MailMax / Web v4.1 Copyright 2003 Gullestrup.net Log ind på webmailen Start med at gå ind på http://webmail.gullestrup.net i din browser. Indtast din Email-adresse samt Adgangskode, som hører til din konto.
Læs mereBRUGERMANUAL FLEXSCREEN
BRUGERMANUAL FLEXSCREEN INDHOLDSFORTEGNELSE Indledning...3 Login...3 Ændre password for en infoskærm...4 Ret tekst på siden...5 Indsæt et billede på siden...6 Opdel skærmen i kasser/bokse...8 Tilføj slide...10
Læs merePBX Online Brugervejledning www.pbxonline.dk
PBX Online Brugervejledning www.pbxonline.dk Indledning PBX Online er dit personlige omstillingsanlæg som ikke kræver noget fysisk udstyr installeret i dit firma. Du styrer det hele via din web browser.
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 mereVejledning til Photofiltre nr.189 Side 1 Sætte forskellige billeder sammen til collage
Side 1 Her i denne vejledning er brugt i alt 6 billeder. De er tilpasset i fotoprogrammet så der er 3 stk. på 300 x 300 pixels Og 3 stk. på 700 x 300 pixels Du kan downloade de 6 foto der er brugt som
Læs mereManual til WordPress CMS
Manual til WordPress CMS 1. Log ind på din Wordpress-side For at arbejde på din hjemmeside skal du først logge ind på administrationsdelen. Muligvis har du et direkte link på siden. Ellers er adressen
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 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 mereMy booking. Generelt. Forsiden. Version 9.0
My booking Version 9.0 System til at lave online bookinger, med mulighed for opdeling i grupper, forskellige booking typer, ændre layout indstillinger, status styring, sprogvalg samt en del mere, detaljer
Læs mereTillæg til ViTal v.4.5.5. Nyheder i ViTal
Tillæg til ViTal v.4.5.5 Nyheder i ViTal Oplæseroversigten er udvidet så den indeholder: Flag og sprognavn for hver oplæser. Dialogboksen Oplæseroversigt kan justeres i størrelsen. Favoritliste som hjælper
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 mereIDAP manual Emission
IDAP manual Emission Dato: 08-06-2005 16:32:35 Indhold INDHOLD... 1 1 EMISSION... 2 1.1 KURVER... 2 1.2 RAPPORTER... 5 1.3 DATA REDIGERING... 6 1.3.1 Masse redigering... 7 1.3.2 Enkelt redigering... 10
Læs mereBrugermanual til Assignment Hand In
Brugermanual til Assignment Hand In Indhold: Undervisere:... 2 Hvor finder jeg Assignment hand in?... 2 Opret en opgave... 3 Slet en opgave... 4 Rediger en opgave... 4 Hvor finder jeg de afleverede filer?...
Læs mereManual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune
Manual Version 2 til oprettelse af hjemmesider for landsbyer i Rebild kommune Oversigt: Login Hjemmeside...... side 3 Login Administrationsmodul... side 5 Kategorier.. side 6 Opret/rediger første side...
Læs mereGenerelt Windows tidligere versioner... 1 Windows Apple Mac Log på... 2 Rediger dokumentet Tilføj et tillægsdokument...
Vejledning i brug af dli dokumenthåndteringssystemet til forfattere og referenter Indhold Vejledning i brug af dli dokumenthåndteringssystemet til forfattere og referenter... 1 Generelt... 1 Windows tidligere
Læs mereOpret en nyhed LEJERBO.DK OPRET EN NYHED 1. LOG PÅ MIT LEJERBO OG LOG PÅ SOM REDAKTØR. Gå ind på din hjemmeside, fx
1 Opret en nyhed 1. LOG PÅ MIT LEJERBO OG LOG PÅ SOM REDAKTØR Gå ind på din hjemmeside, fx https://afd154-0.lejerbo.dk I øverste højre hjørne klikker du på Mit Lejerbo eller hængelåsen. Du sendes til login-siden
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 mereIndholdsfortegnelse. Indhold
Indholdsfortegnelse Indhold Login... 2 Registrér komme / gå tider... 4 Flere arbejdsperioder på samme dag?... 5 Frokostpause / ret Frokostpause... 7 Sletning... 8 Afslut måned... 9 Godkendte/afviste måneder...
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 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 mereGem dine dokumenter i BON s Content Management System (CMS)
24. august 2007 Gem dine dokumenter i BON s Content Management System (CMS) INDHOLDSFORTEGNELSE 1. Indledning... 2 2. Se indholdet i dit Content Management System... 3 3. Tilgå dokumenterne i My Content
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 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 mere