• 周三. 4 月 22nd, 2026

物嫩软件资讯网

软件资讯来物嫩

java面向对象实现文字格斗游戏

admin@wunen

3 月 30, 2025

面向对象编程(Object-Oriented Programming, OOP)是一种程序设计思想,它利用“对象”来封装状态和行为,使得代码更易于维护和扩展。

下面我们使用java中的面向对象编程,来实现一个文字格斗的游戏联系!



实现效果



代码实现

1.创建基础的bean

package com.gaofeng.day04;

import java.util.Random;

public class TextGame {
    private String name;
    private int blood;

    public TextGame() {
    }

    public TextGame(String name, int blood) {
        this.name = name;
        this.blood = blood;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return blood
     */
    public int getBlood() {
        return blood;
    }

    /**
     * 设置
     * @param blood
     */
    public void setBlood(int blood) {
        this.blood = blood;
    }

    public String toString() {
        return "TextGame{name = " + name + ", blood = " + blood + "}";
    }

    public void attack(TextGame role){
        Random r = new Random() ;
        int hurt = r.nextInt(20) + 1;
        //修改挨揍人的血量
        int remainBlood = Math.max(0 , (role.getBlood() - hurt));
        role.setBlood(remainBlood);
        System.out.println(this.getName() + "了举起拳头,打了"+ role.getName()  +"一下,造成了"+hurt+"点伤害,"+role.getName()+"还剩下"+remainBlood+"血量");
    }
}

重点是最后一个方法,互相攻击,要分清是谁攻击谁,计算更新对应的血量。

2.测试类

package com.gaofeng.day04;

public class TextGameText {
    public static void main(String[] args) {
        TextGame q1 = new TextGame("乔峰", 100);
        TextGame q2 = new TextGame("鸠摩智", 100);
        while (true){
            q1.attack(q2);
            if(q2.getBlood() == 0){
                System.out.println(q1.getName() +"KO." + q2.getName());
                break;
            }
            q2.attack(q1);
            if(q1.getBlood() == 0){
                System.out.println(q2.getName() +"KO." + q1.getName());
                break;
            }
        }
    }
}

运行代码,这样就实现了一个面向对象的文字格斗游戏!!!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注