java案例认为这次铲球是否干净利落?

wen java案例 1

下面我用 Java 写一个简单的示例,模拟足球比赛中对铲球动作的判定逻辑:

java案例认为这次铲球是否干净利落?

Java 案例:判断铲球是否干净利落

/**
 * 铲球判定案例
 * 判定标准:
 * 1. 是否先触到球(先球后人 = 干净)
 * 2. 是否从正面或侧面铲球(背后铲球 = 犯规)
 * 3. 是否双脚离地、亮鞋钉(危险动作 = 犯规)
 * 4. 是否触碰到对方球员(未触人 = 更干净)
 */
public class TackleJudge {
    // 铲球动作的各个属性
    static class Tackle {
        boolean touchedBallFirst;   // 是否先触球
        boolean fromBehind;         // 是否背后铲球
        boolean studsUp;            // 是否亮鞋钉
        boolean bothFeetOffGround;  // 是否双脚离地
        boolean touchedPlayer;      // 是否碰到对方球员
        public Tackle(boolean touchedBallFirst, boolean fromBehind,
                      boolean studsUp, boolean bothFeetOffGround,
                      boolean touchedPlayer) {
            this.touchedBallFirst = touchedBallFirst;
            this.fromBehind = fromBehind;
            this.studsUp = studsUp;
            this.bothFeetOffGround = bothFeetOffGround;
            this.touchedPlayer = touchedPlayer;
        }
    }
    public static String judge(Tackle t) {
        // 严重犯规:背后铲球或亮鞋钉
        if (t.fromBehind || t.studsUp) {
            return "❌ 犯规!危险动作,可能出示黄牌或红牌";
        }
        // 双脚离地也属于危险动作
        if (t.bothFeetOffGround) {
            return "⚠️ 犯规!双脚离地,危险动作";
        }
        // 先触球且未碰到人 = 干净利落
        if (t.touchedBallFirst && !t.touchedPlayer) {
            return "✅ 干净利落!一次漂亮的铲球";
        }
        // 先触球但带到人 = 轻微犯规
        if (t.touchedBallFirst && t.touchedPlayer) {
            return "🟡 先触球但带倒对方,可能吹罚犯规";
        }
        // 没碰到球只碰到人 = 明显犯规
        if (!t.touchedBallFirst && t.touchedPlayer) {
            return "❌ 犯规!未触球直接铲倒对方";
        }
        return "⚪ 判定不明,需裁判进一步判断";
    }
    public static void main(String[] args) {
        // 案例1:先触球、侧面、未亮鞋钉、未碰人 → 干净
        Tackle tackle1 = new Tackle(true, false, false, false, false);
        System.out.println("案例1: " + judge(tackle1));
        // 案例2:背后铲球 + 亮鞋钉 → 严重犯规
        Tackle tackle2 = new Tackle(true, true, true, true, true);
        System.out.println("案例2: " + judge(tackle2));
        // 案例3:先触球但带倒对方
        Tackle tackle3 = new Tackle(true, false, false, false, true);
        System.out.println("案例3: " + judge(tackle3));
        // 案例4:没碰到球,铲倒人
        Tackle tackle4 = new Tackle(false, false, false, false, true);
        System.out.println("案例4: " + judge(tackle4));
    }
}

运行结果

案例1: ✅ 干净利落!一次漂亮的铲球
案例2: ❌ 犯规!危险动作,可能出示黄牌或红牌
案例3: 🟡 先触球但带倒对方,可能吹罚犯规
案例4: ❌ 犯规!未触球直接铲倒对方

判定规则说明

条件 判定
背后铲球 / 亮鞋钉 严重犯规(黄/红牌)
双脚离地 危险动作,犯规
先触球 + 未碰人 ✅ 干净利落
先触球 + 碰到人 🟡 可能犯规
未触球 + 铲到人 ❌ 明显犯规

如果你是想针对某个具体的真实比赛案例(比如某场球赛的某次铲球)来讨论,请把具体情况告诉我(谁铲谁、从哪个方向、有没有先碰球等),我可以帮你分析。🤝

抱歉,评论功能暂时关闭!