📄 rentsquare.java
字号:
package com.xmu.typot.domain;
import java.awt.Color;
import java.awt.Graphics2D;
import javax.swing.JOptionPane;
import com.xmu.typot.constant.*;
public class RentSquare extends Square{
private int price;
private Color color;
private int playerId;
private String owner = "";
private int rentType;
public RentSquare(String name, int index) {
super(name, index);
// TODO Auto-generated constructor stub
int id = getRentId();
initSquare(id);
rentType = id;
}
private void initSquare(int id) {
// TODO Auto-generated method stub
switch(id)
{
case 1:
price = Constants.RENT1;
color = Constants.COLOR1;
break;
case 2:
price = Constants.RENT2;
color = Constants.COLOR2;
break;
case 3:
price = Constants.RENT3;
color = Constants.COLOR3;
break;
case 4:
price = Constants.RENT4;
color = Constants.COLOR4;
break;
}
}
private int getRentId()
{
return (int) (Math.random()*4+1);
}
public void draw(Graphics2D g2d)
{
g2d.setPaint(Color.black);
g2d.drawRect(this.getStartX(), this.getStartY(), 50, 50);
g2d.setPaint(color);
g2d.fillRect(this.getStartX()+1, this.getStartY()+1, 48, 48);
Integer p = price;
g2d.setPaint(Color.black);
g2d.drawString(p.toString(), this.getStartX()+10, this.getStartY()+10);
g2d.drawString(getOwner(), this.getStartX()+10, this.getStartY()+35);
}
public void doRun(Player[] players,int i)
{
String s;
if(owner.equals(""))
{
int result = JOptionPane.showConfirmDialog(null,
"此地还没有拥有者,是否买下此地", "买地", JOptionPane.YES_NO_OPTION);
if(result != JOptionPane.OK_OPTION)
return;
this.setOwner(players[i].getName());
players[i].buyHouse(this.rentType,this.price);
s = players[i].getName()+"买下土地"+this.getName();
}
else
{
if(!owner.equals(players[i].getName()))
{
JOptionPane.showMessageDialog(null, "经过"+owner+"的土地,缴纳地租"+(int)(this.price*0.2));
players[i].payRent((int) (this.price*0.1));
}
s = players[i].getName()+"经过"+owner+"的土地,缴纳地租"+(int) (this.price*0.2);
for(int ii = 0; ii < players.length; ii ++)
{
if(players[ii].getName().equals(owner))
{
players[ii].setMoney(players[ii].getMoney()+(int) (this.price*0.1));
break;
}
}
}
this.returnControl(s);
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -