Я должен был сделать 4 игры в gridworld с фигурами в качестве дисков, но мой учитель почему-то ничего не сказал нам о mouselistener! так что я немного поискал, но все еще не могу понять, как добавить прослушиватель мыши в сетку для отслеживания кликов мыши.
PS: Если вам действительно нужен код для класса Piece, я могу добавить его, и я почти уверен, что World расширяет Jframe.
import java.awt.Color;
import java.util.ArrayList;
import info.gridworld.grid.Grid;
import info.gridworld.grid.Location;
import info.gridworld.world.World;
import info.gridworld.grid.BoundedGrid;
import java.awt.MouseInfo;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class ConnectFourWorld extends World<Piece> implements MouseListener
{
private String whosTurn;
private boolean gameOver;
private String winner;
Piece X = new Piece("ex", Color.WHITE, Color.RED);
Piece O = new Piece("oh", Color.YELLOW, Color.BLUE);
public ConnectFourWorld()
{
super(new BoundedGrid<Piece>(6,7));
winner="no winner";
whosTurn="X";
gameOver=false;
setMessage("Welcome to Connect Four World! - - Click a spot - "+whosTurn+"'s turn.");
}
public boolean locationClicked(Location loc)
{
Grid<Piece> grid = getGrid();
if(grid == null)
return false;
if(grid.get(loc)!=null)
return false;
if(gameOver == true)
{
return false;
}
return true;
}
public Location addPiece(Location loc)
{
return null;
}
public void step()
{
}
public boolean isWorldFull()
{
return false;
}
public void resetWorld()
{
}
public String getWinner(Location loc)
{
return "";
}
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton()==1&&whosTurn.equals("X")){
}
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}