java写一个全场篮球比赛的例子
时间: 2023-05-22 15:05:46 浏览: 56
好的,以下是一个简单的Java全场篮球比赛的例子:
public class BasketballGame {
public static void main(String[] args) {
// 创建队伍
Team homeTeam = new Team("home");
Team awayTeam = new Team("away");
// 添加球员
homeTeam.addPlayer("Player 1");
homeTeam.addPlayer("Player 2");
homeTeam.addPlayer("Player 3");
awayTeam.addPlayer("Player A");
awayTeam.addPlayer("Player B");
awayTeam.addPlayer("Player C");
// 创建比赛
Game game = new Game(homeTeam, awayTeam);
// 开始比赛
game.start();
}
}
class Team {
private String name;
private List<Player> players;
public Team(String name) {
this.name = name;
this.players = new ArrayList<>();
}
public void addPlayer(String name) {
players.add(new Player(name));
}
// 省略其它方法
public List<Player> getPlayers() {
return players;
}
}
class Player {
private String name;
private int score;
public Player(String name) {
this.name = name;
}
public void score() {
score++;
}
// 省略其它方法
public int getScore() {
return score;
}
public String getName() {
return name;
}
}
class Game {
private Team homeTeam;
private Team awayTeam;
public Game(Team home, Team away) {
this.homeTeam = home;
this.awayTeam = away;
}
public void start() {
System.out.println("Game starts!");
while (true) {
// 随机选择一个进攻方和防守方
Team attackingTeam = Math.random() > 0.5 ? homeTeam : awayTeam;
Team defendingTeam = attackingTeam == homeTeam ? awayTeam : homeTeam;
System.out.println(attackingTeam.getName() + " is attacking!");
// 随机选择由哪个球员掌控球
int playerIndex = (int) (Math.random() * attackingTeam.getPlayers().size());
Player playerWithBall = attackingTeam.getPlayers().get(playerIndex);
System.out.println(playerWithBall.getName() + " has the ball!");
// 随机选择远投或者近距离进攻
if (Math.random() > 0.5) {
// 远投
if (Math.random() > 0.5) {
playerWithBall.score();
System.out.println(playerWithBall.getName() + " scores a 3-pointer!");
} else {
System.out.println(playerWithBall.getName() + " misses a 3-pointer!");
}
} else {
// 近距离进攻
System.out.println(playerWithBall.getName() + " drives to the basket!");
if (Math.random() > 0.5) {
playerWithBall.score();
System.out.println(playerWithBall.getName() + " scores a layup!");
} else {
System.out.println(playerWithBall.getName() + " misses a layup!");
}
}
System.out.println("--------------------------");
// 如果任何一支队伍得到了100分,比赛结束
if (homeTeam.getScore() >= 100) {
System.out.println(homeTeam.getName() + " wins!");
break;
} else if (awayTeam.getScore() >= 100) {
System.out.println(awayTeam.getName() + " wins!");
break;
}
}
}
}
希望这个例子可以帮助你。