Web服务实战:从游戏到航空预订与数学方程生成
1. 游戏相关方法解析
1.1 发牌方法 dealJButtonActionPerformed
当玩家点击发牌按钮时, dealJButtonActionPerformed
方法(代码行 543 - 602)会清空所有显示牌或游戏状态信息的 JLabel
。接着,洗牌并给玩家和庄家各发两张牌,然后计算每手牌的总分。根据玩家和庄家的得分情况,调用 gameOver
方法并传递相应的游戏状态。
- 若玩家和庄家得分均为 21,传递 GameStatus.PUSH
。
- 若只有庄家得分 21,传递 GameStatus.LOSE
。
- 若发完前两张牌后只有玩家得分 21,传递 GameStatus.BLACKJACK
。
1.2 要牌方法 hitJButtonActionPerformed
若 dealJButtonActionPerformed
未调用 gameOver
方法,玩家可点击要牌按钮,调用 hitJButtonActionPerformed
方法(代码行 605 - 628)。每次点击,程序会给玩家发一张牌并显示在 GUI 上。若玩家得分超过 21,游戏结束且玩家输;若玩家得分恰好为 21,则不能再要牌,并调用 dealerP