Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Visual Basic

Dobrý den, naprogramoval jsem v programu Visual Basic hru pexeso, má však jeden problém pokud klikám rychle na karty, program přestane stíhat je otáčet zpět a hra nefunguje jak by měla....celé dny nad tím přemýšlím ale stále nemohu přijít na to jak karty nějak "zamknout" aby nebylo možné naklikat více karet a tím tak "zblnout" program.

pexeso-kod-txt <---- Zde je kod v poznámkovém bloku.

Předmět Autor Datum
A opravdu čekáš, že budou lidi zkoumat zdroják, ve kterých nepojmenováváš ani tlačítka? Kdo si myslí…
Jan Fiala 12.05.2015 18:55
Jan Fiala
Jsem opravdu začátečník a to co jsi mi napsal je na mě moc složité nový
Tondaa 12.05.2015 19:09
Tondaa
Ono je to právě mnohem jednodušší, než to co jsi napsal ty. nový
Wikan 12.05.2015 19:11
Wikan
Kód sa mi študovať nechce, ale sprav si semafor(premennú=0), v ktorú inkrementuješ pri otočení karty… nový
sakraforte 12.05.2015 18:57
sakraforte
To by mohlo fungovat...... nový
Tondaa 12.05.2015 19:09
Tondaa
Kým to odladíš, nechaj si jej hodnotu niekde zobrazovať. poslední
sakraforte 12.05.2015 19:53
sakraforte

A opravdu čekáš, že budou lidi zkoumat zdroják, ve kterých nepojmenováváš ani tlačítka? Kdo si myslíš, že bude luštit, co je button1, button2?

Proč tam máš milionkrát ten case? Udělej si procedury pro ty asi 3 případy, bude to mnohem přehlednější.
Pro kliknutí můžeš udělat jednu společnou udalost a přiřadit ji všem obrázkům. V property Sender máš obrázek, na který bylo kliknuto. Tento kód tam máš 36x. Proč?
I kdybys napsal jednu proceduru, které předáš hodnotu TAG a nechal si tam svých 36 událostí pro jednotlivé obrázky, tak by to bylo lepší, ze kterých bys ji volal.

Pak si jednoduše ošetříš to, že pokud byudeš mít otočeny 2 obrázky, tak metoda pro klik nebude reagovat, dokud se karty neotočí zpět.

Vytvořil jsi program se 3 000 řádky a přitom by ses vešel do desetinny. Chápu, že začínáš, ale u programování je potřeba přemýšlet, společné části nekopírovat v programu dokola, ale dát je do procedury a volat, kde potřebuješ.

Kód sa mi študovať nechce, ale sprav si semafor(premennú=0), v ktorú inkrementuješ pri otočení karty. Dekrementuješ pri zavretí. Pri každom kliknutí na kartu, ju budeš testovať. Ak bude mať hodnotu 2, kliknutie na otočenie karty budeš ignorovať.

Zpět do poradny Odpovědět na původní otázku Nahoru