Archief - [PROG][VB.NET] Tetris probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Lethall

Legacy Member
Ik volg nu informaticabeheer, daarin zien wij vb.net.
Aangezien ik nog niet wil overstappen naar een "moeilijkere taal" vooraleer ik deze onder de knie heb. En natuurlijk om bij te leren, en als gamer ga je natuurlijk wat games willen maken.
Dus ik ben begonnen met tetris te maken. Door middel van wat basis eromtrend te lezen, en dan het spel zelf op te bouwen.
Ondertussen ben ik op het punt gekomen dat ik alle soorten blokken kan genereren (dit doe ik even door opnieuw op start te klikken, dan geeft hij weer een random blok) Dit werkt bijna perfect (eentje is wat misvormd, even naar kijken nog).

Maar het grootste probleem is, ik krijg er geen beweging in.
Het is heel lastig om te beginnen uitleggen hoe het ondertussen allemaal in elkaar zit, omdat dit teveel copy paste werk zou worden.

Maar als er iemand zo vriendelijk zou zijn om even te helpen, dan stuur ik even men project door via mail om er naar te laten kijken.

Lethall

Legacy Member
Devastate zei:
Het lijkt me best om met timers te werken, die dan je blokje per ... ticks 1 regel naar beneden schuiven.

meer info hierover bvb hier:
http://www.morrowland.com/apron/tutorials/vbnet/vbnet_form_timer/index.php

Dat weet ik dat is voor later.
Het gaat hier puur over het blok laten bewegen door op bepaalde toetsen te drukken en niet over de blokken automatisch naar beneden te laten gaan.
In mijn redenering ervan zie ik geen enkele fout, in de code ook niet, maar toch komt er geen beweging in als ik bijvoorbeeld op de pijltjestoets naar links duw.

Dat daarachter een timer moest was ik al heel lang achter, ik heb vorig jaar genoeg met die timer gewerkt :)

Lethall

Legacy Member
oké, even verdergegaan

Stel nu ik heb dit

Private Sub Form2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Right
currentblock.right()
Case Keys.Left
currentblock.left()
Case Keys.Down
currentblock.down()
End Select
End Sub

currentblock verwijzend naar een functie dat het huidig blok naar beneden beweegt etc.

Als ik nu een breakpoint zet bij
Case Keys.Right
currentblock.right()
Dan zou hij dus moeten onderbreken vanaf het moment dat ik dus op het pijltje naar rechts duw?
Want als ik dit doe, onderbreekt hij mijn code dus niet, dus ik denk dat mijn probleem daar ergens ligt, juist of niet?

Lethall

Legacy Member
Moto zei:
juist, uwe keydown event eens nazien als die nog gekoppeld is, ook eens nagaan als die aan het juist object hangt offcourse

hier trouwens een tutorialke voor tetris :p

http://techjude.blogspot.com/2007/06/tutorial-writing-tetris-clone-using-xna.html

Ik heb hier zelf een boek liggen, men een tutorial van tetris erin, die eerst op voorhand uitlegt hoe je bijv 2d objecten op je scherm krijgt, enzoverder. En ik heb het meeste zelf uitgezocht, af en toe eens gekeken als ik vast zat, ik prefereer het op die manier, anders mijzelf kennende word het maar een copy paste werk.

Nu anyway, ik heb dus een nieuw project aangemaakt, achter die form gewoon weer hetzelfde dus met die keys,
vanaf ik dus op rechts dus reageert hij, en stopt hij dus op dat breakpoint dat ik gezet heb.
Maar eenmaal ik de code heb overgezet van mijn ander project (maar wel het werkende keydown event blijven behouden).
Alles staat erin, ik start het opnieuw, doet weeral niets meer.
Voor de moment kan ik er toch echt niet meer aan uit.

Lethall

Legacy Member
Ik heb verdergezocht, als ik die knop weghaal van het formulier, en de code om een blok op het scherm te plaatsen onder bijv de knop A zet(of gelijk wat zolang het niets te maken heeft met een button)
dan werkt alles perfect, ik kan mijn blokken bewegen naar boven,links, rechts alles.

Maar vanaf ik ook maar 1 button eropplaats op mijn formulier, zelf zonder iets van code achter dan reageert gans de keydown op niets meer.
Ik zat te denken aan dat die button de focus houd of dergelijke maar ik kan er echt niet aan uit.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan