Math Snake. Afsluttende projekt. Andreas Kær Eriksen, Niclas Larsen og Jens Werner Nielsen. Klasse maj Informationsteknologi B

Størrelse: px
Starte visningen fra side:

Download "Math Snake. Afsluttende projekt. Andreas Kær Eriksen, Niclas Larsen og Jens Werner Nielsen. Klasse 3.4. 11. maj 2012. Informationsteknologi B"

Transkript

1 Math Snake Afsluttende projekt Andreas Kær Eriksen, Niclas Larsen og Jens Werner Nielsen Klasse maj 2012 Fag: Vejleder: Skole: Informationsteknologi B Karl G. Bjarnason Roskilde Tekniske Gymnasium, HTX

2 Indholdsfortegnelse Indholdsfortegnelse Indledning Problemformulering Målgruppe Krav Løsnings forslag Valg af løsning Valg af programmeringssprog Produkt Kanylemodel Testspecifikationer Teori Designeren Koden Design af brugerfladen Implementering Vært Klient Fælles for både vært og klient Test Evaluering Konklusion Fuld kildekode

3 1. Indledning Vi er tre drenge fra klasse 3.4 fra Roskilde Tekniske Gymnasium der alle går på Matematik/IT/Programmering linjen. I dette projekt vil vi lave et produkt der både appellere til det yngre publikum ved hjælp af et simpelt og nemt at forstå gameplay, men også til ældre publikum ved hjælp af at kunne forøge sværhedsgrad. I projektet har vi set på måder at lave et spil der både kan være lærerigt og en god træning for deltagere. 2. Problemformulering Vi vil gøre matematik sjovt og socialt for at det har en bedre interesse for børn og unge. Måden det kan gøres på er ved spil eller andet som er interaktivt. En måde at gøre det socialt på er ved hjælp af multiplayer. Da det både giver en mulighed for at have det sjovt med andre og gøre det til en konkurrence. Hvis det skal være en konkurrence skal det gerne være et spil og mulighed for at se scores for hver enkelt spiller. Der skal gerne være flere sværhedsgrader for at spillet eller andet interaktivt program kan interessere flere aldersgrupper og færdighedsniveau. 3. Målgruppe Vores målgruppe er børn og unge der vil repetere eller øve hovedregning, det er vigtigt for os at appellere til både børn og unge, ved hjælp af at gøre spillet sjovt og udfordrende. For det unge publikum Et simpelt gameplay samt en nem sværhedsgrad, et point system for at se på udviklingen og et combo system. For det ældre publikum Sværere sværhedsgrader samt en multiplayer funktion for at gøre det sjovt og udfordrende at spille med venner, et point system og combo system. 2

4 4. Krav Ud fra vores målgruppe kan vi stille en række krav til vores projekt: Simpelt Nemt at bruge Lærerigt Flere sværhedsgrader Multiplayer Point system Simpelt Fordi at alle skal kunne være med, derfor er et simpelt gameplay vigtigt. Nemt at bruge Det skal være nemt at komme i gang og styrer, igen for at alle skal kunne være med. Lærerigt Spillet skal kunne lære den der spiller noget, for eksempel hovedregning eller repetition af matematik. Flere sværhedsgrader Det skal have flere sværhedsgrader for at kunne udfordre flere målgrupper, både børn og unge. Multiplayer Multiplayer er til for at gøre spillet mere interessant for unge, da de så kan spille med venner og endda lave en lille konkurrence ud af det. Point system Der skal være et point system for at kunne give spilere en måde at sammenligne hinanden, og derved konkurrere med hinanden. 3

5 5. Løsnings forslag Vi har tænkt over en række løsningsforslag: 1. Et Snake lignende spil hvor spilleren er en slange der skal svare rigtigt på et givende matematik spørgsmål, man kan så opbygge points ved at svare rigtigt, dette kan også spilles i multiplayer. 2. Et simpelt spil hvor et matematik spørgsmål er givet og man skal så skrive det rigtige svar i en boks i spillet. 3. Et spil hvor man spiller en figur der skal klare sig igennem en bane ved at svare på matematik spørgsmål, man kan så opbygge point ved at svare rigtigt og til sidst gennemfører banen. 6. Valg af løsning Vi har givet de forskellige løsnings forslag point mellem 0 og 5 ud fra forskellige synspunkter: Løsning 1 (Snake) Løsning 2 (Box) Løsning 3 (Bane spil) Simpelt Nemt at bruge Lærerigt Flere sværhedsgrader Multiplayer Point system Total: Vi valgte at bruge løsning 1 da vi mener den har størst mulighed for at opfylde vores givne krav, da det har en logisk måde at gøre til multiplayer, og har stor mulighed for at appellere til konkurrence mennesket i os alle. 4

6 7. Valg af programmeringssprog Vi har valgt at anvende Visual Basic af 3 simple årsager. 1. Nemt 2. Pålideligt 3. Gratis Vi alle har erfaring i at anvende det og er alle godt tilfredse med det. I vores valg overvejede vi også at bruge Lazarus som vi har arbejdet med i forbindelse med tidligere projekter da sproget minder meget om Visual Basic, men valgte at bruge Visual Basic fordi det er mere stabilt og pålideligt. Her ses et billede af udviklingsmiljøet: 5

7 8. Produkt Vi vil lave et spil som er i stil med Snake. I spillet skal vi gerne have det til at være multiplayer for at få et socialt aspekt over det. Måden vi vil få sjov matematik ind over det er ved at der står en matematik ligning på skærmen, man får så point får at nå til det rigtige svar på ligningen før de andre spillere når svaret. Ved at man tager det rigtige svar får man point og bliver større, men tager man det forkerte bliver man mindre. Hvis man får en streak, som er ved at få flere rigtige i streg, får man bonus points oveni. 9. Kanylemodel Her har vi kanylemodellen og vil nu beskrive det lidt dybere. Kanylemodellen består af: Afsender Vores afsender som i kan se er Andreas E., Jens W. og Niclas L. Vi er 3 elever fra Roskilde Tekniske Gymnasium. Indkodning Indkodningen er det sprog og program vi laver vores program i. Vi bruger Visual Basic.NET til at lave vores program som skal hjælpe med matematikken. Media Det media vi har tænkt os at bruge for at hjælpe med matematikken er et spil. Vi valgte at bruge et spil, fordi mange folk finder spil mere interessante end bare at sidde og læse. Vi kom med nogle forskellige ideer til, hvilke slags spil vi kunne bruge og tænkte på nogle klassiske spil, som vi ville lave til et spil der kan hjælpe med matematikken. Grunden til et klassisk spil er, fordi at folk ved hvad det er og hvad det går ud på. Budskab Vores budskab med spillet er at vi gerne vil gøre matematik mere interessant at lære. Det er så det ved gør ved at lave matematikken interaktiv i et spil. 6

8 Støj Det problem der kan komme ved vores spil er at det kan blive for nemt for nogle spillere, men det er så meningen at man skal kunne gøre dette med ligninger og andre svære matematik regnestykker. Afkodning Måden de bruger spillet på skal så gerne være på den måde at de finder regnestykkerne til deres niveau og bruger det niveau. Spillet er på forskellige niveauer i sværhed. Hvis man er nybegynder tager man den nemmeste, øvede den efter og til sidst den sværeste. Modtager Vores modtagere som vi gerne vil ud til ed dette spil er folkeskole elever og gymnasium elever som har brug for motivation til matematik. Spillet som det er lige nu er mest til folkeskole elever da det kun er plus, minus, gange og dividere. 10. Testspecifikationer Vores Snake spil skal være multiplayer og baseret på at man skal besvare matematik spørgsmål for at blive længere. Derfor vil vi have nogle specifikke ting vi gerne vil gå efter når vi tester dette spil. For at spillet skal være en succes for os som har lavet det, skal disse krav opfyldes: Skal kunne bevæge sig som en slange med piletasterne. Man skal kunne blive længere når man får points. Spørgsmålene skal være på et niveau som kan gøres svære og tilpasses til brugeren. Det skal kunne spilles i multiplayer. Det skal være sjovt at spille. Det skal være brugbart og lærerigt at spille. Hvis disse krav til testen bliver opfyldt er det en succes for os og vores prototype af spillet. 7

9 11. Teori I dette afsnit vil vi komme ind på alle de funktioner i Visual Basic som vi gør brug af i produktet Designeren Det første man ser efter at have oprettet et nyt projekt er designeren der viser et tomt vindue. Det smarte ved designeren er at du kan se og redigere direkte i brugerfladen helt uden at skulle skrive noget kode eller starte programmet. Måden det fungere på er at man trækker forskellige såkaldte Controls ind i vinduet fra boksen Toolbox. I dette tilfælde en knap. 8

10 Når man har tilføjet en Control til vinduet, kan man ændre dens egenskaber i boksen Properties. I dette tilfælde ændres knappens tekst til Knap. Alle de forskellige Controls har mange forskellige egenskaber der let kan tilpasses så programmet får det udseende man ønsker Koden Her vil vi komme ind på nogle af de basale funktioner i programmeringssproget Visual Basic. Kommentarer ' angiver at resten af linjen er en kommentar. Kommentarer gør intet i forhold til programmet, men kan bruges til at skrive noter direkte i koden. Her er et eksempel på en kommentar: 'Dette er en kommentar 9

11 Datatyper Der findes mange forskellige datatyper, de mest brugte er Integer som er heltal, Decimal som er decimaltal og String som er tekst. Variabler Dim, Private, Public og Static kan bruges til at definere en ny variabel. Hvis enten Dim eller Private bruges er variablen privat og kan kun bruges af den klasse eller funktion der har defineret den. Hvis Public bruges vil variablen i stedet for være tilgængelig over alt i programmet. Static kan kun bruges til at definere en privat variabel inde i en funktion, Static gør det samme som Dim, med undtagelse af den beholder sin værdi når funktionen køres igen senere, i stedet for som Dim at nulstille værdien. Nogle datatyper kræver keywordet New foran navnet på datatypen. Her er et eksempel på brug af Dim til at definere en variabel ved navn Variabel af typen String med værdien "Dette er en tekst": Dim Variabel As String = "Dette er en tekst" Hvis If tester om et udtryk er sandt eller falskt, den efterfølgende kode køres kun hvis udtrykket er sandt. Eksempler på udtryk kunne være = 2 som er sandt, og "Tekst" = "String" som er falsk. To udtryk kan også kombineres med AndAlso eller Or. AndAlso betyder "og" og kræver at begge udtryk er sande før det samlede udtryk er sandt. Or betyder "eller" og kræver at bare et af de to udtryk er sande før det samlede udtryk er sandt. Her er et eksempel på brug af en If blok: If Udtryk1 Then '1 If Udtryk2 Then '2 '3 Hvis Udtryk1 er sandt køres '1, men ikke '2 og '3. Hvis Udtryk1 i stedet var falsk ville '1 blive sprunget over, derefter ville Udtryk2 blive testet på samme måde. 10

12 Funktioner Sub og Function bruges til at definere funktioner, hvis ikke funktionen skal returnere en værdi bruges Sub, ellers bruges Function. Ved at angive keywordet ByVal laver man en funktion der kræver nogle argumenter, funktionen kan så bruge disse argumenter til hvad den vil og hvis den er af typen Function returnere en værdi. Her er et eksempel på en Sub der kalder en Function med to argumenter, funktionen lægger de to argumenter sammen og returnere resultatet: Private Sub Funktion1() Dim Resultat As Integer = Funtion2(4, 5) 'Resultat = 9 Private Function Funtion2(ByVal Tal1 As Integer, ByVal Tal2 As Integer) As Integer Return Tal1 + Tal2 End Function Funktioner kan også blive kaldt automatisk når en bestem Event bliver aktiveret. Her er et eksempel på en Sub der bliver kørt automatisk når programmet starter: Private Sub Funktion() Handles MyBase.Load 11

13 12. Design af brugerfladen Når du åbner spillet bliver du mødt af en dialogboks der spørger efter hvad du vil kalde dig i spillet, hvilken farve du vil være samt om du vil starte et nyt spil eller tilslutte til et eksisterende. Når dialogboksen åbnes er tekstboksen udfor Navn: allerede udfyldt med det brugernavn du er logget på computeren med, og farven i boksen til højre for indeholder allerede en tilfældig farve. Dialogboksen ser således ud: På billedet til venstre er navet angivet til Vært og farven til rød, der er valgt at starte et nyt spil med sværhedsgraden Medium (1-50), det betyder at tallene der indgår i regnestykkerne ligger mellem 1 og 50. På billedet til højre er navnet angivet til Klient og farven til blå, der er valgt at tilslutte til et eksisterende spil på computeren localhost, i denne tekstboks skal computernavnet eller IP adressen på værts computeren angives, alternativt kan man angive localhost eller hvis klienten er på samme computer som værten. Der er tre forskellige sværhedsgrader at vælge imellem, Let (1-10), Medium (1-50) og Svær (1-100) : 12

14 Hvis enten navnet eller computernavnet på værten ikke er angivet er det ikke muligt at trykke på knappen Start : For at ændre farven skal man klikke på den farvede firkant og en Windows dialogboks bliver vist hvor man kan vælge en anden farve. Hvis man fortryder er det muligt at vælge Annuller eller lukke vinduet og vende tilbage til den forrige dialogboks uden at ændre farven. 13

15 Her ses spillet i aktion med to spillere, nemlig Vært og Klient, ud for hver af deres navne står der et 0 som angiver hvor mange point de har i øjeblikket. Tallet vil ændre sig efterhånden som spillerne får point. Spørgsmålet som spillerne skal svar på står øverst til venstre i vinduet, på billedet er det 4*32 resultatet på det regnestykke er 128. Der er placeret fire svar muligheder tilfældigt på banen, en rigtig og tre andre tilfældige, det kan ske at en af de tilfældige er det samme som den rigtige, og i den situation gælder den også som rigtig. Opgaven for de to spillere er så at udregne sprøgsmålet og nå først hen til det rigtige svar. Svares der rigtigt får spilleren points ganget op med hans nuværrende længde, svares der forkert mistes pointene ikke, men længden reduceres til udgangspunktet, og spilleren har derved mistet sin combo. Her ses et billede hvor spilleren Klient har svaret rigtigt en gang og dermed fået et point og blevet lidt længere. På billedet ses det også hvordan der er muligt at går ud over kanten af skærmen og komme ind på den anden side. 14

16 Efter at have spillet lidt tid har Vært opnået 29 point og Klient 57 point, Vært har netop svaret forkert og fået sin længde reduceret tilbage til udgangspunktet. Hvis klienten mister forbindelsen til værten eller hvis værten lukkes, vises denne dialogboks hvor der er mulighed for at vende tilbage til start dialogboksen eller lukke spillet. 15

17 13. Implementering Det første der sker når programmet bliver startet er at vise Options dialogboksen, hvis dialogboksen lukkes med en status der ikke er OK så lukkes programmet fordi brugeren har lukket dialogboksen. Næste skridt er så at starte server eller klient komponenten i programmet alt efter om brugeren har valgt at starte et nyt spil eller tilslutte til et eksisterende. Hvis det fejler vises der en fejlmeddelelse og Options dialogboksen vises endnu engang. Retry: 'Vis "Options" vinduet vent til brugeren har valgt indstillingerne If Options.ShowDialog <> Windows.Forms.DialogResult.OK Then Application.Exit() Exit Sub 'Alt efter hvilke indstillinger bruger har valgt skal spillet starte en vært eller klient Try If Options.RadioButtonHost.Checked Then Server = New Server(80) Client = New Client(Options.TextBoxHostname.Text, 80) Catch ex As Exception MessageBox.Show(ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error) GoTo Retry End Try Efter en succesfuld forbindelse deler programmet sig i to dele alt efter hvilken rolle brugeren har valgt, hvis programmet skal være vært starter den spillet op, laver spørgsmål, begynder at tegne osv.. Det er værten der styre alt. Det betyder også at hvis spillet skal starte op som klient skal den intet foretage sig, lige med undtagelse af at vente på de færdigbehandlede billeder den modtager fra værten og vise dem på skærmen. Vi vil ikke gå i detaljer omkring de to klasser Server og Client, eller dialogboksen Options i dette afsnit, men kildekoden kan findes bagerst i rapporten under overskrifterne Network.vb og Options.vb. Det samme gælder for klasserne Snake og Label der bliver brugt senere, de kan ligeledes findes bagerst i rapporten under overskrifterne Snake.vb og Label.vb. Årsagen til dette er at afsnittet ville blive alt for langt hvis disse også skulle forklares i detaljer, hovedparten af handlingen i spillet er i Form.vb som bliver gennemgået i de to næste underafsnit Vært Værten finder og gemmer det højeste tal der må forekomme i regnestykkerne i en variabel, tallet er baseret på den valgte sværhedsgrad. Select Case Options.ComboBoxDifficulty.SelectedIndex Case 0 Difficulty = 10 Case 1 Difficulty = 50 Case 2 Difficulty = 100 End Select 16

18 Næste skridt er at tilføje sig selv til listen over spillere med det valgte navn og farve. Derefter kaldes funktionen ResetLabels() der opstiller det første spørgsmål. Snakes.Add(New Snake(Options.TextBoxName.Text, Options.LabelColor.BackColor, Convert.ToBase64String(System.Guid.NewGuid.ToByteArray))) ResetLabels() Sidste skridt er at starte en ny tråd der køre i baggrunden der holder hele spillet kørende. Den starter med at rykke alle spillerne en tak frem og tjekker om de rammer ind i sig selv eller en anden spiller, hvis det er tilfældet straffes spilleren ved at få deres længde reduceret til udgangspunktet. Derefter tjekker den om der er en af spillerne der har ramt en af svarmulighederne, hvis det er tilfældet gives der enten point eller en straf til spilleren alt efter om svaret er korrigt eller ej og funktionen ResetLabels() bliver kaldt igen for at generere nogle nye svarmuligheder. Efter alle testene er kørt igennem tegner værten et billede med alle spillerne, svarmulighederne og spørgsmålet på. Billedet gemmes i hukommelsen i PNG format og sendes derefter ud til alle klienterne. Billedet vises selvfølgelig også på skærmen. Til sidst ryddes der op for at frigive ubrugte ressourcer og der ventes 50 millisekunder før hele dette step gentages fra starten af. Threading.Tasks.Task.Factory.StartNew( Sub() Do SyncLock Snakes '### Grafik og styring (Andreas) - Start ### For Each Snake As Snake In Snakes Snake.Move() If Snake.HitSelf Then Snake.Incorrect() Continue For For Each Snake2 As Snake In Snakes If Snake2 IsNot Snake Then If Snake2.HitBy(Snake) Then Snake.Incorrect() Exit For ExitLabelHitTest: If Cooldown > 0 Then Cooldown -= 1 SyncLock Labels For Each Snake As Snake In Snakes For Each Label As Label In Labels If Snake.Hit(Label) Then If Label.IsCorrect Then Snake.Correct() Snake.Incorrect() ResetLabels() GoTo ExitLabelHitTest 17

19 Loop ) Dim Bitmap As New Bitmap(PictureBox.Width, PictureBox.Height) Using Graphics As Graphics = Graphics.FromImage(Bitmap) Graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAliasGridFit For Each Snake As Snake In Snakes Snake.Draw(Graphics) SyncLock Labels For Each Label As Label In Labels Label.Draw(Graphics, Cooldown > 0) Graphics.DrawString(Question, GraphicsFont, Brushes.Black, 10, 10) Graphics.DrawRectangle(Pens.Black, 0, 0, Bitmap.Width - 1, Bitmap.Height -1) End Using '### Grafik og styring (Andreas) - Stop ### 'Send oplysninger Using Memory As New IO.MemoryStream Bitmap.Save(Memory, Drawing.Imaging.ImageFormat.Png) Server.Send(Memory.ToArray) End Using 'Vis billedet PictureBox.Image = Bitmap 'Ryd op GC.Collect() 'Vent Threading.Thread.Sleep(50) Hver gang klienten trykker på en af piletasterne for at skifte retning eller en ny klient netop er tilsluttet sendes der en besked over netværket til værten som så kan ændre retningen på spilleren. Når der ankommer en ny besked fra en af klienterne køres denne funktion automatisk. Hvis meddelelsen er af indeholder teksten Setup oprettes en ny spiller med det valgte navn og farve samt id. Hvis der allerede findes en spiller med det pågældende id ignoreres meddelelsen. Hvis meddelelsen er af indeholder teksten Direction i stedet for finder værten spilleren med det pågældende id og ændre retningen på den. Private Sub Server_Received(Data() As Byte) Handles Server.Received '*** Værten har modtaget meddelelsen {Data} fra en af klienterne *** 'Konverter meddelelsen til tekst og opdel den i bidder (splitter med " ") Dim Message() As String = System.Text.Encoding.UTF8.GetString(Data).Split(" ") 'Her er en liste over gyldige meddelelser ' ' {Client Guid} Setup {Client Name} {Client Color} ' {Client Guid} Direction Up ' {Client Guid} Direction Down 18

20 ' ' {Client Guid} Direction Left {Client Guid} Direction Right Select Case Message(1) Case "Setup" SyncLock Snakes 'Ignorer meddelelsen hvis klienten allerede er på listen For Each Snake As Snake In Snakes If Snake.Guid = Message(0) Then Exit Sub 'Tilføj klienten til listen Snakes.Add(New Snake(Message(2), Color.FromArgb(Message(3)), Message(0))) Case "Direction" Select Case Message(2) End Select Case "Up" SyncLock Snakes 'Find klienten på listen og ændre retningen til "Up" For Each Snake As Snake In Snakes If Snake.Guid = Message(0) Then Snake.Direction = Direction.Up Exit For Case "Down" SyncLock Snakes 'Find klienten på listen og ændre retningen til "Down" For Each Snake As Snake In Snakes If Snake.Guid = Message(0) Then Snake.Direction = Direction.Down Exit For Case "Left" SyncLock Snakes 'Find klienten på listen og ændre retningen til "Left" For Each Snake As Snake In Snakes If Snake.Guid = Message(0) Then Snake.Direction = Direction.Left Exit For Case "Right" SyncLock Snakes 'Find klienten på listen og ændre retningen til "Right" For Each Snake As Snake In Snakes If Snake.Guid = Message(0) Then Snake.Direction = Direction.Right Exit For End Select 19

21 Når der er behov for nye svarmuligheder, enten fordi programmet lige er startet eller fordi en spiller har taget en af svarmulighederne, køres denne funktion som fjerner alle svarmulighederne og generere et nyt spørgsmål samt nogle nye svarmuligheder i den valgte sværhedsgrad. Det er tilfældigt om det bliver et plus-, minus-, gange- eller divisionsstykke. Tallene der indgår, er også tilfældige. Cooldownen på svarmulighederne bliver i samme omgang nulstillet så det ikke er muligt at svare inden for de første par sekunder, dette er en sikring i mod at spilleren ved en fejl rammer en af de nye svarmuligheder der kan poppe op lige foran ham, men i stedet for køre igennem den. Private Sub ResetLabels() SyncLock Snakes SyncLock Labels Labels.Clear() Dim Answer As String Dim Temp As String Dim A As Integer = Random.(1, Difficulty) Dim B As Integer = Random.(1, Difficulty) Select Case Random.(0, 4) Case 0 Question = A & "+" & B Answer = A + B AddLabel(Answer, True) For i As Integer = 0 To 2 Temp = Random.(1, Difficulty) + Random.(1, Difficulty) AddLabel(Temp, Temp = Answer) Case 1 Question = A & "-" & B Answer = A - B AddLabel(Answer, True) For i As Integer = 0 To 2 Temp = Random.(1, Difficulty) - Random.(1, Difficulty) AddLabel(Temp, Temp = Answer) Case 2 Question = A & "*" & B Answer = A * B AddLabel(Answer, True) For i As Integer = 0 To 2 Temp = Random.(1, Difficulty) * Random.(1, Difficulty) AddLabel(Temp, Temp = Answer) Difficulty)), 2) Case 3 Question = A & "/" & B Answer = Decimal.Round(CDec(A / B), 2) AddLabel(Answer, True) For i As Integer = 0 To 2 Temp = Decimal.Round(CDec(Random.(1, Difficulty) / Random.(1, AddLabel(Temp, Temp = Answer) End Select Cooldown = LabelCooldown 20

22 Funktionen gør brug af en hjælpefunktion AddLabel(Text, IsCorrect) til at placere de nye svarmuligheder således de ikke lander direkte oven på en af de andre svarmuligheder eller spillere. Private Sub AddLabel(ByVal Text As String, ByVal IsCorrect As Boolean) Dim NewLabel As New Label(Text, IsCorrect) Retry: For Each Snake As Snake In Snakes If Snake.Hit(NewLabel) Then NewLabel.Reposition() GoTo Retry For Each Label As Label In Labels If Label.Hit(NewLabel) Then NewLabel.Reposition() GoTo Retry Labels.Add(NewLabel) Klient Klienten opretter en tilfældig tekst som værten kan bruge til at identificere den med, og sender en besked til værten om hvad navn og farve brugeren har valgt. Guid = Convert.ToBase64String(System.Guid.NewGuid.ToByteArray) Client.Send(Guid & " Setup " & Options.TextBoxName.Text & " " & Options.LabelColor.BackColor.ToArgb) Hver gang værten har generet et billede sendes det via netværket og modtages af klienten. Når der ankommer et nyt billede bliver denne funktion automatisk kørt. Den forsøger at åbne billedet og vise det på skærmen, hvis noget går galt ignoreres fejlen og klienten venter på det næste billede. Private Sub Client_Received(Data() As Byte) Handles Client.Received '*** Klienten har modtaget meddelelsen {Data} fra værten *** 'Forsøg at vise billedet i vinduet Try Using Memory As New IO.MemoryStream(Data) PictureBox.Image = New Bitmap(Memory) End Using Catch ex As Exception End Try 21

23 Hvis klienten mister forbindelsen til værten eller vinduet lukkes køres denne funktion automatisk. Hvis vinduet ikke blev lukket manuelt og forbindelsen til værten er afbrudt vises der en fejlmeddelelse hvor brugeren får muligheden for at vise Options dialogboksen igen eller lukke spillet. Private Sub Client_Disconnected() Handles Client.Disconnected '*** Klienten har mistet forbindelsen til værten *** 'Ignorer denne fejlmeddelse, forbindelsen blev afbrudt fordi vinduet blev lukket If IsFormClosing Then Exit Sub 'Sørg for kun at vise en fejlmeddelse på skærmen selvom denne funktion bliver kørt flere gange SyncLock Me Static AskedAlready As Boolean = False If Not AskedAlready Then AskedAlready = True 'Spørg brugeren om han/hun vil spille igen, hvorefter spillet enten genstartes eller lukkes If MessageBox.Show("Mistet forbindelsen til værten. Vil du spille igen?", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Error) = Windows.Forms.DialogResult.Yes Then Application.Restart() Application.Exit() Fælles for både vært og klient Når brugeren lukker vinduet afbrydes forbindelsen til værten eller alle klienterne, alt efter om programmet fungerer som klient eller vært. Private Sub Form_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing '*** Vinduet bliver lukket *** 'Afbryd forbindelserne If Server IsNot Nothing Then Server.Disconnect() If Client IsNot Nothing Then IsFormClosing = True Client.Disconnect() 22

24 Når der trykkes på en af tasterne på tastaturen køres denne funktion automatisk. Den starter med at finde ud af om der blev trykket op, ned, højre eller venstre, og enten ændre retningen direkte hvis programmet er vært, eller sende en besked til værten om at skifte retning hvis programmet er en klient. Private Sub Form_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown Select Case e.keycode Case Keys.Up If Server IsNot Nothing Then 'Server Snakes(0).Direction = MathSnake.Direction.Up 'Client Client.Send(Guid & " Direction Up") Case Keys.Down If Server IsNot Nothing Then 'Server Snakes(0).Direction = MathSnake.Direction.Down 'Client Client.Send(Guid & " Direction Down") Case Keys.Left If Server IsNot Nothing Then 'Server Snakes(0).Direction = MathSnake.Direction.Left 'Client Client.Send(Guid & " Direction Left") Case Keys.Right If Server IsNot Nothing Then 'Server Snakes(0).Direction = MathSnake.Direction.Right 'Client Client.Send(Guid & " Direction Right") End Select 23

25 14. Test Vi har siddet flere og testet spillet, for at få noget ud af multiplayer funktionen. Vi havde i starten problemer med spillet, fordi det kun var værten der kunne spille ordentlig, de andre spillere havde en forsinkelse på flere sekunder. Vi fandt så ud af at grunden til dette var at værten blev oversvømmet med data fra de forskellige klienter som gjorde at den ikke kunne nå at reagere på det hele inden for rimelig tid. Vi ordnede dette ved at sige, at man ikke bliver fjernet fra spillet hvis forbindelsen bliver afbrudt eller hvis man ikke har været til stede i et stykke tid. Det gjorde så at værten ikke længere blev oversvømmet med data som gjorde programmet langsomt. Efter vi ordnede dette problem testede vi spillet igen for at se om det nu fungerede bedre og om det nu levede op til de andre krav. Multiplayer funktionen fungerer også helt fint nu i forhold til hvad den startede med at gøre. Der er bare det problem at, hvis man går ud af spillet og derefter går ind i det samme spil som værten stadig er i gang med er der pludselig to af den samme, men kan kun bevæge den ene spiller. Det er ikke et stort problem som det andet, men stadig en fejl som er i spillet. Vi testede spillet igen og fandt det meget morsomt at spille og samtidig skulle vi tænke lidt over hvilke svar vi tog. Meget af spillet er meget simpelt lige nu, men dette er kun en prototype og spillet kan gøre sværere ved at brugte ligninger i stedet for plus, minus, gange og divider. Vi kan sige at spillet lever op til den morsomme del af kravene. Den kan også leve op til at vi kan ændre niveauet, bare ikke ændre niveauet så meget endnu. Det er et spil som er brugbart for folk i folkeskolen på det niveau som vi har spillet til at være lige nu, men kan gøres sværere og brugbart for folk i højere klasser som gymnasiet. Vores pointsystem i spillet fungerer også som det skal. Man får points når man gætter rigtigt på et spørgsmål og man bliver længere. Vi tænkte dog vi ville lave en funktion som ville give minuspoints til den person som gætter forkert eller lave noget, som ville holde en stille, hvis man gættede forkert. Måden man bevæger sig i spillet på fungerer også helt fint og man mister længde, hvis man gætter forkert eller man går ind i sig selv eller andre spillere. Alt i alt fungere spillet som vi gerne ville have det skulle fungere og vi har opnået et produkt vi føler opfylder de krav vi har sat. Spillet er både simpelt og nemt at komme i gang med for alle aldre og dens sværhedsgrader kan også justeres fra nemt til svært for at alle aldre kan være med. Man skal dog være opmærksom på hvilke andre programmer der køre på computeren samtidigt, vi havde Skype kørende i baggrunden som af en eller anden grund allerede brugte port 80, det resulterede i følgende fejlmeddelelse når vi prøvede at oprette et nyt spil. 24

26 15. Evaluering Hele projektet gik forholdsvist godt. Vi programmerede i Visual Basic som vi har arbejdet med før og kender til. Vi syntes det mest problematiske ved projektet var at få værten i vores program til at fungere som den skal. Den virkede ikke optimalt i starten, men fandt ud af hvad problemet var og ordnede det. Vi ordnede det ved at fjerne, disconnecting efter man ikke har rørt sig i et stykke tid, da problemet var at der blev sendt for meget data. Det interessante ved hele projektet var at teste spillet da vi fandt det meget morsom at spille, men også at vi fandt nogle småfejl som gjorde spillet bedre fungerende. Det var også interessant at tænke på problemet og ideerne vi ville bruge som løsning af vores problem. Samarbejdet i vores gruppe har også fungeret meget fint. Vi fik arbejdet sammen om programmeringsdelen og designet. Der var også godt samarbejde med skrivningen af rapporten og uddelingen af opgaver. 16. Konklusion Vores problem som vi løse er at gøre matematik mere interessant og motiverende at lave for folkeskole elever og gymnasieelever. Problemet er at der er folk som ikke rigtig kan finde motivationen til at lære noget, men måden vi vil løse dette problem er ved at gøre matematik interaktivt ved hjælp af et spil. Et spil plejer som regel at være noget der interesserer sig for folk i unge aldre. Spillet indeholder matematik og fungere på den måde at man spiller Snake, men med matematik. Der komme et regnestykke som man så skal kunne besvare. Der kommer flere forskellige svarmuligheder frem. Hvis man svarer rigtigt får du point og bliver længere, men svare du forkert bliver du forkortet. Der er mulighed for at ændre i niveauet på spillet. Spillet er også gjort multiplayer for at man kan spille med sine venner så det er mere socialt. Det vi fik ud af vores test af spillet var at vi fandt det meget morsomt og man får også brugt sin matematik, en indtil videre i vores prototype er der kun til folkeskoleelever, men det kan sagtens laves til gymnasieelever, hvis man fik det med ligninger i stedet for plus og minus stykker. I forhold til de krav vi satte for hvad vi ville i vores problemformulering opfylder vores produkt godt, det formåer at være lærende og trænende når det kommer til matematik, mens det har et sjovt og konkurrence fokuserede element i multiplayer som alle der testede spillet var enige i. Efter de problemer vi stødte på blev rettet, fungerede spillet rigtig godt og var sjovt for alle der spillede med. 25

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

Børn, unge og sundhed

Børn, unge og sundhed Børn, unge og sundhed Automatisering Komm/IT Benjamin Andreas Olander Christiansen, Jens Werner Nielsen og Niclas Larsen Klasse 1.4 Roskilde Tekniske Gymnasium 30.4.2010 Indledning Som vores kommunikations-/informationsteknologis

Læs mere

MS Visual Studio Basic 2010. En kort vejledning

MS Visual Studio Basic 2010. En kort vejledning Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse

Læs mere

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Mircobit Kursus Lektion 3   (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) Mircobit Kursus Lektion 3 http://microbit.org/ (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. Man skulle lave et tabel

Læs mere

Fang Prikkerne. Introduktion. Scratch

Fang 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 mere

Spil Master Mind. Indledning.

Spil Master Mind. Indledning. side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de

Læs mere

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

Visualiseringsprogram

Visualiseringsprogram Visualiseringsprogram Programmering C - eksamensopgave Rami Kaddoura og Martin Schmidt Klasse: 3.4 Vejleder: Karl Bjarnason Roskilde Tekniske Gymnasium Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-12

Læs mere

Computer spil Kom it Roskilde teknisk gymnasium. Rasmus Kibsgaard Riehn-Kristensen, Michael Jokil og Christine Johnsen

Computer spil Kom it Roskilde teknisk gymnasium. Rasmus Kibsgaard Riehn-Kristensen, Michael Jokil og Christine Johnsen Computer spil Kom it Roskilde teknisk gymnasium Rasmus Kibsgaard Riehn-Kristensen, Michael Jokil og Christine Johnsen Vejleder Karl G Bjarnason 12-03-2010 Indhold Kanylemodel... 3 1.1Afsender... 3 1.2Indkodning...

Læs mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...

Læs mere

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4 IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...

Læs mere

Introduction til.net remoting i VB.NET

Introduction til.net remoting i VB.NET Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Denne guide er oprindeligt udgivet på Eksperten.dk Afrund til helt tal I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Skrevet den 03. Feb 2009 af tjomsen I kategorien

Læs mere

Kom godt i gang med Fable-robotten

Kom godt i gang med Fable-robotten Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows

Læs mere

5/11/2015. Programmering. Hussein Al-Saidi ROSKILDE TEKNINSK GYMNASIE VEJLEDER: CHRISTOFFER S.

5/11/2015. Programmering. Hussein Al-Saidi ROSKILDE TEKNINSK GYMNASIE VEJLEDER: CHRISTOFFER S. 5/11/2015 Hussein Al-Saidi ROSKILDE TEKNINSK GYMNASIE VEJLEDER: CHRISTOFFER S. 1 Contents... 0 Indledning... 3 Analyse... 3 Problemformulering... 3 Målgruppe... 3 Løsningsforslag... 3 Detaljeret beskrivelse

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Vers. 1.3.1 Opdateret: 29-08-2018 Indholdsfortegnelse 1. Installer programmet 3 2. Pak robotten ud 5 3. I gang med at programmere 6 4. Programmér Fable til at køre fra 90 til -90

Læs mere

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6 Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side

Læs mere

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011 Spil Rapport Spil lavet i GameMaker Kevin, Mads og Thor 03-02-2011 Indholdsfortegnelse Indledning... 2 HCI... 2 Planlægning / Elementær systemudvikling... 2 Kravspecifikationer... 4 Spil beskrivelse...

Læs mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

Viditronic NDVR Quick Guide. Ver. 2.0

Viditronic 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 mere

Introduktion 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 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 mere

AgroSoft A/S AgroSync

AgroSoft A/S AgroSync AgroSoft A/S AgroSync AgroSync er et AgroSoft A/S værktøj, der bliver brugt til filudveksling imellem WinSvin og PocketPigs. Fordele ved at bruge AgroSync: Brugeren bestemmer overførsels tidspunktet for

Læs mere

Guide til din computer

Guide til din computer Guide til din computer Computerens anatomi forklaret på et nemt niveau Produkt fremstillet af Nicolas Corydon Petersen, & fra Roskilde Tekniske Gymnasium, kommunikation & IT, år 2014 klasse 1.2 12-03-2014.

Læs mere

Indholdsfortegnelse. Roskilde Tekniske Gymnasium Pernille K. Klavsen Klasse 1.2

Indholdsfortegnelse. Roskilde Tekniske Gymnasium Pernille K. Klavsen Klasse 1.2 Roskilde Tekniske Gymnasium Indholdsfortegnelse Indledning... 3 Analyse og planlægning... 4 Kommunikationsplan:... 4 Idéer:... 4 Krav- og testspecifikation... 5 Krav:... 5 Test:... 5 Design... 6 Farvevalg:...

Læs mere

Hent filoplysninger fra billeder og filer

Hent 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 mere

HTX, RTG. Rumlige Figurer. Matematik og programmering

HTX, RTG. Rumlige Figurer. Matematik og programmering HTX, RTG Rumlige Figurer Matematik og programmering Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Morten Bo Kofoed Nielsen & Michael Jokil 10-10-2011 In this assignment we have been working with

Læs mere

NVR Client system. Bruger Manual. SuperVision Alarmteknik ApS Cedervej 2, 8462 Harlev J +45 70 23 93 10 www.supervision-alarm.dk

NVR Client system. Bruger Manual. SuperVision Alarmteknik ApS Cedervej 2, 8462 Harlev J +45 70 23 93 10 www.supervision-alarm.dk NVR Client system Bruger Manual SuperVision Alarmteknik ApS Cedervej 2, 8462 Harlev J +45 70 23 93 10 www.supervision-alarm.dk 1 Indholdsfortegnelse. Side 3: Side 4-5: Side 6: Side 8: Side 10: Side 11:

Læs mere

Brugermanual 3D Webcam

Brugermanual 3D Webcam Brugermanual 3D Webcam 2 Indholdsfortegnelse Kort introduktion... 4 Installation... 4 Hardware Installation... 4 Software Installation... 5 Forklaring til knapper... 6 Linse Focus... 6 3D Justering...

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Visual Basic for begyndere

Visual Basic for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Visual Basic for begyndere I denne artikel vil jeg gennemgå Visual Basic (IKKE.NET / Visual Basic 2005 Express Edition) på et begynder-niveau. fed kursiv

Læs mere

Større skriftlige opgaver i Microsoft Word 2007 Indhold

Større skriftlige opgaver i Microsoft Word 2007 Indhold Større skriftlige opgaver i Microsoft Word 2007 Indhold Større skriftlige opgaver i Microsoft Word 2007... 1 Inddeling i afsnit... 2 Sideskift... 2 Sidetal og Sektionsskift... 3 Indholdsfortegnelse...

Læs mere

I gang med dit Gamer: bit Arkade Kit Denne guide er oversat og en smule forenklet fra Sparkfuns Hook-Up guide

I gang med dit Gamer: bit Arkade Kit Denne guide er oversat og en smule forenklet fra Sparkfuns Hook-Up guide I gang med dit Gamer: bit Arkade Kit Denne guide er oversat og en smule forenklet fra Sparkfuns Hook-Up guide Gamer: Bit Carrier Board er en docking-station til micro:bit, som gør det nemt at anvende alle

Læs mere

Derfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer

Derfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer Denne guide er oprindeligt udgivet på Eksperten.dk TreeView i Access II Jeg vil i denne anden udgave af treeview føljetonen begynde på et mere brugbart eksempel med et TreeView. Vi laver en ny database

Læs mere

Adgang til WebGraf. 1. Start Microsoft Internet Explorer. 2. Skriv: http://kort.ge.dk

Adgang 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 mere

"# $%$ " # $ % $ $ " & ( ) *+!,! Sum_Cost >= 5000SirName = Beltov Continue = %!- + ( ( - True) Continue *! If Antal <= 20 Then EnhedsOmk = 1.

# $%$  # $ % $ $  & ( ) *+!,! Sum_Cost >= 5000SirName = Beltov Continue = %!- + ( ( - True) Continue *! If Antal <= 20 Then EnhedsOmk = 1. "# $$ " # $ && & ' $ $ " & ) *+, Sum_Cost >= 5000SirName = Beltov Continue = True) Continue *, + If Antal

Læs mere

Computerspil dokumentation. Dokumentation af spillet Rescue Me

Computerspil dokumentation. Dokumentation af spillet Rescue Me Computerspil dokumentation Dokumentation af spillet Rescue Me Indholdsfortegnelse Formål... 3 Indledning... 3 Design... 4 Planlægning... 5 Fremgangsmåde... 6 Målgruppen... 8 Et lærerigt spil... 10 Styring

Læs mere

Computerspil. Hangman. Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium.

Computerspil. Hangman. Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium. 10-02-2015 Computerspil Hangman Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium. Kom/it c Indhold Intro... 2 Indledende aktivitet... 2 Kommunikations

Læs mere

Andreas Møinichen og Aske Märcher 10-05-2011

Andreas Møinichen og Aske Märcher 10-05-2011 Programmering Læring om Cos(x) og Sin(x) Andreas Møinichen og Aske Märcher 10-05-2011 LÆRER: KARL BJARNASON Roskilde Tekniske gymnasium. Klasse 2.1 Indholdsfortegnelse PROJEKTBESKRIVELSE... 3 INDLEDNING...

Læs mere

Spil og svar. Journal nr. 13.12.599. Et webbaseret værktøj udviklet af Programdatateket i Skive

Spil og svar. Journal nr. 13.12.599. Et webbaseret værktøj udviklet af Programdatateket i Skive Journal nr. 13.12.599 Spil og svar Et webbaseret værktøj udviklet af Programdatateket i Skive E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.dk Kolofon HVAL-vejledning Spil og svar

Læs mere

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl: Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan

Læs mere

Trådløs sikkerhed Windows XP

Trådløs sikkerhed Windows XP 8 trins guide til øget sikkerhed i dit trådløse netværk (Windows XP). Denne guide gælder for det trådløse modem Billion BiPAC 5200GR3. Med hjælp fra denne guide kan du registrere de computere, som du ønsker

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

Overvågningskamera. ~Af Svend, Valdemar og Frederik~

Overvågningskamera. ~Af Svend, Valdemar og Frederik~ Lavet af Svend, Valdemar og Frederik 2.3 HTX - Roskilde Overvågningskamera ~Af Svend, Valdemar og Frederik~ I dette forløb har vi arbejdet med overvågningskameraer. Det handlede om at lære, hvordan et

Læs mere

Computerens - Anatomi

Computerens - Anatomi 2014 Computerens - Anatomi Rapporten er udarbejdet af Andreas og Ali Vejleder Karl G Bjarnason Indholdsfortegnelse Formål... 2 Indledning... 2 Case... 3 Design... 3 Skitser... 4 Planlægning... 5 Kravsspecifikation...

Læs mere

Indholdsfortegnelse. 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.. 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 mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

Informationsteknologi

Informationsteknologi IT-produkt til læring Lars Thomsen Vejleder: Karl HTX Roskilde 03/03-2009 Side 1 af 1 Indholdsfortegnelse 1. Planlægning:... 3 1.1 Kommunikationsplanlægning:... 3 1.1.1 Analyse af problemstilling:... 3

Læs mere

ViKoSys. Virksomheds Kontakt System

ViKoSys. 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 mere

Opret en Powerpoint præsentation automatisk med VBA

Opret en Powerpoint præsentation automatisk med VBA Opret en Powerpoint præsentation automatisk med VBA I denne vejledning bliver det gennemgået, hvordan man via VBA kan oprette en powerpoint med diagrammer og kommentarer fra Excel automatisk. Gør som følgende:

Læs mere

Betjeningsvejledning. for. UniRace

Betjeningsvejledning. for. UniRace Betjeningsvejledning for UniRace 2007 Et konkurrence indtastningsprogram. Indholdsfortegnelse Indholdsfortegnelse... 2 Figur fortegnelse... 3 Indledning... 4 Race info... 4 Indtastning af deltagere...

Læs mere

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-) Denne guide er oprindeligt udgivet på Eksperten.dk Batch genopfriskning Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-) Skrevet den 03.

Læs mere

Introduktion til ActionScript

Introduktion 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 mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

Guide til Umbraco CMS

Guide til Umbraco CMS web Guide til Umbraco CMS Indhold Indledning 3 Kompatible browsere 3 Log ind i Umbraco 4 Content-delen 5 Indholdstræet 5 Tilføjelse af en side/sektion 7 Sortering af indhold 12 Galleri 14 Mediebibliotek

Læs mere

EDUCATE.AU.DK/BLACKBOARD

EDUCATE.AU.DK/BLACKBOARD Kaltura er en videoserver på AU Library, Aarhus Universitet, hvor ansatte kan uploade video filer via Blackboard. Det samme kan studerende, hvis underviseren giver dem lov. Du uploader alle dine videoer

Læs mere

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Mircobit Kursus Lektion 4   (Du skal her vælge Lets Code Og herefter Block Editor.) Mircobit Kursus Lektion 4 http://microbit.org/ (Du skal her vælge Lets Code Og herefter Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. I skulle lave et stop ur man kunne

Læs mere

DRFLive - dynamisk visning af resultater fra DRF Stævnesystem

DRFLive - dynamisk visning af resultater fra DRF Stævnesystem DRFLive - dynamisk visning af resultater fra DRF Stævnesystem Resumé: Beskrivelse af program (DRFLive) til dynamisk visning af resulter fra DRF Stævnesystem Forfatter: Claus Hulstrøm Dato: 15. januar 2010

Læs mere

Greenfoot En kort introduktion til Programmering og Objekt-Orientering

Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot er et computer-program, som kan benyttes til at skrive andre computer-programmer, i et programmeringssprog kaldet Java.

Læs mere

Foscam FI9853P og FI9851P med Fibaro Home Center

Foscam FI9853P og FI9851P med Fibaro Home Center Foscam FI9853P og FI9851P med Fibaro Home Center Køb FI9853P Udendørs Camara Klik Her Køb FI9851P Indendørs Camara Klik Her Der er 3 Stik / Ledninger på dit Camara: 1 : Til Strømforsyning 2: Til Netværk

Læs mere

Dual boot. af Windows 7 og Linux Mint. Af Thomas Bødtcher-Hansen

Dual boot. af Windows 7 og Linux Mint. Af Thomas Bødtcher-Hansen Dual boot af Windows 7 og Linux Mint Af Thomas Bødtcher-Hansen Dual boot af Windows 7 og Linux Mint "Dual boot af Windows 7 og Linux Mint" er en udvidelse af min IT guide "Linux Mint med fokus på privatliv

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

TEKNISK VEJLEDNING SPILLET FREMTIDENS LANDBRUG

TEKNISK VEJLEDNING SPILLET FREMTIDENS LANDBRUG TEKNISK VEJLEDNING SPILLET FREMTIDENS LANDBRUG Før du går i gang Inden I går i gang, skal du vide følgende: Spillet kan kun spilles på tablets og computere både stationære og bærbare. Spillet virker IKKE

Læs mere

Computerspil - Kappa

Computerspil - Kappa Computerspil - Kappa Indledende aktivitet Kommunikationsplanlægning: Ressourceplanlægning: Iterationsplanlægning Brugerhistorier Kravspecifikation og testspecifikation Krav som skal opfyldes for at passe

Læs mere

FC-intranet: FC-intranet er et fælles mail- og konferencesystem, hvor lærere og elever kan kommunikere.

FC-intranet: FC-intranet er et fælles mail- og konferencesystem, hvor lærere og elever kan kommunikere. IT-intro 9. august 2011 14:56 IT-introduktion på Risskov Gymnasium FC-intranet: FC-intranet er et fælles mail- og konferencesystem, hvor lærere og elever kan kommunikere. Før end man kan logge sig ind

Læs mere

Kapitel 6 Events i C#

Kapitel 6 Events i C# Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel

Læs mere

Pædagogisk vejledning til. Materialesæt. Sphero. http://via.mitcfu.dk/99872760

Pædagogisk vejledning til. Materialesæt. Sphero. http://via.mitcfu.dk/99872760 Pædagogisk vejledning til Materialesæt Sphero http://via.mitcfu.dk/99872760 Pædagogisk vejledning til materialesættet Sphero Materialesættet kan lånes hos VIA Center for Undervisningsmidler og evt. hos

Læs mere

DMX styring med USB-interface

DMX 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 mere

SIDEN PÅ WORDPRESS.COM

SIDEN PÅ WORDPRESS.COM WordPress WordPress er et fantastisk program til blog og til hjemmesider, hvor du gerne vil kunne rette via din browser. WordPress er meget udbredt og det er derfor nemt at finde fora, templates og hjælp

Læs mere

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(klasser),

Læs mere

Ghostbusters. Introduktion. Scratch. Du skal lave et fangelegsspil med spøgelser! Arbejdsliste. Test dit Projekt. Gem dit Projekt

Ghostbusters. Introduktion. Scratch. Du skal lave et fangelegsspil med spøgelser! Arbejdsliste. Test dit Projekt. Gem dit Projekt Scratch 1 Ghostbusters 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 register

Læs mere

Tag smarte skærmskud

Tag smarte skærmskud Tag smarte skærmskud Hvis du vil vise din kammerat en detalje fra din pc-skærm, er programmet Jing uden sammenligning det bedste værktøj til formålet. Her viser journalist Steffen Slumstrup Nielsen dig,

Læs mere

EVALUERING I SURVEYXACT TRIN FOR TRIN

EVALUERING I SURVEYXACT TRIN FOR TRIN EVALUERING I SURVEYXACT TRIN FOR TRIN LÆR AT TACKLE 2015 KOMITEEN FOR SUNDHEDSOPLYSNING 1 INDLEDNING Komiteen for Sundhedsoplysning stiller SurveyXact et internetbaseret redskab til kvalitetssikring til

Læs mere

4.0 SharePoint redigering De lokale hjemmesider er bygget i et Microsoft program kaldet SharePoint2010.

4.0 SharePoint redigering De lokale hjemmesider er bygget i et Microsoft program kaldet SharePoint2010. 4.0 SharePoint redigering De lokale hjemmesider er bygget i et Microsoft program kaldet SharePoint00. Hvis man som webmaster vælger at redigere hjemmesiden uden brug af guiderne sker det via de redigeringsmuligheder

Læs mere

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13 1 Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Hvad er en makro... 10 Hvad kan du bruge en makro til... 10 Hvad en makro er (Visual Basic for Applications)... 11 Det hele sker

Læs mere

Vejledning til. LearnSpace

Vejledning til. LearnSpace Vejledning til LearnSpace Version 13. 08. 2015 Indholdsfortegnelse Om LearnSpace... 2 Oprette et nyt kursus i egen afdeling... 3 Aktivere selvtilmelding til et kursus... 5 Tilmelde undervisere der må redigere

Læs mere

Verniers spektrofotometer SPRT-VIS USB 650

Verniers spektrofotometer SPRT-VIS USB 650 Verniers spektrofotometer SPRT-VIS USB 650 Bølgelængdeinterval: 350 nm 1000 nm, nøjagtighed: < 1 nm. Brug Logger Pro s nyeste udgaver (3.6.0 eller 3.6.1). Hent evt. opdateringer fra Verniers hjemmeside

Læs mere

Microsoft PowerPoint 2010

Microsoft PowerPoint 2010 Microsoft PowerPoint 2010 Opbyg dias... 3 Sidehoved og sidefod... 3 Afspil diasshow... 4 Vis dias... 4 Formatering og baggrund... 5 Overgang... 6 Animation... 7 Indspil tidsindstilling... 8 Gentagen visning...

Læs mere

EVALUERING I SURVEYXACT TRIN FOR TRIN

EVALUERING I SURVEYXACT TRIN FOR TRIN EVALUERING I SURVEYXACT TRIN FOR TRIN LÆR AT TACKLE 2015 KOMITEEN FOR SUNDHEDSOPLYSNING 1 INDLEDNING Komiteen for Sundhedsoplysning stiller SurveyXact et internetbaseret redskab til kvalitetssikring til

Læs mere

Brugervejledning til Tildeling.dk brugere Tilbudsgiver

Brugervejledning til Tildeling.dk brugere Tilbudsgiver Brugervejledning til Tildeling.dk brugere Tilbudsgiver Opdateret den 15. november 2017 Side 1 af 9 Indholdsfortegnelse 1 Formål... 3 2 Adgang... 3 3 Menu... 3 3.1 Opgaveliste... 4 3.1.1 Spørgsmål og svar...

Læs mere

Vistemmernu. 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. 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 mere

Brugervejledning til Tildeling.dk Superbrugere Tilbudsgiver

Brugervejledning til Tildeling.dk Superbrugere Tilbudsgiver Brugervejledning til Tildeling.dk Superbrugere Tilbudsgiver Opdateret den 15. november 2017 Side 1 af 11 Indholdsfortegnelse 1 Formål... 3 2 Adgang... 3 3 Menu... 3 3.1 Opgaveliste... 4 3.1.1 Spørgsmål

Læs mere

DiSEqC-Positioner. Best. nr. HN4892 (Brugsanvisnings nr. 361)

DiSEqC-Positioner. Best. nr. HN4892 (Brugsanvisnings nr. 361) DiSEqC-Positioner Best. nr. HN4892 (Brugsanvisnings nr. 361) DiSEqC 1.0/1.2 Positioner DiSEqC-omformer, som gør at man kan styre en parabolmotor 36-Volts type med alle digital modtagere som har standard

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Skab Din Egen Verden

Skab Din Egen Verden Scratch 2 Skab Din Egen Verden 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.

Læs mere

Afsluttende - Projekt

Afsluttende - Projekt 2014 Afsluttende - Projekt Rapporten er udarbejdet af Ali, Andreas og Daniel Vejleder Karl G Bjarnason Indholdsfortegnelse Indledning... 2 Case... 3 Design... 4 Python kalender:... 4 Poster:... 4 Planlægning...

Læs mere

6. Eventstyret programmering og Windows

6. Eventstyret programmering og Windows 6. Eventstyret programmering og Windows Indsigt i events og styresystemets rolle I det følgende skal vi se på en række mere tekniske ting vedrørende Delphi og Windows, nemlig hvordan programmer styres

Læs mere

Easy Guide i GallupPC

Easy Guide i GallupPC Easy Guide i GallupPC Version. 6.00.00 Gallup A/S Masnedøgade 22-26 DK 2100 København Ø Telefon 39 27 27 27 Fax 39 27 50 80 Indhold SÅDAN KOMMER DU I GANG MED AT ANVENDE GALLUPPC... 2 TILFØJELSE AF UNDERSØGELSER

Læs mere

SÅDAN BRUGER DU REGNEARK INTRODUKTION

SÅDAN BRUGER DU REGNEARK INTRODUKTION SÅDAN BRUGER DU REGNEARK INTRODUKTION I vejledningen bruger vi det gratis program Calc fra OpenOffice som eksempel til at vise, hvordan man bruger nogle helt grundlæggende funktioner i regneark. De øvrige

Læs mere

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer.

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer. Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er at programmet skal registreres, dette gøres ved at vælge menuen Help og derefter

Læs mere

Bekrig Klonerne. Introduktion. Scratch. I dette projekt skal du lære, hvordan du laver et spil, hvor du skal redde Jorden fra monstre i rummet.

Bekrig Klonerne. Introduktion. Scratch. I dette projekt skal du lære, hvordan du laver et spil, hvor du skal redde Jorden fra monstre i rummet. Scratch 2 Bekrig Klonerne 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.

Læs mere

2017 Recordit.nu version 2. Call Recorder Kvikguide for Apresa Client

2017 Recordit.nu version 2. Call Recorder Kvikguide for Apresa Client 2017 Recordit.nu version 2 Call Recorder Kvikguide for Apresa Client Indholdsfortegnelse 1 Indledning... 3 2 Opsætning... 4 2.1 Brugere... 4 2.2 Konto... 7 2.3 Server forbindelse... 7 2.4 Skærm... 8 2.5

Læs mere