简略大富翁版

爱情是点滴的积累,一点一滴,慢慢珍藏在心底,慢慢在心底酝酿,两个人一起来呵护。悄悄的,爱情变了,变成了一种叫做幸福的东西,萦绕在两个人之间,一生一世

大富翁游戏规则

游戏规则:

1.每位玩家$1500作为资产,或每位玩家$300作为资产,最多支持4位玩家入场,开始后中途不能入场新玩家(玩家具备的信息-编号,姓名,现金数,拥有得国家,拥有的旅馆,拥有的酒店,是否下一个投掷骰子,)。

(方案:开始选择入场玩家至少2名,至多4名 ,先选择几人局后 ,输入名字等待玩家加入后 准备后玩家到达选择的人数即可开始游戏,选择初始金额,2种:300 或者 1500 。游戏开始不能有新人入场,但是可以退出游戏即为失败,失败:一方没有资本为失败包括地产和地产上的房子可抵押,可以设置电脑玩家,电脑玩家随机)

2、掷骰

一次投两个骰子。如果两个骰子的点数相同,你可以再转一个。如果你在这个回合中被监禁,额外的回合将被取消。同样的号码三次直接进了监狱。

(方案:游戏开始双发投骰子 点数大的先走 投一颗)

3、物业

玩家可以选择是否购买无人居住的土地。 如果你不这么做,银行会马上拍卖的。 银行的资金是无限的,但建筑是有限的(32幢房子和12间酒店)。 球员之间的交易可以在金钱、财产和保释金卡之间进行。

4、住房和旅馆

如果你拥有所有相同颜色的无抵押土地,你可以选择在任何玩家掷骰子之前建造房子,除非你额外掷出相同数目的点数。 住房必须建造在目前群体中最不常见的地方,即平均而言。

5、套取现金玩家可以用批发价把他们的房子卖给银行,但是在卖房子的时候仍然要保留相同颜色的房子的平均数,这意味着他们必须卖出最多的土地。 玩家可以在任何玩家掷骰子之前赎回土地,除非额外掷出相同点数。 在无条件输入小数的情况下,取消抵押品赎回权以支付抵押价值的10%的利息。

6、交易

在任何时候,玩家都可以和他们的对手交换没有建筑物的土地,并且第一批交易都会被处理。 不允许玩家相互借钱。

7、入狱

你仍然可以在监狱里收取租金,盖房子,或者交易,但是你不能搬家。 一旦被允许进入,玩家可以选择在赌局开始前出狱,或者支付50美元的罚款。 在监狱里,只有扔同样次数的动作(出狱),才不会再有额外的一轮。

8、破产

如果玩家在出售或抵押所有资产后没有足够的现金偿还债务,他们就会宣布破产。 所有资产都直接转让给债权人,当抵押土地转让给债权人时,债务必须立即缴纳相当于抵押价值10%的交易税。

9、如果走到抽取卡片的地方要抽取一张卡片(机会卡/命运卡)并按照卡片上的做(卡片作用分为延时和非延时2种)

10、胜利的条件

最后一个不破产的玩家获胜。 在时限结束时,拥有最高总资产的人获胜。

11、每次开局随机生成棋盘(大小棋盘分开,小棋盘存在机会卡命运卡抽卡点各5个 共 36+1开始位置+12+3个空白位置 =52个格子 横列都是12+边角4个 ,大棋盘54+1+14+3=72 横列都是 17+边角4个)

拓展

大富翁又名地产大亨。 是一款多人战略棋盘游戏。 参与者从游戏中获得金钱,用运气(骰子)和交易策略购买土地和建造房屋来赚取租金。 “Monopoly”是指“垄断”,因为最后只有一个赢家,剩下的都会破产。 这个游戏原本是为了揭露自由放任资本主义的罪恶,但后来却大受欢迎。

初始化地图信息:系统设置2个地图 (大图和小图)可供选择,小图36个国家及其信息, 大图54个国家及其信息如下:

<div><h3>小地图信息:<h3>
    <h4>过路费一律是购买金额的60%,第一次停在这里可以建立一栋旅馆建立一栋旅馆价格 50 ,2栋旅馆升级成一所酒店价格 100,所有的地方都一样</h4>

    <div>中国 price : 110 </div>           
    <div>马来西亚 price : 60</div>
    <div>新加坡price : 70</div>
    <div>印度 price : 60</div>
    <div>泰国 price :60</div>
    <div>伊朗 price: 50</div>
    <div>蒙古 price :50</div>
    <div>以色列 price :80</div>
    <div>马尔代夫 price :70</div>

    <div>芬兰 price : 75</div>
    <div>瑞典 price :75</div>
    <div>挪威 price :75</div>
    <div>冰岛 price :75</div>
    <div>丹麦 price :75</div>
    <div>德国 price :75</div>
    <div>奥地利price :75</div>
    <div>瑞士price :75</div>
    <div>意大利price :75</div>

    <div>利比亚 price :55</div>         
    <div>埃及price :65</div>
    <div>马达加斯加price :75</div>
    <div>科摩罗price :55</div>
    <div>毛里求斯price :50</div>
    <div>安哥拉price :50</div>
    <div>突尼斯price :50</div>
    <div>卢旺达price :50</div>
    <div>中非price :65</div>

    <div>加拿大price :95</div>
    <div>美国 price :100</div>
    <div>墨西哥 price :80</div>
    <div>哥伦比亚price :110</div>
    <div>巴西price :110</div>
    <div>阿根廷price :85</div>
    <div>澳大利亚price :110</div>
    <div>新西兰price :110</div>
    <div>梵蒂冈price :70</div>

</div>



<div><h3>大地图信息:<h3></div>

<div><h3>大地图信息:<h3>
    <h4>过路费一律是购买金额的60%,第一次停在这里可以建立一栋旅馆建立一栋旅馆价格 50 ,2栋旅馆升级成一所酒店价格 100,所有的地方都一样</h4>

    <div>中国 price : 110 </div>           
    <div>马来西亚 price : 60</div>
    <div>新加坡price : 70</div>
    <div>印度 price : 60</div>
    <div>泰国 price :60</div>
    <div>伊朗 price: 50</div>
    <div>蒙古 price :50</div>
    <div>以色列 price :80</div>
    <div>马尔代夫 price :70</div>

    <div>芬兰 price : 75</div>
    <div>瑞典 price :75</div>
    <div>挪威 price :75</div>
    <div>冰岛 price :75</div>
    <div>丹麦 price :75</div>
    <div>德国 price :75</div>
    <div>奥地利price :75</div>
    <div>瑞士price :75</div>
    <div>意大利price :75</div>

    <div>利比亚 price :55</div>         
    <div>埃及price :65</div>
    <div>马达加斯加price :75</div>
    <div>科摩罗price :55</div>
    <div>毛里求斯price :50</div>
    <div>安哥拉price :50</div>
    <div>突尼斯price :50</div>
    <div>卢旺达price :50</div>
    <div>中非price :65</div>

    <div>加拿大price :95</div>
    <div>美国 price :100</div>
    <div>墨西哥 price :80</div>
    <div>哥伦比亚price :110</div>
    <div>巴西price :110</div>
    <div>阿根廷price :85</div>
    <div>澳大利亚price :110</div>
    <div>新西兰price :110</div>
    <div>梵蒂冈price :70</div>

    <div>日本 price :75</div>
    <div>韩国 price :65</div>
    <div>俄罗斯 price :110</div>
    <div>巴基斯坦 price :60</div>
    <div>乌拉圭price :60</div>
    <div>巴拉圭price :60</div>
    <div>智利price :60</div>
    <div>土耳其 price :70</div>
    <div>阿富汗price :60</div>

    <div>英国price :100</div>
    <div>法国 price :100</div>
    <div>西班牙price :100</div>
    <div>葡萄牙price :100</div>
    <div>老挝price :40</div>
    <div>越南price :40</div>
    <div>伊拉克price :50</div>
    <div>希腊price :80</div>
    <div>比利时price :110</div>


</div>



<div><h3>大地图信息:<h3></div>

-code- 

import java.util.*;

class Player {
    private String name;
    private int cash;
    private List<Property> properties;
    // 其他玩家属性和方法

    public Player(String name, int initialCash) {
        this.name = name;
        this.cash = initialCash;
        this.properties = new ArrayList<>();
        // 初始化其他玩家属性
    }

    // 实现玩家的购买物业、建造房子、交易等方法
}

class Property {
    private String name;
    private int price;
    private int rent;
    private boolean isOwned;
    private Player owner;
    // 其他属性

    public Property(String name, int price, int rent) {
        this.name = name;
        this.price = price;
        this.rent = rent;
        this.isOwned = false;
        this.owner = null;
        // 初始化其他属性
    }

    // 实现物业的购买、租金支付等方法
}

public class MonopolyGame {
    private List<Player> players;
    private List<Property> properties;
    private int currentPlayerIndex;
    private int doublesCount; // 用于处理连续掷骰子的情况

    public MonopolyGame(int numPlayers, int initialCash) {
        players = new ArrayList<>();
        for (int i = 1; i <= numPlayers; i++) {
            players.add(new Player("Player " + i, initialCash));
        }
        // 初始化游戏棋盘,包括物业等
        currentPlayerIndex = 0;
        doublesCount = 0;
    }

    public void playTurn() {
        Player currentPlayer = players.get(currentPlayerIndex);

        // 实现掷骰子、移动、处理事件等游戏逻辑
        int dice1 = rollDice();
        int dice2 = rollDice();
        int totalDice = dice1 + dice2;

        // 处理连续掷骰子的情况
        if (dice1 == dice2) {
            doublesCount++;
        } else {
            doublesCount = 0;
        }

        // 移动玩家
        // 处理停留在特殊格子、购买物业、支付租金等逻辑

        // 更新玩家的现金、物业等信息

        // 切换到下一个玩家
        currentPlayerIndex = (currentPlayerIndex + 1) % players.size();
    }

    // 实现其他游戏方法,如处理卡片抽取、监狱、胜利条件等

    private int rollDice() {
        return (int) (Math.random() * 6) + 1;
    }

    public Player getWinner() {
        Player winner = null;
        for (Player player : players) {
            if (winner == null || player.getCash() > winner.getCash()) {
                winner = player;
            }
        }
        return winner;
    }

    public static void main(String[] args) {
        MonopolyGame game = new MonopolyGame(4, 1500); // 4个玩家,每个玩家初始资金1500
        // 实现游戏循环,直到有胜者
        while (game.getWinner() == null) {
            game.playTurn();
        }
        Player winner = game.getWinner();
        System.out.println("游戏结束," + winner.getName() + " 获胜!");
    }
}

猜你喜欢

转载自blog.csdn.net/s_sos0/article/details/126032145