Obsługa myszy w grze turowej

0

Witam.
Zacząłem niedawno pisać prostą gre turową i natrafiłem na problem obsługi myszki. Otóż skąd program ma wiedzieć w jaki kafelek kliknąłem? Trzymać wszystkie w jakiejś liście i w momencie kliknięcia przeszukiwać całą czy wykryto kolizje pomiedzy Point zrobionym z współrzędnych kliknięcia i którymś kafelkiem?

A drugie pytanie to jak rozróżnić w jakim celu kliknięto? (Tj. czy chodzi o ruch czy chodzi o atak itp.) Za pomocą kilku zmiennych trzymać informacje czy np teraz jest celowanie czy ruch?

Pozdrawiam

0

Skąd my mamy to wiedzieć? Nie podałeś żadnych istotnych informacji.

0
  1. Jeśli kafelki są obrazami rysowanymi przez obiekt klasy Graphics (a wydaje mi się, że tak), to trzeba zrobić tak, jak ty mówisz.
  2. Innego wyjścia nie ma/nie znam.
0

A robić to tak czy jest jakis lepszy sposób?

public static boolean kolizja(Rectangle r1, Rectangle r2){
        if(r1.intersects(r2)){
            return true;
        }else {
            return false;
        }
    }

a co do drugiego pytania to robic to tak ze przy public void keyPressed(KeyEvent e) zrobic switcha z tym co aktualnie jest?(czyli czy wybierany jest cel strzalu czy miejsce docelowe ruchy)

1

Jeżeli wszystkie kafelki są tej samej wielkości, to przecież wystarczy zwykłe dzielenie.

0

Hmmm, każdy kwadracik jest tej samej wielkości to możesz dać to np w TreeMapie i odpowiednio nazwac kwadraciki, i ich pozycj początkowe, a do Jpanelu lub JFrame musisz dodać

implements MouseListener, MouseMotionListener 

i wtedy masz abstrakcyjne metody typu:

public void mouseClicked(MouseEvent event)
public void mousePressed(MouseEvent event)
public void mouseReleased(MouseEvent event)
public void mouseEntered(MouseEvent event)
i chyba jeszcze 
public void mouseExited(MouseEvent event)
// to sa eventy od mouseListnera 
// eventy od  MouseMotionListener:
public void mouseDragged(MouseEvent event) // klik i przeciagnij ;)
public void mouseMoved(MouseEvent event) 
0
  1. Proponuję rozpoznawać co jest na danym kafelku np. jeśli nic to domyślnie się poruszasz, a jeśli wrogi obiekt to kursor pełni rolę celownika ;)

EDIT: niemniej trudno jest podpowiedzieć, bo wiemy tylko, że to gra turowa z myszką i kafelkami :D

0

czyli plansza i pionki są reprezentowane jako grafika tak ? to jest jedyne rozwiazanie ?
Czyli aby osiągnąć efekt jak na filmiku:

to po przyciśnięciu na obrazek figury, podmieniamy tylko grafikę tak ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0