java 编写代码的一些规则

在我们平时编写java代码的时候有些规则我们是应该记住,这样对于我们养成良好的习惯也很有帮助的,在java编码时有以下这些规定:

类--------类的名字应该是名词,第一个字母大写,若是合成名词,那么每个名词的第一个字母要大写。 

接口--------名字的第一个字母大写。

方法--------名字的第一个字母一般用小写,合成词时,第一个词用小写,其它一般大写,在方法名中通常不用下划线。

常量--------原始常量用由下划线分开的词表示,而对象的常量可以用混合方式表示,即每个词的第一个字母大写。

变量--------所有的变量名第一个字母均小写,当用混合方式时,用大写字母隔开两个词。变量中通常不用下划线。

变量都是有一定意义的,因此我们定义的时候名字应该在某种意义上能看出它的作用,这个对于我们读代码是很有帮助的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的Java代码实现德州扑克的基本规则: ```java import java.util.ArrayList; import java.util.Collections; public class TexasHoldem { private ArrayList<Card> deck; private ArrayList<Card> flop; private Card turn; private Card river; private ArrayList<Player> players; private int dealerIndex; private int smallBlindIndex; private int bigBlindIndex; private int pot; private int currentBet; public TexasHoldem() { deck = new ArrayList<Card>(); flop = new ArrayList<Card>(); players = new ArrayList<Player>(); // 初始化扑克牌 for (int i = 2; i <= 14; i++) { deck.add(new Card(i, "spades")); deck.add(new Card(i, "hearts")); deck.add(new Card(i, "clubs")); deck.add(new Card(i, "diamonds")); } // 随机洗牌 Collections.shuffle(deck); dealerIndex = 0; smallBlindIndex = (dealerIndex + 1) % players.size(); bigBlindIndex = (dealerIndex + 2) % players.size(); pot = 0; currentBet = 0; } public void play() { deal(); bettingRound(); flop(); bettingRound(); turn(); bettingRound(); river(); bettingRound(); showdown(); } public void deal() { // 发两张手牌给每个玩家 for (Player player : players) { for (int i = 0; i < 2; i++) { player.addCard(deck.remove(0)); } } } public void flop() { // 翻开三张公共牌 for (int i = 0; i < 3; i++) { flop.add(deck.remove(0)); } } public void turn() { // 翻开转牌 turn = deck.remove(0); } public void river() { // 翻开河牌 river = deck.remove(0); } public void bettingRound() { int currentPos = bigBlindIndex; int lastRaisePos = -1; while (true) { Player currentPlayer = players.get(currentPos); int bet = currentPlayer.getBet(currentBet); if (bet == -1) { // 弃牌 players.remove(currentPlayer); if (players.size() == 1) { // 游戏结束,只剩下一个玩家 break; } } else if (bet > currentBet) { // 加注 pot += (bet - currentBet); currentBet = bet; lastRaisePos = currentPos; } else if (bet < currentBet) { // 不能下注低于当前的赌注 continue; } else if (currentPos == lastRaisePos) { // 所有玩家都跟注或弃牌,进入下一轮 break; } currentPos = (currentPos + 1) % players.size(); } } public void showdown() { Player winner = null; Hand bestHand = null; for (Player player : players) { Hand hand = player.getHand(flop, turn, river); if (bestHand == null || hand.compareTo(bestHand) > 0) { winner = player; bestHand = hand; } } winner.winPot(pot); } public void addPlayer(Player player) { players.add(player); } public void nextDealer() { dealerIndex = (dealerIndex + 1) % players.size(); smallBlindIndex = (dealerIndex + 1) % players.size(); bigBlindIndex = (dealerIndex + 2) % players.size(); } public static void main(String[] args) { TexasHoldem game = new TexasHoldem(); game.addPlayer(new Player("Alice")); game.addPlayer(new Player("Bob")); game.addPlayer(new Player("Charlie")); while (game.players.size() > 1) { game.play(); game.nextDealer(); } Player winner = game.players.get(0); System.out.println("Winner: " + winner.getName()); } } class Player { private String name; private ArrayList<Card> hand; private int chips; public Player(String name) { this.name = name; hand = new ArrayList<Card>(); chips = 1000; } public void addCard(Card card) { hand.add(card); } public int getBet(int currentBet) { // 玩家决定下注的策略 return 0; } public Hand getHand(ArrayList<Card> flop, Card turn, Card river) { ArrayList<Card> allCards = new ArrayList<Card>(); allCards.addAll(hand); allCards.addAll(flop); allCards.add(turn); allCards.add(river); return new Hand(allCards); } public void winPot(int pot) { chips += pot; } public String getName() { return name; } } class Card { private int rank; private String suit; public Card(int rank, String suit) { this.rank = rank; this.suit = suit; } public int getRank() { return rank; } public String getSuit() { return suit; } } class Hand implements Comparable<Hand> { private ArrayList<Card> cards; private int rank; public Hand(ArrayList<Card> cards) { this.cards = cards; rank = calculateRank(); } private int calculateRank() { // 计算牌型的排名 return 0; } public int getRank() { return rank; } public int compareTo(Hand other) { return rank - other.getRank(); } } ``` 这个代码实现了德州扑克的基本规则,包括发牌、下注、翻牌、比牌等操作。其,玩家可以通过实现`getBet`方法来决定下注的策略。这个方法的参数`currentBet`表示当前的赌注,玩家可以选择下注、跟注、加注或弃牌。在比牌时,利用`Hand`类来计算玩家的最好牌型,并比较各个玩家的牌型大小。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值