java抽卡功能实现代码
时间: 2024-01-02 15:13:27 浏览: 33
以下是一个简单的 Java 抽卡功能实现代码,可以根据需要进行修改和优化:
```java
import java.util.Random;
public class CardGame {
private static final int CARD_NUM = 100; // 卡牌数量
private static final int DRAW_NUM = 10; // 每次抽卡数量
private static final int COST = 100; // 单次抽卡花费
private static final int DISCOUNT = 50; // 每十次抽卡折扣
private int totalCost; // 总花费
private int drawCount; // 抽卡次数
private int discountCount; // 折扣次数
private Random random;
public CardGame() {
totalCost = 0;
drawCount = 0;
discountCount = 0;
random = new Random();
}
public void play() {
System.out.println("欢迎来到抽卡游戏!");
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 抽卡");
System.out.println("2. 查看状态");
System.out.println("3. 退出游戏");
int choice = inputInt();
switch (choice) {
case 1:
drawCard();
break;
case 2:
showStatus();
break;
case 3:
exitGame();
return;
default:
System.out.println("无效的操作,请重新选择!");
break;
}
}
}
private void drawCard() {
if (COST > totalCost) {
System.out.println("您的余额不足,请充值!");
return;
}
int[] cards = new int[DRAW_NUM];
for (int i = 0; i < DRAW_NUM; i++) {
cards[i] = random.nextInt(CARD_NUM) + 1;
}
totalCost += COST;
drawCount++;
if (drawCount % 10 == 0) {
totalCost -= DISCOUNT;
discountCount++;
}
System.out.println("您抽到了以下卡牌:");
for (int card : cards) {
System.out.print(card + " ");
}
System.out.println();
}
private void showStatus() {
System.out.println("当前余额:" + totalCost);
System.out.println("当前抽卡次数:" + drawCount);
System.out.println("当前折扣次数:" + discountCount);
}
private void exitGame() {
System.out.println("感谢游玩本游戏!");
}
private int inputInt() {
int n = 0;
while (true) {
try {
n = Integer.parseInt(System.console().readLine());
break;
} catch (NumberFormatException e) {
System.out.println("输入不合法,请重新输入!");
}
}
return n;
}
public static void main(String[] args) {
CardGame game = new CardGame();
game.play();
}
}
```
这个代码实现了一个简单的抽卡游戏,可以在命令行中运行。用户可以选择抽卡、查看状态或者退出游戏。每次抽卡会消耗一定的余额,并且有一定概率获得不同的卡牌。每十次抽卡可以获得一次折扣。用户可以通过查看状态来了解自己的余额、抽卡次数和折扣次数。