[java] Dobbelspel, action performed in public void paint?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dennis1812
  • Registratie: Mei 2011
  • Laatst online: 22:33

Dennis1812

Amateur prutser

Topicstarter
Hoihoi,

Nadat mijn vorige topic gesloten werd, nog maar een topic.
Ik moet voor school dus een dobbelspel maken, maar ik zit met een probleem. Namelijk dat ik acties die ik in de public void paint aangeef, moeten gebeuren als er een bepaalde waarde optreed bij de ActionPerformed, dus in mijn geval. Als bij de Actionperformed er 1 uitkomt, moet er 1 cirkel getekent worden in een bepaald vierkantje (1 van de 3, als er dan bij de tweede 2 uitkomt moeten er 2 cirkels getekend worden etc.)
Maar hij tekent deze cirkels gewoon helemaal nooit, maakt niet uit wat ik neerzet. Hij geeft ook verder geen enkele error, maar hoe vaak ik ook op de 'gooi' knop druk, er word nooit gegooid.
Hier de relevante stukken code:
De de Actionperformed:
Java:
1
2
3
4
5
6
7
8
9
public void actionPerformed( ActionEvent e )
 {
    if( e.getSource() == gooiknop ) {

        //Bepaal random nummer van 1 t/m 6

        repaint();
    }
 }

De public void paint:
Java:
1
2
3
4
5
 public void paint(Graphics g)
  {
    //Teken dobbelsteen
    // Vraag: Hoe weet ik nu welk cijfer gegooid was?
  }


Ik zelf denk dat het probleem ergens bij de public void paint moet liggen, maar ik kan er niet achter komen waar precies. Ik zelf heb al hulp gevraagd aan de leraar, hij verwees me weer door richting het internet, hier heb ik met verschillende zoekopdrachten (how to put Actionperformed in public void paint, en vele variaties hierop) geprobeerd tot mijn antwoord te komen maar is dit niet gelukt

Dus..:
Ik wil dus iets wat in de actionPerformed gebeurd terug laten komen in de public void paint, maar ik weet niet hoe. Mijn vraag is dus in feite, weet iemand hoe dit moet, en kan hij het mij uitleggen? Dus niet gewoon even die code fixen, want ik moet het zelf ook kunnen toepassen en snappen.


Mocht er aan dit topic nog steeds iets niet correct zijn, laat het dan even weten a.u.b dan pas ik het aan.

[ Voor 28% gewijzigd door RobIII op 15-01-2012 13:14 . Reden: code gestript ]

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je nou eens begint met:
1) Debuggen: Hoe doe ik dat?
2) Inlezen in basiskennis; waarom zet je niet gewoon een private variabele op de waarde van de geklikte button? In de Paint kun je dan die variabele uitlezen en gebruiken om te besluiten wat je gaat tekenen.

En trap verdorie die leraar eens; als dit al lesgeven heet... :X

[ Voor 9% gewijzigd door RobIII op 15-01-2012 13:04 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

aantalOgen is een lokale variabele. Die wordt niet meegenomen naar de scope van de paint method.
Je moet zorgen dat je de waarden toekent aan iets dat wél binnen die scope te benaderen is, bijvoorbeeld door een property van de class te veranderen.

Tip voor beginners: schrijf overal expliciet "this." voor waar je iets buiten je method scope bedoelt. Dat helpt je om beter te kunnen zien wat waar bekend is.

Acties:
  • 0 Henk 'm!

Verwijderd

Wat sowieso al fout is, is dat je vanuit je Paint opnieuw Repaint aanroept.
Hierdoor krijg je een eindeloze lus van Repaints mocht één van de "aantalOgen" niet 1 zijn.

Twee. Zie ik je daadwerkelijk dezelfde code 3x uitvoeren? Ik zal, als ik jou was, die code samenvoegen in 1 method. Bijvoorbeeld

Java:
1
2
3
4
5
6
7
8
public int gooiDobbelsteen()
{ 
         double t; 
         t = Math.random(); 
         t *= 6; 
         t += 1; 
         return ( int) t;     
}


Deze kan je vanuit action performed aanroepen en in de juiste variabelen zetten.

Aan het einde van je actionPerformed zet je 1 keer Repaint en het moet werken.

Uiteindelijk moet je iets als dit krijgen:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Dobbelspel 
{
     private int aantalOgen;
     private int aantalOgen2;

     public void actionPerformed(ActionEvent e)
     {
             if( e.getSource() == gooiknop )
             {
                   this.aantalOgen = gooiDobbelsteen();
                   this.aantalOgen2 = gooiDobbelsteen();

                   repaint();
             }
      }


      public void Paint(Graphics g)
      {
           //Teken vierkantjes.

            if(this.aantalOgen == 1)
            {
                 //Teken 1 cirkel
            }
      }

      //gooiDobbelsteen method (zie hierboven)

}

Dit is natuurlijk nog lang niet alles, gezien je ook het tekenen van de dobbelstenen in een aparte method kan gooien ;)

[ Voor 60% gewijzigd door Verwijderd op 15-01-2012 13:22 ]


Acties:
  • 0 Henk 'm!

  • Dennis1812
  • Registratie: Mei 2011
  • Laatst online: 22:33

Dennis1812

Amateur prutser

Topicstarter
Thx voor het openlaten van het topic en nog even verder aan te passen.
En @Robll, hij geeft zelf ook gewoon toe dat hij het niet snapt en we het zelf maar uit moeten zoeken...
Private variable ga ik zometeen eens opzoeken.
@cheatah, bedankt voor je antwoord :) zal straks even opzoeken wat Scope precies inhoud en zal mezelf ook aan gaan leren om this vaker te gebruiken.
@Sanderev: ik wist helemaal niet dat je ook zelf methods mocht verzinnen :O
Thanks :D en helemaal bedankt voor je tweede gedeelte :d


Denk dat ik met de antwoorden die ik tot nu toe heb een heel eind ga komen, mocht ik er op een bepaald punt nog niet uitkomen zal ik nog een post maken, maar ik heb het idee dat ik er helemaal uit kan komen zo :)

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 23:34
denikids schreef op zondag 15 januari 2012 @ 14:00:
[...]@Sanderev: ik wist helemaal niet dat je ook zelf methods mocht verzinnen :O
Thanks :D en helemaal bedankt voor je tweede gedeelte :d[...]
In dat geval stel ik voor dat je een boek a la Java for dummies gaat zoeken ergens en die even gaat doornemen :)

Acties:
  • 0 Henk 'm!

  • Dennis1812
  • Registratie: Mei 2011
  • Laatst online: 22:33

Dennis1812

Amateur prutser

Topicstarter
Ik heb het boekje Java van instruct hier voor me liggen stamt uit 2002
Afbeeldingslocatie: http://www.instruct.nl/uploads/RTEmagicC_Snap5Keuze.Java.jpg.jpg
Deze hebben wij gekregen, maar dat word er niet in behandeld in elk geval. We hebben ook overigens totaal géén uitleg gekregen. We kregen het boekje met de opdracht: succes ermee, dan heb je je proefwerk en een maand na dat proefwerk moet je een spelletje afhebben. Als je een vraag hebt komt je antwoord erop neer dat de leraar het zelf ook niet snapt, en dat zegt hij ook vaak genoeg gewoon.

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien een tip voor je:
http://java.sun.com/docs/books/jls/

Hier kan je gratis ebooks over java downloaden. Het is niet echt een lesboek maar je vind denk ik niet een completer boek ;)

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

denikids schreef op zondag 15 januari 2012 @ 14:00:
Private variable [...] Scope [...] ik wist helemaal niet dat je ook zelf methods mocht verzinnen
Dus je leraar poogt jullie Java te leren, zonder te kunnen vertellen wat programmeren is? Wens hem maar succes van me.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Dennis1812
  • Registratie: Mei 2011
  • Laatst online: 22:33

Dennis1812

Amateur prutser

Topicstarter
Tja, tekort aan leraren, dan krijg je zulke mensen voor de klas.
Het probleem waar ik dit topic voor geopend had is volledig opgelost nu in elk geval :) ik ga weer verder met mijn code, mocht ik nog ergens niet uitkomen zal ik dit wederom even posten als ik er echt niet aan uit kom.

@Sanderev66, dankjewel! ik ga eens kijken.

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


Acties:
  • 0 Henk 'm!

Verwijderd

Met een beetje interesse kun je programmeren zelf ook wel leren :)

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 02-10 16:55
denikids schreef op zondag 15 januari 2012 @ 16:56:
Tja, tekort aan leraren, dan krijg je zulke mensen voor de klas.
Ik zou alsnog luidruchtig klagen: als je leraar zelf geen Java ken of uit kan leggen, en het lesmateriaal hopeloos verouderd is (want 2002 is antiek), is het papiertje wat je evt. zou krijgen 0,0 waard. Dit soort onderwijs is onder de maat.

[/rant]

Acties:
  • 0 Henk 'm!

  • Dennis1812
  • Registratie: Mei 2011
  • Laatst online: 22:33

Dennis1812

Amateur prutser

Topicstarter
Dit topic mag langzaam weg gaan zakken in vergetelheid. Mijn spelletje is klaar namelijk :)
Probleem dat ik in dit topic beschreven had heb ik opgelost door de post van Sanderev, iedereen die eenzelfde probleem heeft raad ik aan zijn post te lezen, daarna lukt het je vast wel :)
Overige probleempjes heb ik allemaal zlef op kunnen lossen door mn boekje + internet.
Voor de geïnteresseerden dit is mijn script geworden:
http://pastebin.com/qKiVjU3k

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


Acties:
  • 0 Henk 'm!

  • Joshua
  • Registratie: Juli 2005
  • Laatst online: 10-10 16:11
denikids schreef op zondag 15 januari 2012 @ 19:54:
Dit topic mag langzaam weg gaan zakken in vergetelheid. Mijn spelletje is klaar namelijk :)
Probleem dat ik in dit topic beschreven had heb ik opgelost door de post van Sanderev, iedereen die eenzelfde probleem heeft raad ik aan zijn post te lezen, daarna lukt het je vast wel :)
Overige probleempjes heb ik allemaal zlef op kunnen lossen door mn boekje + internet.
Voor de geïnteresseerden dit is mijn script geworden:
http://pastebin.com/qKiVjU3k
Ik zie wel nog verbeterpunten in bijv. de benaming van je variable en de manier van werken met if/else/else-if.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Joshua schreef op zondag 15 januari 2012 @ 20:52:
[...]


Ik zie wel nog verbeterpunten in bijv. de benaming van je variable en de manier van werken met if/else/else-if.
Arrays en loops bijvoorbeeld ;) DRY
denikids schreef op zondag 15 januari 2012 @ 19:54:
Probleem dat ik in dit topic beschreven had heb ik opgelost door de post van Sanderev, iedereen die eenzelfde probleem heeft raad ik aan zijn post te lezen, daarna lukt het je vast wel :)
Het is alleen jammer dat je 't nou toch nog voorgekauwd en wel op een zilveren presenteerblaadje hebt gekregen. Zeg nou eens eerlijk: wat heb je nu precies gedaan en wat heb je hier nu van geleerd? Wat ben je nu wijzer geworden?

[ Voor 55% gewijzigd door RobIII op 15-01-2012 21:28 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Dennis1812
  • Registratie: Mei 2011
  • Laatst online: 22:33

Dennis1812

Amateur prutser

Topicstarter
Ik ben best veel wijzer geworden eigenlijk.
Bijvoorbeeld weet ik nu dat je zelf ook classes mag verzinnen, en heb ik over die variabelen geleerd waardoor ik dingen die in de actionperformed pas berekend worden in de void paint al kan laten tekenen (dus die getallen van de dobbelsteen).
Dit kan ik nu in elk willekeurig script toepassen, verder maar dat is buiten dit topic om dan, maar wel in hetzelfde script, heb ik de kennis over het rekenen en textfields weer opgefrist en kan ik hier ook weer goed mee werken.

Ik kan dus wel zeggen dat ik best veel geleerd heb, ook door dit topic, ook al heb ik het dan deels aangereikt gekregen zonder hierom gevraagd te hebben, want zeg eens eerlijk. Ik vroeg niet: doe dit voor me, ik vroeg om de uitleg en die heb ik ook gekregen, ik moest zelf het meeste daarna nog invullen e.d.

En vooral daardoor snap ik het nu, omdat ik het zelf nog grotendeels gedaan heb, en daarna nog 5-6x voor de overige getallen en het totaalgetal, ik kan dat nu altijd toepassen, in welk script ook en of het nou om getallen gaat of niet. Dankzij die variabelen die me geleerd zijn.


Verder Joshua, u heeft een DM.

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


Acties:
  • 0 Henk 'm!

Verwijderd

In het kader van duidelijkheid zou ik dit toch nog verbeteren.

1: Je kunt beter een method maken die een dobbelsteen tekent, en die moet er zo te zien ongeveer als volgt uitzien:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void drawDie(Graphics g, int pips, int offsetX, int offsetY) {
   g.drawRect(offsetX, offsetY, 50, 50);
   g.setColor(Color.black);
   if (pips % 2 == 1) {
      g.fillOval(offsetX + 20, offsetY + 20, 10, 10);
   }
   if (pips >= 2) {
      g.fillOval(offsetX + 5, offsetY + 35, 10, 10);
      g.fillOval(offsetX + 35, offsetY + 5, 10, 10);      
   }
   if (pips >= 4) {
      g.fillOval(offsetX + 5, offsetY + 5, 10, 10);
      g.fillOval(offsetX + 35, offsetY + 35, 10, 10);
   }
   if (pips = 6) {
      g.fillOval(offsetX + 5, offsetY + 20, 10, 10);
      g.fillOval(offsetX + 35, offsetY + 20, 10, 10);
   }
}

Zoals je ziet is deze code véél korter om een dobbelsteen te tekenen, en je kunt de method makkelijk gebruiken om een dobbelsteen op een bepaalde plaats te tekenen.

2. Wat mij betreft kun je het best een aparte class maken voor een dobbelsteen, en die class moet natuurlijk de logica bevatten om een nieuwe random waarde te kunnen aannemen door simpelweg een method te maken die precies dat doet, en code om zichzelf ergens te tekenen op een Graphics object. Afhankelijk van het type spel kun je zorgen dat het gooien van zo'n dobbelsteen al een repaint veroorzaakt, soms wil je dit niet voor bijvoorbeel performance. De dobbelsteen class kan natuurlijk ook zijn positie (offsetX, offsetY) en waarde bevatten.

3. Gebruik een array of een soort collection om de dobbelstenen in op te slaan. Als het spel altijd evenveel dobbelstenen heeft kun je een array gebruiken, en anders gebruik je een generic collection. Dat is nu misschien nog iets te veel voor je.

Probeer de bovenstaande 3 voorstellen uit, neem de code niet zomaar over maar probeer te begrijpen wat het doet en waarom het beter is dit op te delen in afzonderlijke objecten. Ik ben benieuwd of je hier verder mee komt, want je code is nog steeds verre van perfect :)

Acties:
  • 0 Henk 'm!

Verwijderd

Is dat niet een beetje ingewikkeld voor iemand die net met programmeren is begonnen? ;)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
denikids schreef op zondag 15 januari 2012 @ 21:52:
Bijvoorbeeld weet ik nu dat je zelf ook classes mag verzinnen
Dit is misschien niet je schuld maar te wijten aan de incompetentie van je leraar maar ik vond en vind dit ronduit schokkend en schandalig.
denikids schreef op zondag 15 januari 2012 @ 21:52:
en heb ik over die variabelen geleerd
Ook enig idee waarom je die variabelen private maakt? En je begrijpt wat het verschil is tussen public en private? Heb je ook geleerd wat een variabele's scope precies is? Als je hier geen kant-en-klaar antwoord op hebt zonder 't te moeten googlen ben je echt geen meter opgeschoten en mogelijk zelfs verder van huis. Waarom? Omdat de volgende keer dat je tegen een probleem aan loopt je nu braaf het "truukje dat je hebt geleerd" toepast zonder te weten waarom noch wat de mogelijke consequenties en implicaties daarvan zijn.
denikids schreef op zondag 15 januari 2012 @ 21:52:
Ik vroeg niet: doe dit voor me, ik vroeg om de uitleg en die heb ik ook gekregen
Nee, je kreeg een kant-en-klaar antwoord waar je mee aan de slag ging. De eerste en tweede posts in dit topic wezen je in de juiste richting maar die liet je links liggen omdat 't niet rechtstreeks naar een werkend iets leidde; pas de derde post, toen je het voorgekauwd kreeg, vond je interessant genoeg om eens iets mee te gaan doen.
denikids schreef op zondag 15 januari 2012 @ 21:52:
En vooral daardoor snap ik het nu, omdat ik het zelf nog grotendeels gedaan heb, en daarna nog 5-6x voor de overige getallen en het totaalgetal, ik kan dat nu altijd toepassen
Wat ook gewoon basiskennis is: nu heb je nog een dobbelsteen met 6 mogelijheden; hoe ga je dat straks doen met, zeg, een loterij? ;) Ga je dan een if-else statement van een paar miljoen regels schrijven of ga je eens bedenken of dat niet slimmer/efficiënter kan met loops, arrays en andere zaken? ;) Of als je je spelletje, met (nu) 4 dobbelstenen, zo wil maken dat je met 1 tot 9, 15 of "oneindig" aantal dobbelstenen wil kunnen gooien?
denikids schreef op zondag 15 januari 2012 @ 21:52:
Dankzij die variabelen die me geleerd zijn.
Er zijn je geen variabelen geleerd; dat is 't 'm nou net. Er is je verteld over private members van een class; dat zijn dan misschien wel variabelen maar vraag je eens af waarom die "private" zijn i.t.t. bijv. andere variabelen in je class. En waarom die niet in een methode gedeclareerd worden maar in de class scope ;)
Verwijderd schreef op zondag 15 januari 2012 @ 22:00:
Is dat niet een beetje ingewikkeld voor iemand die net met programmeren is begonnen? ;)
Nee, lekker laten copy/pasten en gewoon laten aanmodderen met code die 15 keer gedupliceerd is in een klasse; dat is goed voor iemand die net met programmeren begonnen is :X Juist iemand die net leert programmeren moet je in 't stramien "kan dat niet makkelijker/beter" zien te krijgen/schoppen. Zo heb ik ooit iemand die zo'n "knightrider led" maakte (van 8 leds breed, op een parallelle poort aangesloten) een if-else statement van 256 x 3 ofzo regels zien schrijven :X :X Een for-loopje van 3 regels en wat "slimmigheidjes" met de loop-variabele voldeed daar prima.

[ Voor 13% gewijzigd door RobIII op 15-01-2012 22:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op zondag 15 januari 2012 @ 22:00:
Is dat niet een beetje ingewikkeld voor iemand die net met programmeren is begonnen? ;)
Misschien wel, maar het is beter om vroeg genoeg in te zien dat je code misschien wel werkt, maar niet erg "schaalbaar" of herbruikbaar is :)
Zoiets kun je heel snel inschatten door jezelf af te vragen hoeveel code je moet toevoegen om een extra dobbelsteen in het spel toe te voegen. Op dit moment zou dat bij de TS nog behoorlijk wat regels code zijn.

Acties:
  • 0 Henk 'm!

  • Dennis1812
  • Registratie: Mei 2011
  • Laatst online: 22:33

Dennis1812

Amateur prutser

Topicstarter
Ik weet niet of ik nog iets aan de code kan veranderen voor de deadline, maar ga zeker aan de slag met de tips die gegeven zijn om in te korten. Is het niet voor de deadline dan wel erna, want ik vind java toch wel interessant om verder mee te gaan.

Verder sorry voor het feit dat ik zoon incapabele leraar heb, maar kan daar weinig tegen doen als leerling zijnde.
En ik heb echt iets geleerd en kan je antwoord geven, maar niet via mn mobiel want dat typed reteirritant.
Ik ga dinsdag in elk geval weer verder met de code.

Nog iets, toen ik refreshde om voor comments te checken stonden er 3 was echt niet zo dat ik met die andere niet blij was.

Volgens mijn dokter ben ik een heel zeldzaam geval. Deal with it.


Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
denikids schreef op zondag 15 januari 2012 @ 21:52:
Bijvoorbeeld weet ik nu dat je zelf ook classes mag verzinnen
Dat heb je niet geleerd.
Je hebt geleerd dat je zelf methodes kunt toevoegen, dat is heel iets anders dan nieuwe classes aanmaken.
Naast de methode die je kant en klaar is aangeleverd heb je daar niks mee gedaan, als je iets nieuws leert moet je het wel toepassen.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op zondag 15 januari 2012 @ 22:02:
[...]

Misschien wel, maar het is beter om vroeg genoeg in te zien dat je code misschien wel werkt, maar niet erg "schaalbaar" of herbruikbaar is :)
Zoiets kun je heel snel inschatten door jezelf af te vragen hoeveel code je moet toevoegen om een extra dobbelsteen in het spel toe te voegen. Op dit moment zou dat bij de TS nog behoorlijk wat regels code zijn.
Dat snap ik (ik ben geen beginnende programmeur ;)) maar gezien het een simpele school opdracht is, lijkt het me niet waarschijnlijk dat hij deze code ooit nog gaat hergebruiken. Dus een volledige Object Oriëntatie lijkt me wat overbodig :+

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op zondag 15 januari 2012 @ 23:15:

Dat snap ik (ik ben geen beginnende programmeur ;))
I know :)
maar gezien het een simpele school opdracht is, lijkt het me niet waarschijnlijk dat hij deze code ooit nog gaat hergebruiken. Dus een volledige Object Oriëntatie lijkt me wat overbodig :+
Nou, het punt is dat ik vind dat "het werkt nu toch" niet het doel mag zijn van zo'n opdracht. Het doel is om mensen gereedschap te geven om verder te kunnen. Als je in Java leert programmeren, moet je ook de Java manier aanleren. Maar goed, de TS zegt het zelf al, het niveau van de docenten is nog altijd erg droevig.

Acties:
  • 0 Henk 'm!

  • ctrlaltdelbe
  • Registratie: Juli 2005
  • Laatst online: 21:12
Als ik de TS een goede tip mag geven: begin met het lezen van het boek 'Head First Java'. De Head First-reeks van O'Reilly is echt ideaal om met iets te beginnen en legt ook de moeilijker dingen op een prima begrijpbare manier uit. Ik denk dat er een hele nieuwe wereld voor je open gaat als je klaar bent met dit boek te lezen.

Acties:
  • 0 Henk 'm!

  • windwarrior
  • Registratie: Januari 2009
  • Laatst online: 12-07-2024

windwarrior

ʍıupʍɐɹɹıoɹ

Verwijderd schreef op zondag 15 januari 2012 @ 23:15:
[...]

Dat snap ik (ik ben geen beginnende programmeur ;)) maar gezien het een simpele school opdracht is, lijkt het me niet waarschijnlijk dat hij deze code ooit nog gaat hergebruiken. Dus een volledige Object Oriëntatie lijkt me wat overbodig :+
Nou, eigenlijk ben ik het hier niet mee eens. Want de TS leert hier programmeren. En code typen is leuk, maar het op de juiste manier doen is beter.

Want de code die de TS gemaakt heeft werkt, maar daar is het wel mee gezegt, een 5e dobbelsteen toevoegen is complete chaos. Een dobbelsteen maken die meer dan 6 states heeft is ook echt niet makkelijk. Het voordeel aan goed programmeren is dat je makkelijker de code aanpast, en dingen toevoegt.

Persoonlijk zou ik voor dit systeem een dobbelsteen klasse maken, die de staat van een dobbelsteen bijhoudt, en dan een klasse die het geheel aanmaakt en bestuurt. Dan is een nieuwe dobbelsteen toevoegen een kwestie van new Dobbelsteen() aanroepen :). Dus het model (de dobbelsteen) en de view/controller (de applet) scheiden.

Waarom ze nieuwelingen in programmeren ook laten beginnen met applets is mij een raadsel, laten we beginnen met de concepten.

[ Voor 5% gewijzigd door windwarrior op 16-01-2012 09:13 . Reden: zpelvout ]


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
@TS: uit interesse; welke opleiding ben je precies mee bezig?
windwarrior schreef op maandag 16 januari 2012 @ 09:10:
Waarom ze nieuwelingen in programmeren ook laten beginnen met applets is mij een raadsel, laten we beginnen met de concepten.
Als een boek met applets begint weet je eigenlijk per definitie al dat het een slecht boek is IMHO.

https://niels.nu

Pagina: 1