📄 board.java
字号:
package com.xmu.typot.domain;
import java.awt.Graphics2D;
import com.xmu.typot.constant.*;
public class Board {
private Square[] squares = new Square[Constants.SIZE];
public Board(MonopolyGame l)
{
buildSquares();
initListenerSquares(l);
linkSquares();
}
private void initListenerSquares(MonopolyGame l)
{
for(int i = 0; i < 40; i ++)
squares[i].addListener(l);
}
private void linkSquares() {
for(int i = 0; i < 39; i ++)
{
squares[i].setNextSquare(squares[i+1]);
}
squares[39].setNextSquare(squares[0]);
}
public Square getSquare(Square start,int distance)
{
int endIndex = (start.getIndex()+distance) % Constants.SIZE;
return squares[endIndex];
}
public void draw(Graphics2D g2d)
{
for(int i = 0; i < Constants.SIZE; i ++)
squares[i].draw(g2d);
}
private void buildSquares() {
buildBank(0);
buildOthers();
}
private void buildOthers() {
for(int i = 1; i < 11; i ++)
{
squares[i] = new RentSquare("rentSquare"+i,i);
squares[i].setStartX(i*50);
squares[i].setStartY(0);
}
buildMarket(11);
for(int i = 12; i < 20; i ++)
{
squares[i] = new RentSquare("rentSquare"+i,i);
squares[i].setStartX(550);
squares[i].setStartY((i-11)*50);
}
buildHospital(20);
for(int i = 21; i < 31; i ++)
{
squares[i] = new RentSquare("rentSquare"+i,i);
squares[i].setStartX((31-i)*50);
squares[i].setStartY(450);
}
// buildStick(26);
// for(int i = 27; i < 31; i ++)
// {
// squares[i] = new RentSquare("rentSquare"+i,i);
// squares[i].setStartX((31-i)*50);
// squares[i].setStartY(450);
// }
buildPrison(31);
for(int i = 32; i < 36; i ++)
{
squares[i] = new RentSquare("rentSquare"+i,i);
squares[i].setStartX(0);
squares[i].setStartY((39-i)*50+50);
}
buildQuestion(36);
for(int i = 37; i < 40; i ++)
{
squares[i] = new RentSquare("rentSquare"+i,i);
squares[i].setStartX(0);
squares[i].setStartY((39-i)*50+50);
}
}
private void buildQuestion(int i) {
// TODO Auto-generated method stub
squares[i] = new QuestionSquare("question",i);
squares[i].setStartX(0);
squares[i].setStartY((39-i)*50+50);
}
private void buildPrison(int i) {
squares[i] = new PrisonSquare("prison",i);
squares[i].setStartX(0);
squares[i].setStartY(450);
}
private void buildStick(int i) {
squares[i] = new StickSquare("hospital",i);
squares[i].setStartX((31-i)*50);
squares[i].setStartY(450);
}
private void buildHospital(int i) {
squares[i] = new HospitalSquare("hospital",i);
squares[i].setStartX(550);
squares[i].setStartY(450);
}
private void buildMarket(int i) {
squares[i] = new TaxtSquare("taxt",i);
squares[i].setStartX(550);
squares[i].setStartY(0);
}
private void buildBank(int i) {
squares[i] = new BankSquare("bank",i);
squares[i].setStartX(0);
squares[i].setStartY(0);
}
public Square getSquares(int i) {
return squares[i];
}
public void setSquares(Square[] squares) {
this.squares = squares;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -