2011-04-30 15:12:25 +02:00
|
|
|
package jrummikub;
|
|
|
|
|
2011-04-30 21:16:42 +02:00
|
|
|
import java.util.ArrayList;
|
2011-04-30 23:17:48 +02:00
|
|
|
import java.util.Arrays;
|
2011-04-30 15:12:25 +02:00
|
|
|
import java.util.HashMap;
|
2011-04-30 21:16:42 +02:00
|
|
|
import java.util.List;
|
2011-04-30 15:12:25 +02:00
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
import javax.swing.UIManager;
|
|
|
|
|
|
|
|
import jrummikub.model.Position;
|
|
|
|
import jrummikub.model.Stone;
|
|
|
|
import jrummikub.model.StoneColor;
|
2011-04-30 21:16:42 +02:00
|
|
|
import jrummikub.model.StoneSet;
|
2011-04-30 15:12:25 +02:00
|
|
|
import jrummikub.util.IListener;
|
2011-05-01 00:41:27 +02:00
|
|
|
import jrummikub.util.IListener2;
|
2011-04-30 15:12:25 +02:00
|
|
|
import jrummikub.view.IView;
|
|
|
|
|
|
|
|
public class JRummikub {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param args
|
|
|
|
*/
|
|
|
|
public static void main(String[] args) {
|
|
|
|
String nativeLF = UIManager.getSystemLookAndFeelClassName();
|
|
|
|
|
|
|
|
try {
|
|
|
|
UIManager.setLookAndFeel(nativeLF);
|
|
|
|
} catch (Exception e) {
|
|
|
|
}
|
2011-05-01 19:14:55 +02:00
|
|
|
|
2011-04-30 15:12:25 +02:00
|
|
|
IView view = new jrummikub.view.impl.View();
|
2011-05-01 19:14:55 +02:00
|
|
|
|
2011-04-30 15:12:25 +02:00
|
|
|
view.getPlayerPanel().setCurrentPlayerName("Player 1");
|
|
|
|
view.getPlayerPanel().setTimeLeft(42);
|
|
|
|
view.getTable().setLeftPlayerName("Player 2");
|
|
|
|
view.getTable().setTopPlayerName("Player 3");
|
|
|
|
view.getTable().setRightPlayerName("Player 4");
|
2011-05-01 19:14:55 +02:00
|
|
|
|
2011-04-30 15:12:25 +02:00
|
|
|
view.getPlayerPanel().getSortByNumberEvent().add(new IListener() {
|
|
|
|
@Override
|
|
|
|
public void fire() {
|
|
|
|
System.out.println("'Sort by number' fired");
|
2011-05-01 19:14:55 +02:00
|
|
|
}
|
|
|
|
});
|
2011-04-30 15:12:25 +02:00
|
|
|
view.getPlayerPanel().getSortByColorEvent().add(new IListener() {
|
|
|
|
@Override
|
|
|
|
public void fire() {
|
|
|
|
System.out.println("'Sort by color' fired");
|
2011-05-01 19:14:55 +02:00
|
|
|
}
|
|
|
|
});
|
2011-04-30 15:12:25 +02:00
|
|
|
view.getPlayerPanel().getEndTurnEvent().add(new IListener() {
|
|
|
|
@Override
|
|
|
|
public void fire() {
|
|
|
|
System.out.println("'End turn' fired");
|
2011-05-01 19:14:55 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
// stones on the board
|
2011-04-30 15:12:25 +02:00
|
|
|
Map<Stone, Position> stones = new HashMap<Stone, Position>();
|
|
|
|
stones.put(new Stone(1, StoneColor.ORANGE, false), new Position(0, 0));
|
2011-04-30 16:47:38 +02:00
|
|
|
stones.put(new Stone(10, StoneColor.BLUE, false), new Position(1, 0));
|
|
|
|
stones.put(new Stone(9, StoneColor.RED, false), new Position(0.5f, 1));
|
|
|
|
stones.put(new Stone(7, StoneColor.BLACK, false), new Position(1.75f, 1));
|
2011-05-01 19:14:55 +02:00
|
|
|
|
|
|
|
Stone stoneJoker = new Stone(0, StoneColor.RED, true);
|
2011-04-30 22:12:00 +02:00
|
|
|
stones.put(stoneJoker, new Position(2.5f, 0));
|
2011-04-30 16:47:38 +02:00
|
|
|
stones.put(new Stone(0, StoneColor.BLACK, true), new Position(3.5f, 0));
|
2011-05-01 19:14:55 +02:00
|
|
|
|
2011-04-30 15:12:25 +02:00
|
|
|
view.getPlayerPanel().getBoard().setStones(stones);
|
2011-05-01 19:14:55 +02:00
|
|
|
|
|
|
|
view.getPlayerPanel().getBoard().getClickEvent()
|
|
|
|
.add(new IListener2<Position, Boolean>() {
|
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
|
|
|
System.out.println("Board clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
view.getPlayerPanel().getBoard().getRangeClickEvent()
|
|
|
|
.add(new IListener2<Position, Boolean>() {
|
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
|
|
|
System.out.println("Board range-clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
view.getPlayerPanel().getBoard().getSetClickEvent()
|
|
|
|
.add(new IListener2<Position, Boolean>() {
|
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
|
|
|
System.out.println("Board set-clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
view.getTable().getClickEvent().add(new IListener2<Position, Boolean>() {
|
2011-05-01 00:41:27 +02:00
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
2011-05-01 19:14:55 +02:00
|
|
|
System.out.println("Table clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
view.getTable().getRangeClickEvent()
|
|
|
|
.add(new IListener2<Position, Boolean>() {
|
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
|
|
|
System.out.println("Table range-clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
view.getTable().getSetClickEvent().add(new IListener2<Position, Boolean>() {
|
2011-04-30 21:50:25 +02:00
|
|
|
@Override
|
2011-05-01 00:41:27 +02:00
|
|
|
public void fire(Position p, Boolean collect) {
|
2011-05-01 19:14:55 +02:00
|
|
|
System.out.println("Table set-clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2011-05-02 00:14:09 +02:00
|
|
|
view.getTable().getStoneCollection().getClickEvent()
|
|
|
|
.add(new IListener2<Position, Boolean>() {
|
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
|
|
|
System.out.println("Collection clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
view.getTable().getStoneCollection().getRangeClickEvent()
|
|
|
|
.add(new IListener2<Position, Boolean>() {
|
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
|
|
|
System.out.println("Collection range-clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
view.getTable().getStoneCollection().getSetClickEvent()
|
|
|
|
.add(new IListener2<Position, Boolean>() {
|
|
|
|
@Override
|
|
|
|
public void fire(Position p, Boolean collect) {
|
|
|
|
System.out.println("Collection set-clicked at " + p
|
|
|
|
+ (collect ? ", collect" : ""));
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2011-05-01 19:14:55 +02:00
|
|
|
// stoneSets on the table
|
2011-04-30 21:16:42 +02:00
|
|
|
Map<StoneSet, Position> stoneSets = new HashMap<StoneSet, Position>();
|
2011-05-01 19:14:55 +02:00
|
|
|
|
|
|
|
stoneSets.put(new StoneSet(new Stone(5, StoneColor.ORANGE, false)),
|
|
|
|
new Position(0.5f, 1));
|
|
|
|
|
2011-04-30 21:16:42 +02:00
|
|
|
List<Stone> stoneList = new ArrayList<Stone>();
|
2011-05-01 19:14:55 +02:00
|
|
|
|
2011-04-30 21:16:42 +02:00
|
|
|
stoneList.add(new Stone(7, StoneColor.BLACK, false));
|
2011-04-30 22:12:00 +02:00
|
|
|
Stone stone8 = new Stone(8, StoneColor.BLACK, false);
|
|
|
|
stoneList.add(stone8);
|
2011-04-30 21:16:42 +02:00
|
|
|
stoneList.add(new Stone(9, StoneColor.BLACK, false));
|
|
|
|
stoneList.add(new Stone(10, StoneColor.BLACK, false));
|
2011-05-01 19:14:55 +02:00
|
|
|
|
2011-04-30 21:16:42 +02:00
|
|
|
stoneSets.put(new StoneSet(stoneList), new Position(3.5f, 4));
|
2011-05-01 19:14:55 +02:00
|
|
|
|
2011-04-30 21:16:42 +02:00
|
|
|
view.getTable().setStoneSets(stoneSets);
|
2011-04-30 23:17:48 +02:00
|
|
|
|
|
|
|
view.setSelectedStones(Arrays.asList(stoneJoker, stone8));
|
2011-04-30 15:12:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|