Weergegeven resultaten: 1 t/m 17 van 17

Discussie: Java - Tetris

  1. #1
    Member
    Lid sinds
    9/05/12
    Locatie
    Oss
    Berichten
    7
    iTrader
    0

    Java - Tetris

    Hallo allemaal,

    Ik ben al een tijdje voor school bezig in het programma Netbeans. Ik heb besloten het spel Tetris te maken, alleen ik blijf vastlopen en ik heb het gevoel dat ik dit nooit af krijg.

    Ik heb gezorgd dat er blokjes spawnen zodra er een blokje beneden is, maar dat blokje kan maar opgestapelt worden tot een zekere hoogte.

    Verder ben ik dus gestart met het spawnen van blokjes ipv figuren omdat dit vrij lastig is.

    Ik zal de code plakken in een spoiler en hopelijk kunnen jullie me verder helpen.

    Spoiler:


    Alvast vriendelijk bedankt!

    Met vriendelijke groeten,

    Michel.
    Laatst gewijzigd door michel39; 6 juni 2012 om 15:16 Reden: Er klopte wat niet in de code.

  2. #2
    Member blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Wemmel
    Berichten
    1.133
    iTrader
    5 (100%)
    Je kan ook je code gewoon plakken in code-tags hoor ;-)


    Code is nu moeilijk leesbaar, maar voor zover ik kan zien heb je toch nog wat dingen te doen.
    Collision-detection bvb. Implementeer dat (deftig) en je hebt geen problemen meer met de verschillende soorten blokken.

    Verder: MVC patroon.

  3. #3
    Member
    Lid sinds
    9/05/12
    Locatie
    Oss
    Berichten
    7
    iTrader
    0
    Bedankt dat je snel gereageert hebt. Heb je toevallig een stukje code wat ik kan invoegen?

  4. #4
    Member blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Wemmel
    Berichten
    1.133
    iTrader
    5 (100%)
    Ik denk niet dat dat de bedoeling is..

    Maar vermits je met een OO-taal bezig bent: gebruik eens wat meer classes om je code te abstraheren. Het gaat dan vooral voor jezelf véél duidelijk worden hoe je wat moet aanpakken.

  5. #5
    Member
    Lid sinds
    9/05/12
    Locatie
    Oss
    Berichten
    7
    iTrader
    0
    Ik ben een 'noob' in java want begin net met dit onderwerp. Ik blijf vastlopen omdat de stukken codes die ik typ vaak niet willen werken. Dan haal ik het weer weg en ben ik weer terug bij af. Zo gaat het nu al een lange tijd door.

    Zijn er toevallig mensen die wat meer specifieke uitleg kunnen geven met voorbeelden en/of stukjes codes die kunnen zorgen dat mijn Tetris spel iets verder komt.

  6. #6
    Member blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Wemmel
    Berichten
    1.133
    iTrader
    5 (100%)
    Dat rijmt niet helemaal met dit dan he:
    Ik ben al een tijdje voor school bezig in het programma Netbeans. Ik heb besloten het spel Tetris te maken, alleen ik blijf vastlopen en ik heb het gevoel dat ik dit nooit af krijg.

    Als je voorbeelden wil, die kan je wel vinden op het Net. Ik heb de indruk dat je graag een kant-en-klare oplossing wil, maar daar ga je weinig uit leren IMHO.

    Je zegt dat je nu vaak moet herbeginnen omdat je 'vastloopt'. Wel, dat is vrij normaal als je net begint met programmeren. Het is deel van het leerproces & maakt sowieso deel uit van het (serieuzere) programmeerwerk.

    Misschien wil je ook meteen een te moeilijk programma schrijven (ook al is het leuk om spelletjes te maken, natuurlijk).

    In ieder geval, je code ontbreekt aan OO-abstracties. Begin bvb met het abstraheren van uw 'playfield' (noem het gerust een klasse 'Playfield'), die het 'laten zakken' en het 'detecteren van collisions' op zich neemt. Ontwerp eveneens een klasse 'Block' die op een handige wijze een blokje kan beschrijven.

    Verder kan je best ook leren van je aan coding conventions te houden. Namen van variabelen zouden bvb met een kleine letter moeten beginnen, ipv een hoofdletter.

  7. #7
    Member
    Lid sinds
    9/05/12
    Locatie
    Oss
    Berichten
    7
    iTrader
    0
    Bedankt voor dit bericht. Ik snap wat je bedoeld betreft het leerproces, maar mensen leren wanneer er iets voor ze gedaan wordt. Dan blijft het vaak in je hoofd steken en weet je het voor een volgende keer wel. Daarom vroeg ik om een aantal voorbeelden, dan weet ik dat niet alleen voor nu maar ook voor later.

  8. #8
    Approved 9-lifer Recipe4hate's schermafbeelding
    Lid sinds
    13/05/06
    Locatie
    Hoeselt
    Berichten
    6.819
    iTrader
    41 (100%)
    Citaat Oorspronkelijk geplaatst door michel39 Bekijk bericht
    maar mensen leren wanneer er iets voor ze gedaan wordt.
    Niet akkoord. Mensen leren door te doen, fouten te maken, op te zoeken hoe het beter kan, dit te implementeren en dan tevreden te zijn dat het werkt. (bij programming & developing in ieder geval). Van kant-en-klare oplossingen maak je je er snel van af en kan je achteraf niet meer voor de geest halen hoe die codeblok nu ook weer in elkaar stak...

    Daarbuiten denk ik dat je best wat leest over de Java syntax, zodat je frustratie betreffende fouten al een deel vermindert.

    Als je concrete voorbeelden wil geven waar het misloopt (bijvoorbeeld: mijn for-lus doet rare dingen of mijn nieuwe klasse erft niet van mijn hoofdklasse), dan kunnen wij beter aanduiden hoe je verder moet.
    Laatst gewijzigd door Recipe4hate; 9 juni 2012 om 13:18
    Gibson Les Paul Classic Custom / PRS SE Custom / ESP LTD EC-1000 / Schecter C1 JH
    Carvin V3M > Eleven Rack > Zilla 2x12

  9. #9
    Member blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Wemmel
    Berichten
    1.133
    iTrader
    5 (100%)
    Wat Recipe4hate zegt dus...


    Ik heb je alvast enkele tips gegeven om op weg te geraken, als die tips je niets zeggen dan raad ik aan om een goed boek te lezen (of eventueel wat crash courses op internet), zowel rond Java als OO.

    Het MVC pattern waar ik over sprak kan je bvb nog even links laten liggen, maar als je je code leesbaar wil houden (en liefst ook herbruikbaar), dan zal je toch wat 'verantwoordelijkheden' moeten gaan verdelen over verschillende entities (ipv alles in 1 klasse te proppen)



    En nog even dit: begin met een console-applicatie. Ja, dat is veel minder fancy, maar je gaat er meer uit leren. Je kan je dan focussen op JAVA/OO en GUI-shizzle (wat ik persoonlijk altijd 'lelijke' & bombastische code vind) voorlopig achterwege laten.
    Begin met een simpel programma, bvb iets 'boekhoudkundig' ofzo:
    - je kan 'items' toevoegen aan een 'DB' (dat hoeft geen database te zijn, kan bvb door een Map worden bijgehouden), waarbij elk item volgende eigenschappen heeft:
    -- aankoopprijs
    -- verkoopprijs
    -- hoeveelheid in stock
    - een 'factuur' opstellen: items 'selecteren' (dat kan ok via console, bvb dmv een genummerde lijst, waarbij de gebruiker een cijfer uit de lijst moet ingeven om een lijstitem te selecteren)
    - een rapport 'uitprinten' (ook in console dus) met info zoals:
    -- samenvatting van verkopen (% winst, bedragen, ..)
    -- totale winst
    -- resterende stock

    etc etc
    Je kan dit om te beginnen gerust implementeren dmv in/output rechtstreeks in je methods te laten uitvoeren (= stap 1). Eens je programma werkt, kan je proberen het te transformeren zodat het MVC pattern gebruikt wordt (maar nog steeds met console dus) (= stap 2). Vervolgens, wanneer MVC juist is geimplementeerd, is het eenvoudig om de console-interface te vervangen door een grafische interface (= stap 3).

    Op deze manier ga je gaandeweg een aantal concepten leren & hopelijk inzien hoe design van een OO programma 'werkt' en invloed heeft op de rest van de implementatie.
    Laatst gewijzigd door blackrabbit; 9 juni 2012 om 13:18

  10. #10
    Member Maser00's schermafbeelding
    Lid sinds
    7/07/09
    Locatie
    Oost-Vlaanderen
    Berichten
    1.146
    iTrader
    12 (100%)
    Of begin met bv. memory te maken, das makkelijker en ook een van onze eerste opdrachten op school.

  11. #11
    Member blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Wemmel
    Berichten
    1.133
    iTrader
    5 (100%)
    Wat heb je ondertussen nog gedaan?

  12. #12
    Member
    Lid sinds
    9/05/12
    Locatie
    Oss
    Berichten
    7
    iTrader
    0
    Bedankt voor de tips en snelle reacties steeds. Ik heb ondertussen op internet wat dingen gelezen over java in netbeans en begrijp het conept wel, maar op school worden we als het ware het diepe in gegooid want ik ben een beginnend informatica leerling en we moeten direct een spel in elkaar zetten zonder ook maar ooit in aanraking geweest te zijn met dit programma en deze codes.

    Het is de bedoeling dat we dit spel eigenlijk deze week/volgende week af hebben maar ik heb de leraar al aangegeven dat dit absoluut niet gaat lukken. Ik heb hem gezegd dat ik het zo ver mogelijk af probeer te krijgen, maar dat wordt moeilijk. Ik ga in ieder geval proberen nog wat dingen aan het spel te bewerken zodat het wat duidelijker/overzichtelijker wordt en misschien nog wat beter.

    Ik hoop dat het me lukt, maar het zal moeilijk worden.

  13. #13
    Member blackrabbit's schermafbeelding
    Lid sinds
    25/07/02
    Locatie
    Wemmel
    Berichten
    1.133
    iTrader
    5 (100%)
    Het is midden juni. Je gaat me toch niet zeggen dat je het ganse jaar geen letter Java hebt gezien?

    Je hoeft trouwens niet met NetBeans te werken, dat is maar een IDE. Welke IDE heb je tijdens de lessen gebruikt?

  14. #14
    Member Pudmeister's schermafbeelding
    Lid sinds
    20/08/11
    Locatie
    Liberty City
    Berichten
    828
    iTrader
    0
    Waar zit ge op school als ik vragen mag?

  15. #15
    Member
    Lid sinds
    9/05/12
    Locatie
    Oss
    Berichten
    7
    iTrader
    0
    Natuurlijk heb ik het hele jaar wel wat Java gezien, maar we begonnen pas rond de winter met dit onderwerp. Vele van ons voelen zich als het ware in het diepe gegooid omdat we niet precies weten hoe het allemaal werkt. We moeten de codes als het ware weten. We kunnen het toch niet zomaar weten?

    We gebruiken Netbeans IDE 7.0.

    @Pudmeister: Als je het niet erg vind houdt ik het liever voor me op welke school ik zit.

  16. #16
    Approved 9-lifer Recipe4hate's schermafbeelding
    Lid sinds
    13/05/06
    Locatie
    Hoeselt
    Berichten
    6.819
    iTrader
    41 (100%)
    Euh, "code" weet je nooit. Ik ben dagelijks bezig met het opzoeken en implementeren van nieuwe elementen.
    Developing is echt iets waar je mee bezig moet zijn om er wat gedaan in te krijgen...

    Ik kan me niet voorstellen dat je het hele jaar ermee bent bezig geweest en nu het gevoel hebt dat je voor de leeuwen wordt gegooid.

    Natuurlijk is dit slechts mijn mening hé.

  17. #17
    Member
    Lid sinds
    9/05/12
    Locatie
    Oss
    Berichten
    7
    iTrader
    0
    Ik kriig niet 'nu pas' het gevoel dat ik voor de leeuwen gegooid wordt, maar dat speelt al langer mee. Veel langer zelfs. En niet bij mij alleen, ook bij meerdere in de klas.

    Maargoed zoals jullie ook beschrijven moet je zelf een hoop proberen en oefenen om beter te worden als onderdeel van het leerproces. Dat is ook de reden dat ik nu zo laat pas kom aanzetten met mijn spel. Ik heb tot het laatste moment gewacht en zoveel mogelijk proberen te doen. Maar verder kon ik echt niet komen.

Discussie informatie

Users Browsing this Thread

Op dit moment bekijken 1 gebruikers deze discussie. (0 leden en 1 gasten)

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •