📄 monopolyboard.java
字号:
import java.applet.Applet;import java.applet.*;import java.applet.Applet;import java.applet.AudioClip;import java.awt.event.*;import java.awt.List;import java.awt.image.*;import java.lang.*;import java.util.*;import java.net.*;import java.awt.*;import java.io.*;import javax.swing.*;import java.awt.GridBagLayout;import java.awt.BorderLayout;import javax.swing.JPanel;import javax.swing.JTabbedPane;import javax.swing.border.*;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import javax.swing.plaf.metal.MetalIconFactory.*;///////////////////////////////////////////////////public class MonopolyBoard extends Component { private int Width = 550; private int Height = 570; //The propertymanager and the players private PropertyManager propertymanager; private MonopolyPlayer monopolyplayer; private Monopoly monopoly; private MonopolyPlayer Player1; private MonopolyPlayer Player2; static final Frame quit = new Frame("Are you sure?"); static final Frame pr = new Frame("Properties"); static final Choice choice = new Choice(); static final Choice p2 = new Choice(); static final Frame trade = new Frame("Trade Your Properties"); private Image board; // if turn == true, it is player1's turn public boolean turn = true; // if rolled == true, the player has already rolled. public boolean rolled = false; // the numbers on the dice private int Dice1 = 0; private int Dice2 = 0; // The frame that pops up when you must sell houses because you are in debt final Frame frame = new Frame( "Must sell" ); // The 'remove houses' frame final Frame fr = new Frame( "Remove Houses" ); // if noMoney == true, the player whose turn it is is in debt. private boolean noMoney = false; //////////////////////////////////////////////////////////////////////////////////// public MonopolyBoard( String one, String two ) { //create the two players with the specified names Player1 = new MonopolyPlayer( one, 1 ); Player2 = new MonopolyPlayer( two, 2 ); //create the propertymanager with the two players propertymanager = new PropertyManager( Player1, Player2 ); //enable events for the board enableEvents( AWTEvent.MOUSE_EVENT_MASK ); enableEvents( AWTEvent.KEY_EVENT_MASK ); repaint(); } //public void init() { // board = getImage(getDocumentBase(),"boards.gif"); //} public void paint( Graphics g ) { //Draw the board// g.drawImage(board,1,1,this); g.setColor( new Color( (80), (180), (210) ) ); //board// g.setColor( new Color( (80), (180), (110) ) );// g.setColor(Color.white);// g.setColor(Color.lightGray); g.fillRect( 1, 1, 569, 539 ); ///g.fill3DRect( 501, 1, 740, 598, true ); g.setColor( Color.white ); g.fill3DRect( 5, 5, 488, 488, true ); g.setColor( new Color( (80), (180), (210) ) ); //blue color g.fill3DRect( 100, 100, 300, 300, true ); //box in the middle g.setColor( new Color( (100), (30), (100) ) ); g.fill3DRect( 80, 300, 20, 33, true ); //baltic g.fill3DRect( 80, 366, 20, 33, true ); //mediterranean g.setColor( new Color( (200), (200), (240) ) ); g.fill3DRect( 80, 100, 20, 33, true ); //connecticut g.fill3DRect( 80, 133, 20, 33, true ); //vermont g.fill3DRect( 80, 200, 20, 33, true ); //oriental g.setColor( new Color( (200), (30), (200) ) ); g.fill3DRect( 100, 80, 33, 20, true ); //st.charles ave. g.fill3DRect( 166, 80, 33, 20, true ); //states ave. g.fill3DRect( 200, 80, 33, 20, true ); //virginia ave. g.setColor( new Color( (220), (140), (140) ) ); g.fill3DRect( 266, 80, 33, 20, true ); //st. james g.fill3DRect( 333, 80, 33, 20, true ); //tennessee g.fill3DRect( 366, 80, 33, 20, true ); //new york g.setColor( new Color( (180), (10), (10) ) ); g.fill3DRect( 400, 100, 20, 33, true ); //kentucky g.fill3DRect( 400, 166, 20, 33, true ); //indiana g.fill3DRect( 400, 200, 20, 33, true ); //illinois g.setColor( Color.yellow ); g.fill3DRect( 400, 266, 20, 33, true ); //atlantic g.fill3DRect( 400, 300, 20, 33, true ); //ventnor g.fill3DRect( 400, 366, 20, 33, true ); //marvin gardens g.setColor( new Color( (10), (180), (10) ) ); g.fill3DRect( 366, 400, 33, 20, true ); //pacific g.fill3DRect( 333, 400, 33, 20, true ); //North Carolina g.fill3DRect( 266, 400, 33, 20, true ); //Pensylvania g.setColor( new Color( (30), (30), (100) ) ); g.fill3DRect( 100, 400, 33, 20, true ); //Boardwalk g.fill3DRect( 166, 400, 33, 20, true ); //ParkPlace g.setColor( new Color( (180), (40), (40) ) ); g.fill3DRect( 30, 30, 70, 70, true ); //jail g.setColor( new Color( (230), (230), (230) ) ); g.fill3DRect( 80, 166, 20, 33, true ); //Chance g.fill3DRect( 400, 133, 20, 33, true ); //Chance g.fill3DRect( 200, 400, 33, 20, true ); //Chance g.fill3DRect( 300, 80, 33, 20, true ); //Comm. Chest g.fill3DRect( 80, 333, 20, 33, true ); //Comm. Chest g.fill3DRect( 300, 400, 33, 20, true ); //Comm. Chest g.fill3DRect( 80, 233, 20, 33, true ); //RR g.fill3DRect( 233, 80, 33, 20, true ); //RR g.fill3DRect( 400, 233, 20, 33, true ); //RR g.fill3DRect( 233, 400, 33, 20, true ); //RR g.fill3DRect( 133, 80, 33, 20, true ); //Electricity g.fill3DRect( 400, 333, 20, 33, true ); //Water g.fill3DRect( 7, 400, 93, 93, true ); //Go g.fill3DRect( 400, 400, 93, 93, true ); //Go to jail g.fill3DRect( 400, 7, 93, 93, true ); //free parking // g.setColor( new Color( (230), (230), (230) ) ); //Free parking// g.fill3DRect( 300, 200, 100, 100 ,true); g.setColor( Color.black );// g.drawString( "Free Parking", 314, 220 ); String fp = "$" + propertymanager.Properties[20][1]; g.setFont( new Font( "Courier", Font.BOLD, 15 ) ); // FontMetrics fm = g.getFontMetrics(); // int wide = fm.stringWidth( fp ); // Draw how much money is in the middle g.drawString( fp, 412 , 90 ); //Draw the words for the properties g.setColor( Color.black ); g.setFont( new Font( "Courier", Font.BOLD, 30 ) ); g.drawString( "GO",30, 460 ); //Go g.setFont( new Font( "verdana", Font.BOLD, 10 ) ); g.drawString( "?", 87, 184 ); //Chance g.drawString( "?", 407, 151 ); //Chance g.drawString( "?", 212, 413 ); //Chance g.setColor( Color.black ); g.drawString( "Income Tax - $200", 8, 288 ); //income tax g.drawString( "CC", 84, 353 ); //Comm. Chest g.drawString( "CC", 307, 93 ); //Comm. Chest g.drawString( "CC", 307, 413 ); //Comm. Chest g.drawString( "Tax", 142, 446 ); //Luxury Tax g.drawString( "$75", 142, 463 ); g.setFont( new Font( "Verdana", Font.BOLD, 22 ) ); g.drawString( "Go to", 416, 435 ); //Go to jail g.drawString( "Jail", 426, 465 ); g.drawString( "Free", 425, 45 ); //Free parking g.drawString( "Parking", 407, 69 ); g.drawString( "Jail", 48, 73 ); //Jail g.setFont( new Font( "arial",Font.BOLD, 8 ) ); //Water g.drawString( "Water", 430, 350 ); g.drawString( "Works", 430, 360 ); //Electricity g.drawString( "E", 143, 20 ); g.drawString( "l", 143, 30 ); g.drawString( "e", 143, 40 ); g.drawString( "c", 143, 50 ); g.drawString( "t", 143, 60 ); g.drawString( "r", 143, 70 ); g.drawString( "i", 143, 80 ); g.drawString( "c", 143, 90 ); g.drawString( "C", 153, 30 ); g.drawString( "O", 153, 40 ); //ParkPlace g.drawString( "P", 174, 436 ); g.drawString( "a", 174, 446 ); g.drawString( "r", 174, 456 ); g.drawString( "k", 174, 466 ); g.drawString( "P", 184, 436 ); g.drawString( "l", 184, 446 ); g.drawString( "a", 184, 456 ); g.drawString( "c", 184, 466 ); g.drawString( "e", 184, 476 ); //Boardwalk g.drawString( "B", 108, 426 ); g.drawString( "o", 108 ,436); g.drawString( "a", 108, 446 ); g.drawString( "r", 108, 456 ); g.drawString( "d", 108, 466 ); g.drawString( "w", 118, 456 ); g.drawString( "a", 118, 466 ); g.drawString( "l", 118, 476 ); g.drawString( "k", 118, 486 ); //Pensylvania g.drawString("P",275,426); g.drawString("e",275,436); g.drawString("n",275,446); g.drawString("s",275,456); g.drawString("y",275,466); g.drawString("l",275,476); g.drawString("v",275,486); g.drawString("a",275,446); g.drawString("n",275,456); g.drawString("i",275,466); g.drawString("a",275,476); //North Carolina g.drawString("N",341,426); g.drawString("o",341,436); g.drawString("r",341,446); g.drawString("t",341,456); g.drawString("h",341,466); g.drawString("C",341,426); g.drawString("a",341,436); g.drawString("r",341,446); g.drawString("o",341,456); g.drawString("l",341,466); g.drawString("i",341,476); g.drawString("n",341,486); g.drawString("a",341,496); //pacific g.drawString("P",374,426); g.drawString("a",374,436); g.drawString("c",374,446); g.drawString("i",374,456); g.drawString("f",374,466); g.drawString("i",374,476); g.drawString("c",374,486); //marvin gardens g.drawString( "Marvin", 430, 386); g.drawString( "Gardens", 430, 396); //ventnor g.drawString( "Ventour", 430 ,320 ); g.drawString("C",110,20); g.drawString("h",110,30); g.drawString("a",110,40); g.drawString("r",110,50); g.drawString("l",110,60); g.drawString("e",110,70); g.drawString("s",110,80); g.drawString("A",120,20); g.drawString("v",120,30); g.drawString("e",120,40); //states ave. g.drawString("S",176,20); g.drawString("t",176,30); g.drawString("a",176,40); g.drawString("t",176,50); g.drawString("e",176,60); g.drawString("s",176,70); g.drawString("A",186,20); g.drawString("v",186,30); g.drawString("e",186,40); //virginia ave. g.drawString("V",210,20); g.drawString("i",210,30); g.drawString("r",210,40); g.drawString("g",210,50); g.drawString("i",210,60); g.drawString("n",210,70); g.drawString("i",210,80); g.drawString("a",210,90); g.drawString("A",220,30); g.drawString("v",220,40); g.drawString("e",220,50); //st. james g.drawString("S",276,20); g.drawString("t",276,30); g.drawString("J",286,30); g.drawString("a",286,40); g.drawString("m",286,50); g.drawString("e",286,60); g.drawString("s",286,70); //tennessee// DrawVertString("tennesse",340,10); g.drawString("t",340,10); g.drawString("e",340,20); g.drawString("n",340,30); g.drawString("n",340,40); g.drawString("e",340,50); g.drawString("s",340,60); g.drawString("s",340,70); g.drawString("e",340,80); g.drawString("e",340,90); //new york g.drawString("n",376,20); g.drawString("e",376,30); g.drawString("w",376,40); g.drawString("y",376,50); g.drawString("o",376,60); g.drawString("r",376,70); g.drawString("k",376,80); //kentucky g.drawString( "Kentucky", 430, 120 ); //indiana g.drawString( "Indiana", 430, 185 ); //illinois g.drawString( "Illinois", 430, 220); //atlantic g.drawString( "Atlantic", 430, 286 ); //oriental g.drawString("Oriental", 10,220); //vermont g.drawString("Vermont", 10,153); //connecticut g.drawString("Connecticut", 10,120); //mediterranean g.drawString ("Mediterranean", 10,386); //baltic g.drawString ("Baltic" , 10,326); //Draw the outlines of each property g.drawLine( 7, 100, 79, 100 ); g.drawLine( 7, 133, 79, 133 ); g.drawLine( 7, 166, 79, 166 ); g.drawLine( 7, 200, 79, 200 ); g.drawLine( 7, 233, 79, 233 ); g.drawLine( 7, 266, 79, 266 ); g.drawLine( 7, 300, 79, 300 ); g.drawLine( 7, 333, 79, 333 ); g.drawLine( 7, 366, 79, 366 ); g.drawLine( 7, 400, 79, 400 ); g.drawLine( 421, 100, 490, 100 ); g.drawLine( 421, 133, 490, 133 ); g.drawLine( 421, 166, 490, 166 ); g.drawLine( 421, 200, 490, 200 ); g.drawLine( 421, 233, 490, 233 ); g.drawLine( 421, 266, 490, 266 ); g.drawLine( 421, 300, 490, 300 ); g.drawLine( 421, 333, 490, 333 ); g.drawLine( 421, 366, 490, 366 ); g.drawLine( 421, 400, 490, 400 ); g.drawLine( 100, 79, 100, 7 ); g.drawLine( 133, 79, 133, 7 ); g.drawLine( 166, 79, 166, 7 ); g.drawLine( 200, 79, 200, 7 ); g.drawLine( 233, 79, 233, 7 );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -