⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rentsquare.java

📁 自己写的monopoly 游戏代码
💻 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 + -