展开全部

其实是很简单的程序,就是无限循环和条件表达式的运用e68a843231313335323631343130323136353331333335346131而已。代码如下:import java.util.Scanner;

public class ElectronicDog {

private static double timeLeft = 0; // 剩余时间

private static int happiness = 1; // 幸福值(初始为1)

private static int energy = 2; // 能量值(初始为2)

private static Scanner sc;

private static double sleepTimeLeft = 10; // 睡眠时间间隔,超过则小狗离开

private static double feedTimeLeft = 0; // 饲养时间间隔,小于间隔则无效

public static void main(String[] args) {

sc = new Scanner(System.in);

int days = 0;

// 输入天数

while(days <= 0) {

System.out.print("Play time (day(s)): ");

days = sc.nextInt();

if(days <= 0) {

System.out.println("Please input a valid time.");

}

}

// 剩余时间就是天数乘以24小时

timeLeft = days * 24;

while(timeLeft > 0) { // 如果剩余时间小于0则游戏结束

showState();

if(happiness <= 0) { // 幸福值小于0时结束

System.out.println("The dog is out of happiness and has left.");

break;

}

if(energy <= 0) { // 能量值小于0时结束

System.out.println("The dog is out of energy and has died.");

break;

}

if(sleepTimeLeft <= 0) { // 睡眠时间超过时结束

System.out.println("The dog does not sleep within 10 hours and has left.");

break;

}

Command ops = getCommand();

if(ops == Command.Sleep) { // 如果是让宠物睡觉则睡眠时间重置

sleepTimeLeft = 10;

} else { // 如果不是让宠物睡觉则睡眠时间减去任务消耗时间

if(ops == Command.Feed) {

if(feedTimeLeft > 0) { // 如果太过频繁喂养,则本次命令无效

continue;

} else { // 如果喂养有效,则喂养时间重置

feedTimeLeft = 3;

}

}

sleepTimeLeft -= ops.timeSpent;

}

feedTimeLeft -= ops.timeSpent;

happiness += ops.happinessGained;

energy += ops.energyConsumed;

timeLeft -= ops.timeSpent;

}

if(timeLeft <= 0) { // 如果是正常游戏时间结束才能看到这一句

System.out.println("Play time is over.");

}

}

/**

* 显示宠物状态

*/

private static void showState() {

System.out.println("--------------------------------");

System.out.println("Time left: " + getTime());

System.out.println("Dog's happiness: " + happiness);

System.out.println("Dog's energy: " + energy);

}

/**

* 命令宠物行为

* @return 返回操作明细

*/

private static Command getCommand() {

System.out.println("1. Walk\r\n2. Feed\r\n3. Sleep\r\n4. Play");

int choice = 0;

while(choice <= 0 || choice > 4) {

System.out.print("Choice: ");

if(sc.hasNextInt()) {

choice = sc.nextInt();

}

}

Command cmd = Command.values()[choice - 1];

return cmd;

}

private static String getTime() {

int hour = (int) Math.floor(timeLeft);

double min = timeLeft - hour;

return String.format("%02d : %02d", hour, (int) (min * 60));

}

}

/**

* 对小狗发出的命令

*/

enum Command {

Walk(1, 3, -2), Feed(0.5f, 1, 5), Sleep(8, -8, -4), Play(2, 2, -1);

public float timeSpent;

public int happinessGained;

public int energyConsumed;

private Command(float timeSpent, int happinessGained, int energyConsumed) {

this.timeSpent = timeSpent;

this.happinessGained = happinessGained;

this.energyConsumed = energyConsumed;

}

}

部分截图如下

java电子宠物_JAVA大神来帮忙啊,ECLIPSE编写一个小程序类似于电子宠物的。弄完截图过来也行,行了就加大悬赏,谢谢!...相关推荐

  1. 使用Eclipse编写Processing小程序

    更多精彩的Processing编程语言相关的资讯,可以扫码关注公众号:Processing学习部落,欣赏好玩的Processing艺术作品: 使用Processing自家的PDE进行sketch的写作 ...

  2. java期末考试编程题 界面_救急啊!!!期末考试!怎样用JAVA的GUI(图形用户界面)来设计一个小程序!...

    展开全部 给你找了一个,我试过,可以用 import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.s ...

  3. .java编写一个梯形类lader_能够完成相关计算above为高_【Java】编写一个应用程序计算梯形和圆形的面积...

    说明:这是武汉理工大学计算机学院[Java语言程序设计]课程实验1:编写一个应用程序计算梯形和圆形的面积. 谨记:纸上得来终觉浅,绝知此事要躬行. Java语言程序设计--实验1:类的设计与对象使用 ...

  4. 编写java程序计算梯形面积_【Java】编写一个应用程序计算梯形和圆形的面积。...

    说明:这是武汉理工大学计算机学院[Java语言程序设计]课程实验1:编写一个应用程序计算梯形和圆形的面积. >>点击查看WUTer计算机专业实验汇总 谨记:纸上得来终觉浅,绝知此事要躬行. ...

  5. 如何使用eclipse编写一个简单的java程序

    用eclipse编写一个简单的java程序,输出hello world 在使用eclipse编写程序之前先保证jdk安装的完成,才能正确运行程序 1.打开eclipse,选择工作空间,工作空间就是你新 ...

  6. java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...

    问题标题 java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题.编写一个应用程序计算圆的周长和面积,设圆的半 2019-5-23来自ip:15.196.194.53的 ...

  7. 用eclipse开发android小程序,【转】Eclipse 开发Android小程序遇到的问题总结

    用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等- 1.ERROR: Ap ...

  8. 用java编写一个故事的程序_使用Java怎么编写一个递归程序

    使用Java怎么编写一个递归程序 发布时间:2021-02-20 16:05:44 来源:亿速云 阅读:52 作者:Leah 这篇文章将为大家详细讲解有关使用Java怎么编写一个递归程序,文章内容质量 ...

  9. Java后端服务器点餐系统的部署+前端微信小程序开发(13)

    Java后端服务器点餐系统的部署+前端微信小程序开发(13) 编译运行小程序 1,本地调试 这和你上面java的运行要保持一致,如果是本地的java项目运行你就用 localhost 后台Java直接 ...

最新文章

  1. 大盘过4000,注意风险~
  2. php能力模型,ThinkPHP5--基础篇(模型)
  3. 有python基础先学c还是c+-初学者学python好还是c
  4. 算法竞赛入门经典(第二版) | 例题4-4 信息解码 (紫皮书牛啤!)(UVa213,Message Decoding)
  5. 数据库连接数过多 too many
  6. java栈的实现_栈的实现(Java)
  7. phoneinfo界面翻译_phone info +下载-三星验机神器phone info samsung下载v3.6.4 安卓版-西西软件下载...
  8. BZOJ 4143 The Lawyer
  9. (转载)Hadoop map reduce 过程获取环境变量
  10. 查看oracle数据库的连接情况
  11. 网上预约订餐系统(联网可用)
  12. java简历项目经验范文
  13. select获取下拉框的值 下拉框默认选中
  14. jquery实现登录成功界面_【jQuery实例】Ajax登录页面
  15. thinkphp5 模板使用php,模板 · ThinkPHP5.1完全开发手册 · 看云
  16. php1蛋白质带电情况,拿到一个蛋白以后,首先需要对蛋白进行全面的了解,所谓知彼知己方能百战不殆:...
  17. Python 文件的读写操作
  18. 仿牛客网论坛项目资料整理
  19. Linux命令-su-用户
  20. Linux —— 基础开发工具的基本使用 —— yum、vim、gcc、make和makefile,gdb的简单应用

热门文章

  1. 技巧:永久屏蔽谷歌浏览器上的网站通知功能
  2. elasticsearch + geo地理位置附近的站点查询
  3. 容器docker(CentOS8)使用SSH配合Xming显示图形GUI界面
  4. 一句话木马@eval($_POST[“cmd“]);是什么意思(超详细)
  5. oracle 弱口令扫描器,超级弱口令检查工具,检查SSH/FTP/MySQL/Oracle/SQLServer弱口令
  6. 五子棋——人机博弈(Java实现)
  7. Verilog通过锁相环实现倍频,分频,相位偏移
  8. CSP应用开发-将USBkey中的证书注册到Windows系统
  9. 服务器加速访问,配置锐速加速模块(2020实测可用)
  10. 小组自评、互评及反馈