Java - Grafika - Výběr komponent "v pořadí"

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: prosinec 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Java - Grafika - Výběr komponent "v pořadí"

Příspěvekod Ellrohir » 10 pro 2011 18:33

Zdravím,

narazil jsem na problémek, se kterým si se svými současnými znalosti Javy neumím poradit sám...situace je taková, že si programuju takovou menší grafickou "hru" - skládačku (obrázek rozsekanej na čtverečky, jeden čteverček chybí, různě se to rozhází a účelem je složit posouváním obrázek zpátky dohromady)...realizoval jsem to tak, že mám JPanel a v něm jsou pomocí GridBagLayoutu umístěný jednotlivý dílky - JButtony (resp. jejich drobně obohacení potomci) s obrázkem...všechno mi to funguje, krásně funguje posouvání po kliknutí, mám i automatický "míchání", ovšem co potřebuju udělat je kontrola "výhry", to jest, že jsou dílky ve správným pořadí

řešení, co se snažím realizovat je, že má každej dílek svoje "pořadový číslo" a po každým tahu se to prožene funkcí, která bude postupně koukat na dílky a porovnávat, jestli pořadové číslo odpovídá očekávanému...ovšem k tomu potřebuju to koukání - postupně po řádcích od pozice "vlevo nahoře" po pozici "vpravo dole"...a to nevím, jak se dělá...myslel jsem intuitivně, že to bude metoda "getComponentAt(x,y)", kterou JPanel (resp. JComponent) má, ovšem z toho mi lezou samý JPanely a ne instance tý tlačítkový třídy...tak buď to používám blbě a nebo to není ono

měl by někdo nějakej nápad? mě teda eště napadá udržovat si bokem číselnou tabulku s aktuálními pozicemi a kdyžtak to tak udělám, ale zas mi to nepřijde tak elegantní jako tohle
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Java - Grafika - Výběr komponent "v pořadí"

Příspěvekod faraon » 10 pro 2011 21:53

S tím testováním ti moc neporadím (mrkni sem), takhle daleko jsem se v Javě ještě nedostal, ale dej si bacha na jednu věc: Loydova patnáctka se dá zamíchat do dvou stejně velkých skupin pozic, z nichž jen jedna je řešitelná! Nevím kolik dílků máš ty, ale je pravděpodobné že to bude platit i pro tebe, takže pro míchání nestačí použít generátor náhodných čísel, ale musí se buď postupně rozházet, nebo po zamíchání testovat složitelnost.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - Grafika - Výběr komponent "v pořadí"

Příspěvekod domitea » 10 pro 2011 22:04

Co to napojit na dvourozměrné pole, kde každý díl bude mít své pořadové číslo?

--- Doplnění předchozího příspěvku (10 Pro 2011 22:04) ---

Co to napojit na dvourozměrné pole, kde každý díl bude mít své pořadové číslo?

Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: prosinec 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - Grafika - Výběr komponent "v pořadí"

Příspěvekod Ellrohir » 10 pro 2011 22:28

faraon: díky za upozornění, ale o tom vím a to jsem vyřešil tím, že to nemíchám nahodile, ale nechám počítač provést náhodně několik set regulérních tahů z výchozí pozice ;)

domitea: jo, to je to moje "alternativní řešení", který vzpomínám v druhým odstavci, ale mám za to, že nějak musí jít ke komponentě v jiný komponentě přistupovat přímo - už jenom proto, že to Java dokáže zobrazit, tak musí přeci vědět, kde která je... :eh:
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Java - Grafika - Výběr komponent "v pořadí"

Příspěvekod faraon » 10 pro 2011 22:40

Určitě to nějak zjistit jde, když ten JPanel zobrazuje nějaký dilek.obrazek tak musí být možnost přečíst dilek.cislo, ale jak o tom přemýšlím, tak sledovat pozice dílků ve vlastním poli bude asi mnohonásobně rychlejší než posílat dotazy přes několik tříd tam a zase zpátky...

K těm kombinacím, ony jsou ve skutečnosti složitelné obě skupiny, ale do dvou konečných seskupení. První polovina se dá poskládat do původní Loydovy podoby:

Kód: Vybrat vše

1  2  3  4
5  6  7  8
9  10 11 12
13 14 15 _

zatímco druhá polovina musí mít "díru" na počátku:

Kód: Vybrat vše

_  1  2  3
4  5  6  7
8  9  10 11
12 13 14 15
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: prosinec 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - Grafika - Výběr komponent "v pořadí"

Příspěvekod Ellrohir » 11 pro 2011 22:47

udělal jsem to nakonec přes tu tabulku s pozicema...zabralo to v podstatě míň času, než kolik jsem věnoval dotazování tady :D ale zas je pravda, že dokud jsem nezačal sepisovat konkrétně ten dotaz, tak mě ani nenapadlo to tak dělat :smile:
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Poradí mi někdo dobré offline hry pro telefon nubia. Příloha(y)
    od pidlo » 23 čer 2024 14:48 » v Mobily, tablety a jiná přenosná zařízení
    3
    3912
    od MrVoltz Zobrazit poslední příspěvek
    25 čer 2024 21:49
  • Nacenění komponent
    od falco_dee » 12 led 2025 17:24 » v P: Hardware
    0
    3523
    od falco_dee Zobrazit poslední příspěvek
    12 led 2025 17:24
  • PC do 20k (pomoc s dovýběrem komponent)
    od insider » 27 zář 2024 16:46 » v Rady s výběrem hw a sestavením PC
    11
    4065
    od insider Zobrazit poslední příspěvek
    03 říj 2024 09:03
  • Nacenění PC vs jednotlivých komponent
    od second32 » 01 pro 2024 12:31 » v P: Hardware
    1
    1903
    od Zivan Zobrazit poslední příspěvek
    01 pro 2024 14:44
  • Pomoc s naceněním pc komponent.
    od Mikajl » 02 zář 2024 14:50 » v P: Hardware
    4
    4878
    od Mikajl Zobrazit poslední příspěvek
    12 zář 2024 18:02

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti