最近正在学习Java基础知识,终于完成了第一个小demo,记录下来,算是一个小总结与整理,也希望可以帮助到别人。
先看看我写了哪些类:
Player:玩家类;
ComputerPlayer:机器人玩家类,主要用来实现机器人随机出拳;
Game:游戏类,主要实现游戏规则的逻辑,以及正式游戏的逻辑;
TestGuessBox:代码测试类;
Player类:
//玩家类 public class Player { private String name; //玩家昵称 private int score; //玩家积分 private String box; //玩家出的 //玩家构造函数,传入玩家昵称与玩家初始积分 Player(String name,int score){ this.name=name; this.score=score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public String getBox() { return box; } public void setBox(String box) { this.box = box; } }
ComputerPlayer类
public class ComputerPlayer extends Player { //机器人玩家构造函数,传入机器人昵称与初始积分 ComputerPlayer(String name, int score) { super("机器人"+name, score); // TODO Auto-generated constructor stub } /** * 实现机器人玩家随机出拳的逻辑 */ void punch() { String[] box = {"剪刀","石头","布"}; int index =(int) (Math.random()*3); this.setBox(box[index]); } }
Game类
import java.util.Scanner; public class Game { Player p; //玩家 ComputerPlayer cp; //机器人玩家 //构造函数,得到一个玩家和一个机器人玩家 Game(Player p, ComputerPlayer cp) { this.p = p; this.cp = cp; } //开始游戏 void start() { System.out.println("玩家"+p.getName()+ "和"+cp.getName()+"开始游戏咯"); System.out.println("您的初始积分为:"+p.getScore()+ "\n"+cp.getName()+"的积分是:"+cp.getScore()); Scanner sc=new Scanner(System.in); html" target="_blank">while(true) { System.out.println("请出拳(剪刀石头布,exit退出游戏):"); String pbox=sc.next(); if(filter(pbox)) { //过滤器 if(pbox.equals("exit")) { //退出游戏 break; }else { p.setBox(pbox); cp.punch(); System.out.println("您出了:"+p.getBox()); System.out.println(cp.getName()+"出了:"+cp.getBox()); int result = ruler(p,cp); if(result>0) { System.out.println("您赢了,赢得10积分"); p.setScore(p.getScore()+10); cp.setScore(cp.getScore()-10); } else if(result<0) { System.out.println("您输了,扣除10积分"); p.setScore(p.getScore()-10); cp.setScore(cp.getScore()+10); } else { System.out.println("您和机器人打平了!"); } } } else { System.out.println("输入了无法识别的关键字,请重新输入:"); continue; //退出本次循环,进入下一次循环 } } System.out.println("本轮结束,积分情况如下:"); System.out.println("您的当前积分:"+p.getScore()); System.out.println(cp.getName()+"的当前积分:" +cp.getScore()); } /** * 游戏规则 * * @param p1 玩家1 * @param cp2 机器玩家2 * @return 0为打平,1为玩家赢,-1为机器玩家赢 */ int ruler(Player p1, Player cp2) { if (p1.getBox().equals("剪刀")) { if (cp2.getBox().equals("石头")) return -1; else if (cp2.getBox().equals("布")) return 1; } else if (p1.getBox().equals("石头")) { if (cp2.getBox().equals("剪刀")) return 1; else if (cp2.getBox().equals("布")) return -1; } else if (p1.getBox().equals("布")) { if (cp2.getBox().equals("剪刀")) return -1; else if (cp2.getBox().equals("石头")) return 1; } return 0; } /** * 过滤器 * @param s 需要过滤的文字 * @return */ boolean filter(String s) { if (s.equals("剪刀") || s.equals("石头") || s.equals("布") || s.equals("exit")) { return true; } else return false; } }
TestGuessBox类
public class TestGuessBox { public static void main(String[] args) { // TODO Auto-generated method stub Player p =new Player("小七月",100); ComputerPlayer cp=new ComputerPlayer("小丑八怪",100); Game game=new Game(p,cp); game.start(); } }
很简单,理清了思路就很容易写了。如果有错误请指出。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Java实现人机猜拳小游戏,包括了Java实现人机猜拳小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例完成人机猜拳互动游戏的开发,供大家参考,具体内容如下 阶段一:实验——分析业务,创建用户类 1.分析业务,抽象出类、类的特征和行为 2.创建出用户类 阶段二:实验——创建出计算机类 1.创建计算机类Computer。实现计算机出拳 2.产生一个1—3的随机数,模拟计算机的出拳
本文向大家介绍python实现猜拳小游戏,包括了python实现猜拳小游戏的使用技巧和注意事项,需要的朋友参考一下 用python实现猜拳小游戏,供大家参考,具体内容如下 本练习旨在养成良好的编码习惯和练习逻辑思考. 1、使用python版本: 3.7.3; 2、代码内容实现如下 执行运行结果 更多有趣的经典小游戏实现专题,分享给大家: C++经典小游戏汇总 python经典小游戏汇总 pytho
本文向大家介绍Java控制台实现猜拳游戏小游戏,包括了Java控制台实现猜拳游戏小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java猜拳游戏的具体代码,供大家参考,具体内容如下 先来看一下效果图: 首先我们创建一个Person类,这个类有name和score两个属性,有play这个方法,源代码如下: 接下来是主程序入口: 源代码下载:Java猜拳游戏 以上就是本文的全部内
本文向大家介绍最常见的猜拳小游戏Android代码实现,包括了最常见的猜拳小游戏Android代码实现的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android猜拳小游戏,供大家参考,具体内容如下 简单的 页面跳转 和 点击事件 的实现... --> AndroidManifest.xml --> strings.xml --> activity_other.xml --> Ma
我是JAVA新手,我一直在写一个数字猜谜游戏的代码,计算机从0-500的条件下选择数字:如果数字太低,用户输入0,计算机猜更低的数字;如果数字太高,用户输入1,计算机猜更高的数字 以5个猜测结束游戏 任何建议都将不胜感激!!!:d
本文向大家介绍Java Socket实现猜数字小游戏,包括了Java Socket实现猜数字小游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Java Socket实现猜数字游戏的具体代码,供大家参考,具体内容如下 运行截图 Server Client 完整代码 Server Client 更多有趣的经典小游戏实现专题,分享给大家: C++经典小游戏汇总 python经典小游戏汇