人狗大战JAVA代码咋写?新手也能看懂的教程!

吉云

今天心血来潮,想搞个“人狗大战”的小游戏,用Java写。之前在网上看到过一些相关的代码片段,有点印象,但不完整。所以今天从头开始,一步步把这个小东西给捣鼓出来。

准备工作

先得有个Java开发环境,这个不用多说,没这玩意儿玩不转。然后,我习惯用IntelliJ IDEA,这工具写代码是真顺手,当然你用Eclipse或者其他啥的也行,看个人喜

人狗大战JAVA代码咋写?新手也能看懂的教程!

创建项目和类

打开IDEA,新建一个Java项目。给项目起个名字,就叫“BattleGame”。然后在src文件夹下,创建几个类:

  • Main:主类,程序的入口。
  • Person:人类,包含姓名、年龄、攻击力、生命值等属性。
  • Dog:狗类,包含姓名、品种、攻击力、生命值等属性。
  • 人狗大战JAVA代码咋写?新手也能看懂的教程!

写代码

先从Person类开始。在Person类里,定义几个基本的属性:


public class Person {

人狗大战JAVA代码咋写?新手也能看懂的教程!

private String name;

private int age;

private int attack;

private int health;

public Person(String name, int age, int attack, int health) {

* = name;

人狗大战JAVA代码咋写?新手也能看懂的教程!

* = age;

* = attack;

* = health;

// getter和setter方法,这里就省略

// ...

人狗大战JAVA代码咋写?新手也能看懂的教程!

然后是Dog类,跟Person类差不多:


人狗大战JAVA代码咋写?新手也能看懂的教程!

public class Dog {

private String name;

private String breed;

private int attack;

private int health;

public Dog(String name, String breed, int attack, int health) {

人狗大战JAVA代码咋写?新手也能看懂的教程!

* = name;

* = breed;

* = attack;

* = health;

// getter和setter方法,这里就省略

人狗大战JAVA代码咋写?新手也能看懂的教程!

// ...

在Person和Dog类里分别添加一个攻击方法。先是Person类的:

人狗大战JAVA代码咋写?新手也能看懂的教程!

public void attackDog(Dog dog) {

*(* + "攻击" + *());

*(*() - *); // 假设每次攻击减少对方生命值

*(*() + "剩余生命值:" + *());

人狗大战JAVA代码咋写?新手也能看懂的教程!

然后是Dog类的:


public void attackPerson(Person person) {

人狗大战JAVA代码咋写?新手也能看懂的教程!

*(* + "攻击" + *());

*(*() - *);

*(*() + "剩余生命值:" + *());

人狗大战JAVA代码咋写?新手也能看懂的教程!

在Main类里,创建一个人和一个狗,让他们互相攻击:


public class Main {

public static void main(String[] args) {

Person person = new Person("张三", 30, 20, 100);

人狗大战JAVA代码咋写?新手也能看懂的教程!

Dog dog = new Dog("旺财", "哈士奇", 15, 80);

// 模拟战斗

*(dog);

*(person);

人狗大战JAVA代码咋写?新手也能看懂的教程!

运行结果

运行Main类,控制台输出:

张三攻击旺财

旺财剩余生命值:65

人狗大战JAVA代码咋写?新手也能看懂的教程!

旺财攻击张三

张三剩余生命值:85

搞定!一个简单的“人狗大战”雏形就出来。这只是个最基本的版本,还可以继续完善,比如加入循环,让战斗持续到一方生命值为0,或者加入更多的角色和技能等等。不过今天就先到这儿,以后有空再继续折腾。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]