• 周五. 4 月 24th, 2026

物嫩软件资讯网

软件资讯来物嫩

文字格斗游戏——击败流言蜚语

admin@wunen

4 月 21, 2025

游戏规则:

1.由玩家选择技能与电脑进行对决,通过随机变量判断是由玩家先出手还是电脑

2.双方初始都有20点蓝量来释放技能,还有100点血量,当某一方血量为0时结束游戏

3.玩家或电脑释放技能时需要消耗相应的蓝量,如果蓝量不足会默认释放普通攻击

4.当电脑或玩家释放普通攻击时,每次回复2点蓝量

心得:

使用到了静态变量,在类头定义了血量和蓝量为静态变量,这样子每一次释放技能的时候就不会再重新计算血量和蓝量。这一次只是做了一个非常简单的一个小游戏,可以在现在的基础上加上人人对战,只需要开头再判断一下是选择人人对战还是人机对战就可以了,再加上一个新的user方法就可以实现人人对战。还可以加入一些新的元素,比如:护盾、装备、技能眩晕、暴击等等。还可以加入一个商城系统,使玩家探险时可以更好的装备自己,变得更强。希望我也可以变得更强去实现我的每一个想法!!

package test.test1;

import java.util.Random;
import java.util.Scanner;

public class test9{
    private static int count=20;
    private static int number=20;
    private  static int user=100;
    private  static int computer=100;
    public static void main(String []args) {
        System.out.println("开始游戏,您的角色是春丽");
        Random r=new Random();
        int start=r.nextInt(2);
        if (start==1){
            System.out.println("本次游戏由您先发起攻击");
        while (user>0 &&computer>0) {
            int userattack = chunli();
            computer = computer - userattack;
            System.out.println("电脑的血量剩余为:" + computer);
            if (computer <=0) {
                System.out.println("恭喜您击败了流言蜚语,您一定会成功的做到你想做的事情!!!");
                break;
            }
            int computerattack = computer();
            user = user - computerattack;
            if (user <= 0) {
                System.out.println("一小次的失败只是偶然的,请再接再厉吧,您一定会闪闪发光的!!!!");
                break;
            }
            System.out.println("您的血量剩余为:" + user);
        }}else if (start==0){
            System.out.println("本次游戏由电脑先发起攻击");
            while (user>0 &&computer>0) {
                int computerattack = computer();
                user = user - computerattack;
                if (user <= 0) {
                    System.out.println("一小次的失败只是偶然的,请再接再厉吧,您一定会闪闪发光的!!!!");
                    break;
                }
                System.out.println("您的血量剩余为:" + user);
                int userattack = chunli();
                computer = computer - userattack;
                System.out.println("电脑的血量剩余为:" + computer);
                if (computer <= 0) {
                    System.out.println("恭喜您击败了流言蜚语,您一定会成功的做到你想做的事情!!!");
                    break;
                }

            }

        }

        }

    public static int chunli() {
        int attack = 0;
        System.out.println("您的蓝量剩余为"+count+",请选择您的技能");
        System.out.println("1.普通攻击(0)  2.莫欺少年穷(2)  3.天生我材必有用(2)   4.我命由我不由天(4)");
        Scanner sc =new Scanner(System.in);
        Random r=new Random();
        int usernumber =sc.nextInt();
        if(usernumber==1) {
            attack=1;
            System.out.println("您使出了普通攻击,对敌方造成了"+attack*3+"点伤害!");
            count=count+2;
        } else if (usernumber==2&&count>=2) {
            count=count-2;
            attack=r.nextInt(3)+2;
            System.out.println("您使出了莫欺少年穷,对敌方造成了"+attack*3+"点伤害!");
        } else if(usernumber==3&&count>=2) {
            count=count-2;
            attack=r.nextInt(3)+2;
            System.out.println("您使出了天生我材必有用,对敌方造成了"+attack*3+"点伤害!");
        }
        else if (usernumber==4&&count>=4) {
            count=count-4;
            attack=r.nextInt(4)+3;
            System.out.println("您使出了终极大招--我命由我不由天!对敌方造成了"+attack*3+"点伤害!");
        }
        else  if (count<2&&usernumber>1||count<4&&usernumber==4){
            System.out.println("您的蓝量不足,系统默认使出普通攻击");
            attack=1;
            count=count+2;
        }
        return attack*3;
    }
    public  static int computer(){
        int attack=0;
        Random r=new Random();
        int num=r.nextInt(4)+1;

        if (num==1){
            attack=1;
            System.out.println("电脑使出了普通攻击,对您造成了"+attack*3+"点伤害");
            number=number+2;
        }
        else if (num==2&&number>2){
            attack=r.nextInt(3)+2;
            System.out.println("电脑使出了你真丑,对您造成了"+attack*3+"点伤害");
            number=number-2;
        }
        else if (num==3&&number>3){
            attack=r.nextInt(3)+2;
            System.out.println("电脑使出了你什么都做不好,对您造成了"+attack*3+"点伤害");
            number=number-3;
        }
        else if (num==4&&number>4){
            attack=r.nextInt(4)+3;
            System.out.println("电脑使出了终极大招--再努力也成功不了!对您造成了"+attack*3+"点伤害");
            number=number-4;
        }
        else if (num>1&&number<2||num==4&&number<4){
            attack=1;
            System.out.println("电脑使出了普通攻击,对您造成了"+attack*3+"点伤害");
            number=number+2;
        }
        System.out.println("电脑剩余蓝量为:"+number);
        return attack*3;
    }
}

发表回复

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