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

Odpovědět
Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: 10 pro 2011 18:06
Bydliště: Praha
Kontaktovat uživatele:

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

Příspěvek od Ellrohir »

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ý."
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7408
Registrován: 23 pro 2010 09:23

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

Příspěvek od faraon »

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ů
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

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

Příspěvek od domitea »

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: 10 pro 2011 18:06
Bydliště: Praha
Kontaktovat uživatele:

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

Příspěvek od Ellrohir »

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: 7408
Registrován: 23 pro 2010 09:23

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

Příspěvek od faraon »

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: 10 pro 2011 18:06
Bydliště: Praha
Kontaktovat uživatele:

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

Příspěvek od Ellrohir »

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ý."
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Nacenění komponent
    od falco_dee » » v P: Hardware
    0 Odpovědi
    6155 Zobrazení
    Poslední příspěvek od falco_dee
  • Pomoc s výběrem komponent
    od kurkisak » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    4289 Zobrazení
    Poslední příspěvek od kurkisak
  • Nacenění PC vs jednotlivých komponent
    od second32 » » v P: Hardware
    1 Odpovědi
    3517 Zobrazení
    Poslední příspěvek od Zivan
  • Grafika za 6-7000Kč
    od michal84 » » v Rady s výběrem hw a sestavením PC
    33 Odpovědi
    13975 Zobrazení
    Poslední příspěvek od michal84
  • Jaká grafika do PC?
    od liborek » » v Rady s výběrem hw a sestavením PC
    4 Odpovědi
    6315 Zobrazení
    Poslední příspěvek od liborek

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