{"id":9,"date":"2019-10-24T13:10:35","date_gmt":"2019-10-24T04:10:35","guid":{"rendered":"http:\/\/kpc2019.satoshis.jp\/?p=9"},"modified":"2019-10-24T16:11:01","modified_gmt":"2019-10-24T07:11:01","slug":"rpg","status":"publish","type":"post","link":"https:\/\/kpc2019.satoshis.jp\/?p=9","title":{"rendered":"RPG"},"content":{"rendered":"<p>Cast.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\npublic class Cast {\r\n\tprivate String name;\r\n\tprivate int hp = 10;\r\n\tprivate List&lt;Item&gt; list = new ArrayList&lt;&gt;();\r\n\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\r\n\tpublic int getHp() {\r\n\t\treturn hp;\r\n\t}\r\n\r\n\tpublic void setHp(int hp) {\r\n\t\tthis.hp = hp;\r\n\t}\r\n\r\n\tpublic void addItem(Item item) {\r\n\t\tlist.add(item);\r\n\t\tSystem.out.println(name + &quot; \u306f &quot; + item.getName() + &quot; \u3092\u30b2\u30c3\u30c8\u3057\u305f&quot;);\r\n\t}\r\n\r\n\tpublic void useItem() {\r\n\t\tItem item = list.remove(0);\r\n\t\tSystem.out.println(name + &quot; \u306f &quot; + item.getName() + &quot; \u3092\u4f7f\u3063\u305f&quot;);\r\n\t\titem.use(this);\r\n\t}\r\n\r\n\tpublic void talk(String s) {\r\n\t\tSystem.out.println(&quot;\u3000\u3000\u3000\u3000\u3000\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015&quot;);\r\n\t\tSystem.out.println(name + &quot;\uff1c\u3000&quot; + s + &quot;\u3000\uff5c&quot;);\r\n\t\tSystem.out.println(&quot;\u3000\u3000\u3000\u3000\u3000\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015&quot;);\r\n\t}\r\n\r\n\tpublic void printItems() {\r\n\t\tif (list.size() == 0) {\r\n\t\t\tSystem.out.println(&quot;\u30a2\u30a4\u30c6\u30e0\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093&quot;);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tSystem.out.println(&quot;\u30a2\u30a4\u30c6\u30e0\u306e\u4e00\u89a7\u3092\u8868\u793a\u3057\u307e\u3059\u3002&quot;);\r\n\t\tSystem.out.println(&quot;-----&quot;);\r\n\t\tfor (Item item : list) {\r\n\t\t\tSystem.out.println(item.getName());\r\n\t\t}\r\n\t}\r\n}\r\n<\/pre>\n<p>Player.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Player {\r\n\r\n\tpublic static void main(String&#x5B;] args) {\r\n\t\tCast cast = new Cast();\r\n\t\tcast.setName(&quot;\u3086\u3046\u3057\u3083&quot;);\r\n\t\tcast.talk(&quot;\u3053\u3093\u306b\u3061\u306f\uff01&quot;);\r\n\r\n\t\tItem item = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Dokukeshisou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\tcast.printItems();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.printItems();\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>Item.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic abstract class Item {\r\n\tprivate String name;\r\n\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\r\n\tpublic abstract void use(Cast cast);\r\n}\r\n<\/pre>\n<p>Yakusou.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Yakusou extends Item {\r\n\tpublic Yakusou() {\r\n\t\tsetName(&quot;\u3084\u304f\u305d\u3046&quot;);\r\n\t}\r\n\r\n\t@Override\r\n\tpublic void use(Cast cast) {\r\n\t\tint hp = cast.getHp();\r\n\t\tcast.setHp(hp + 10);\r\n\t\tSystem.out.println(cast.getName() + &quot; \u306eHP\u304c &quot; + cast.getHp() + &quot; \u306b\u5897\u3048\u305f&quot;);\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>Dokukeshisou.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Dokukeshisou extends Item {\r\n\tpublic Dokukeshisou() {\r\n\t\tsetName(&quot;\u3069\u304f\u3051\u3057\u305d\u3046&quot;);\r\n\t}\r\n\r\n\t@Override\r\n\tpublic void use(Cast cast) {\r\n\t\tSystem.out.println(cast.getName() + &quot; \u306e\u304b\u3089\u3060\u304b\u3089\u3069\u304f\u304c\u304d\u3048\u305f&quot;);\r\n\t}\r\n}\r\n<\/pre>\n<p>Player.java \u304c\u9577\u304f\u306a\u3063\u3066\u8aad\u307f\u306b\u304f\u304f\u306a\u3063\u3066\u304d\u305f\u306e\u3067\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u3063\u307d\u304f\u66f8\u304d\u76f4\u3057\u3066\u307f\u308b\u3002<br \/>\n\u5225\u306e\u30e1\u30bd\u30c3\u30c9\u306b\u5206\u5272\u3057\u305f\u3044\u90e8\u5206\u3092\u9078\u629e\u3057\u3066\u3001\u30e1\u30cb\u30e5\u30fc\u304b\u3089[\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0]-[\u30e1\u30bd\u30c3\u30c9\u306e\u62bd\u51fa]\u3092\u9078\u629e\u3059\u308b\u3068\u3001Eclipse\u304c\u3044\u3044\u611f\u3058\u3067\u5206\u5272\u3057\u3066\u304f\u308c\u308b\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Player {\r\n\r\n\tpublic static void main(String&#x5B;] args) {\r\n\t\tcreateBrave();\r\n\t\tcreateSlime();\r\n\t}\r\n\r\n\tprivate static void createSlime() {\r\n\t\tCast slime = new Cast();\r\n\t\tslime.setName(&quot;\u30b9\u30e9\u30a4\u30e0&quot;);\r\n\t\tSystem.out.println(slime.getName() + &quot; \u304c\u3042\u3089\u308f\u308c\u305f\uff01&quot;);\r\n\t}\r\n\r\n\tprivate static void createBrave() {\r\n\t\tCast cast = new Cast();\r\n\t\tcast.setName(&quot;\u3086\u3046\u3057\u3083&quot;);\r\n\t\tcast.talk(&quot;\u3053\u3093\u306b\u3061\u306f\uff01&quot;);\r\n\r\n\t\tItem item = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Dokukeshisou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\tcast.printItems();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.printItems();\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>Player.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Player {\r\n\r\n\tpublic static void main(String&#x5B;] args) {\r\n\t\tPlayer player = new Player();\r\n\t\tCast brave = player.createBrave();\r\n\t\tCast slime = player.createSlime();\r\n\t\tplayer.fight(brave, slime);\r\n\t}\r\n\r\n\tprivate Cast createSlime() {\r\n\t\tCast slime = new Cast();\r\n\t\tslime.setName(&quot;\u30b9\u30e9\u30a4\u30e0&quot;);\r\n\t\tSystem.out.println(slime.getName() + &quot; \u304c\u3042\u3089\u308f\u308c\u305f\uff01&quot;);\r\n\t\treturn slime;\r\n\t}\r\n\r\n\tprivate Cast createBrave() {\r\n\t\tCast cast = new Cast();\r\n\t\tcast.setName(&quot;\u3086\u3046\u3057\u3083&quot;);\r\n\t\tcast.talk(&quot;\u3053\u3093\u306b\u3061\u306f\uff01&quot;);\r\n\r\n\t\tItem item = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Dokukeshisou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\tcast.printItems();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.printItems();\r\n\r\n\t\treturn cast;\r\n\t}\r\n\r\n\tprivate void fight(Cast c1, Cast c2) {\r\n\t\tint hp;\r\n\t\twhile (true) {\r\n\t\t\tc1.attack(c2);\r\n\t\t\thp = c2.getHp();\r\n\t\t\tif (hp &lt;= 0) {\r\n\t\t\t\tSystem.out.println(c2.getName() + &quot; \u306f\u6b7b\u3093\u3067\u3057\u307e\u3063\u305f&quot;);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tc2.attack(c1);\r\n\t\t\thp = c1.getHp();\r\n\t\t\tif (hp &lt;= 0) {\r\n\t\t\t\tSystem.out.println(c1.getName() + &quot; \u306f\u6b7b\u3093\u3067\u3057\u307e\u3063\u305f&quot;);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n}\r\n<\/pre>\n<h3>Git\u3092\u4f7f\u3063\u3066\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u7ba1\u7406\u3059\u308b<\/h3>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u300chello\u300d\u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066[\u30c1\u30fc\u30e0]-[\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u5171\u7528]\u3092\u9078\u629e\u3059\u308b\u3002<\/p>\n<p>\u300cGit\u30ea\u30dd\u30b8\u30c8\u30ea\u30fc\u306e\u69cb\u6210\u300d\u753b\u9762\u3067\u300c\u4f5c\u6210\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u65b0\u3057\u304fGit\u7ba1\u7406\u4e0b\u306b\u7f6e\u304f\u30d5\u30a1\u30a4\u30eb\u306e\u4fdd\u5b58\u5148\u30d5\u30a9\u30eb\u30c0\u3092\u6307\u5b9a\u3059\u308b\u3002<\/p>\n<p>\u300c\u5b8c\u4e86\u300d\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304cGit\u7ba1\u7406\u4e0b\u306b\u518d\u914d\u7f6e\u3055\u308c\u308b\u3002<\/p>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u306e\u53f3\u5074\u306b\u300cNO HEAD\u300d\u3068\u8868\u793a\u3055\u308c\u308c\u3070OK\u3002<\/p>\n<p>\u307e\u3060\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u304cGit\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u306a\u3044\u72b6\u614b\u306a\u306e\u3067\u3001\u767b\u9332\u3059\u308b\u64cd\u4f5c\u3092\u884c\u3046\u3002<\/p>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066[\u30c1\u30fc\u30e0]-[\u30b3\u30df\u30c3\u30c8]\u3092\u9078\u629e\u3059\u308b\u3002<\/p>\n<p>\u300cGit\u30b9\u30c6\u30fc\u30b8\u30f3\u30b0\u300d\u306e\u30bf\u30d6\u304c\u8868\u793a\u3055\u308c\u308b\u306e\u3067\u3001Git\u7ba1\u7406\u4e0b\u306b\u7f6e\u304d\u305f\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3057\u3066\u300c\uff0b\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3001\u300c\u30b9\u30c6\u30fc\u30b8\u3055\u308c\u305f\u5909\u66f4\u300d\u306e\u65b9\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u79fb\u52d5\u3055\u305b\u308b\u3002<\/p>\n<p>\u30b3\u30df\u30c3\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8\u306b\u300cfirst commit\u300d\u3092\u5165\u529b\u3057\u3066\u300c\u30b3\u30df\u30c3\u30c8\u300d\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3002<\/p>\n<p>\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u53f3\u4e0b\u306b\u9ec4\u8272\u3044\u30a2\u30a4\u30b3\u30f3\u304c\u8868\u793a\u3055\u308c\u308b\u3002<\/p>\n<h3>\u653b\u6483\u529b\u3092\u5909\u3048\u3066\u307f\u308b<\/h3>\n<p>Cast.java<\/p>\n<pre class=\"brush: java; highlight: [9,28,29,30,31,32,33,34,67,68]; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\npublic class Cast {\r\n\tprivate String name;\r\n\tprivate int hp = 10;\r\n\tprivate int power = 5;\r\n\tprivate List&lt;Item&gt; list = new ArrayList&lt;&gt;();\r\n\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\r\n\tpublic int getHp() {\r\n\t\treturn hp;\r\n\t}\r\n\r\n\tpublic void setHp(int hp) {\r\n\t\tthis.hp = hp;\r\n\t}\r\n\r\n\tpublic int getPower() {\r\n\t\treturn power;\r\n\t}\r\n\r\n\tpublic void setPower(int power) {\r\n\t\tthis.power = power;\r\n\t}\r\n\r\n\tpublic void addItem(Item item) {\r\n\t\tlist.add(item);\r\n\t\tSystem.out.println(name + &quot; \u306f &quot; + item.getName() + &quot; \u3092\u30b2\u30c3\u30c8\u3057\u305f&quot;);\r\n\t}\r\n\r\n\tpublic void useItem() {\r\n\t\tItem item = list.remove(0);\r\n\t\tSystem.out.println(name + &quot; \u306f &quot; + item.getName() + &quot; \u3092\u4f7f\u3063\u305f&quot;);\r\n\t\titem.use(this);\r\n\t}\r\n\r\n\tpublic void talk(String s) {\r\n\t\tSystem.out.println(&quot;\u3000\u3000\u3000\u3000\u3000\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015&quot;);\r\n\t\tSystem.out.println(name + &quot;\uff1c\u3000&quot; + s + &quot;\u3000\uff5c&quot;);\r\n\t\tSystem.out.println(&quot;\u3000\u3000\u3000\u3000\u3000\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015&quot;);\r\n\t}\r\n\r\n\tpublic void printItems() {\r\n\t\tif (list.size() == 0) {\r\n\t\t\tSystem.out.println(&quot;\u30a2\u30a4\u30c6\u30e0\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093&quot;);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tSystem.out.println(&quot;\u30a2\u30a4\u30c6\u30e0\u306e\u4e00\u89a7\u3092\u8868\u793a\u3057\u307e\u3059\u3002&quot;);\r\n\t\tSystem.out.println(&quot;-----&quot;);\r\n\t\tfor (Item item : list) {\r\n\t\t\tSystem.out.println(item.getName());\r\n\t\t}\r\n\t}\r\n\r\n\tpublic void attack(Cast cast) {\r\n\t\tint hp = cast.getHp();\r\n\t\tcast.setHp(hp - power);\r\n\t\tSystem.out.println(getName() + &quot; \u304c &quot; + cast.getName() + &quot; \u3092\u653b\u6483\uff08&quot; + power + &quot;\u306e\u30c0\u30e1\u30fc\u30b8\uff09&quot;);\r\n\t}\r\n}\r\n<\/pre>\n<h3>\u6b66\u5668\u3092\u6301\u3066\u308b\u3088\u3046\u306b\u3059\u308b<\/h3>\n<p>Item \u306b\u306a\u3089\u3063\u3066\u3001\u62bd\u8c61\u30af\u30e9\u30b9 Weapon \u3092\u4f5c\u6210\u3059\u308b\u3002<br \/>\n\u540d\u524d\u3068\u653b\u6483\u529b\u304c\u3042\u308c\u3070\u3088\u3055\u305d\u3046\u3002<\/p>\n<p>Weapon.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic abstract class Weapon {\r\n\tprivate String name;\r\n\tprivate int power;\r\n\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\r\n\tpublic int getPower() {\r\n\t\treturn power;\r\n\t}\r\n\r\n\tpublic void setPower(int power) {\r\n\t\tthis.power = power;\r\n\t}\r\n}\r\n<\/pre>\n<p>Cast \u304c\u6b66\u5668\u3092\u88c5\u5099\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3002<\/p>\n<p>Cast.java<\/p>\n<pre class=\"brush: java; highlight: [10,37,38,39,40,41,42,43]; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\npublic class Cast {\r\n\tprivate String name;\r\n\tprivate int hp = 10;\r\n\tprivate int power = 5;\r\n\tprivate Weapon weapon;\r\n\tprivate List&lt;Item&gt; list = new ArrayList&lt;&gt;();\r\n\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\r\n\tpublic int getHp() {\r\n\t\treturn hp;\r\n\t}\r\n\r\n\tpublic void setHp(int hp) {\r\n\t\tthis.hp = hp;\r\n\t}\r\n\r\n\tpublic int getPower() {\r\n\t\treturn power;\r\n\t}\r\n\r\n\tpublic void setPower(int power) {\r\n\t\tthis.power = power;\r\n\t}\r\n\r\n\tpublic Weapon getWeapon() {\r\n\t\treturn weapon;\r\n\t}\r\n\r\n\tpublic void setWeapon(Weapon weapon) {\r\n\t\tthis.weapon = weapon;\r\n\t\tSystem.out.println(name + &quot; \u306f &quot; + weapon.getName() + &quot;\u3092\u88c5\u5099\u3057\u305f&quot;);\r\n\t}\r\n\r\n\tpublic void addItem(Item item) {\r\n\t\tlist.add(item);\r\n\t\tSystem.out.println(name + &quot; \u306f &quot; + item.getName() + &quot; \u3092\u30b2\u30c3\u30c8\u3057\u305f&quot;);\r\n\t}\r\n\r\n\tpublic void useItem() {\r\n\t\tItem item = list.remove(0);\r\n\t\tSystem.out.println(name + &quot; \u306f &quot; + item.getName() + &quot; \u3092\u4f7f\u3063\u305f&quot;);\r\n\t\titem.use(this);\r\n\t}\r\n\r\n\tpublic void talk(String s) {\r\n\t\tSystem.out.println(&quot;\u3000\u3000\u3000\u3000\u3000\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015&quot;);\r\n\t\tSystem.out.println(name + &quot;\uff1c\u3000&quot; + s + &quot;\u3000\uff5c&quot;);\r\n\t\tSystem.out.println(&quot;\u3000\u3000\u3000\u3000\u3000\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015\u2015&quot;);\r\n\t}\r\n\r\n\tpublic void printItems() {\r\n\t\tif (list.size() == 0) {\r\n\t\t\tSystem.out.println(&quot;\u30a2\u30a4\u30c6\u30e0\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093&quot;);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tSystem.out.println(&quot;\u30a2\u30a4\u30c6\u30e0\u306e\u4e00\u89a7\u3092\u8868\u793a\u3057\u307e\u3059\u3002&quot;);\r\n\t\tSystem.out.println(&quot;-----&quot;);\r\n\t\tfor (Item item : list) {\r\n\t\t\tSystem.out.println(item.getName());\r\n\t\t}\r\n\t}\r\n\r\n\tpublic void attack(Cast cast) {\r\n\t\tint hp = cast.getHp();\r\n\t\tcast.setHp(hp - power);\r\n\t\tSystem.out.println(getName() + &quot; \u304c &quot; + cast.getName() + &quot; \u3092\u653b\u6483\uff08&quot; + power + &quot;\u306e\u30c0\u30e1\u30fc\u30b8\uff09&quot;);\r\n\t}\r\n}\r\n<\/pre>\n<p>\u3072\u306e\u304d\u306e\u307c\u3046\u3092\u4f5c\u308b\u3002<\/p>\n<p>Hinokinobou.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Hinokinobou extends Weapon {\r\n\tpublic Hinokinobou() {\r\n\t\tsetName(&quot;\u3072\u306e\u304d\u306e\u307c\u3046&quot;);\r\n\t\tsetPower(3);\r\n\t}\r\n}\r\n<\/pre>\n<p>\u52c7\u8005\u306b\u3072\u306e\u304d\u306e\u307c\u3046\u3092\u88c5\u5099\u3059\u308b\u3002<\/p>\n<p>Player.java<\/p>\n<pre class=\"brush: java; first-line: 20; title: ; notranslate\" title=\"\">\r\n\tprivate Cast createBrave() {\r\n\t\tCast cast = new Cast();\r\n\t\tcast.setName(&quot;\u3086\u3046\u3057\u3083&quot;);\r\n\t\tcast.talk(&quot;\u3053\u3093\u306b\u3061\u306f\uff01&quot;);\r\n\r\n\t\tcast.setWeapon(new Hinokinobou());\r\n\r\n\t\tItem item = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Yakusou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\titem = new Dokukeshisou();\r\n\t\tcast.addItem(item);\r\n\r\n\t\tcast.printItems();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.useItem();\r\n\t\tcast.printItems();\r\n\r\n\t\treturn cast;\r\n\t}\r\n<\/pre>\n<p>\u6b66\u5668\u3092\u6301\u3063\u305f\u5206\u3060\u3051\u4f59\u8a08\u306b\u30c0\u30e1\u30fc\u30b8\u3092\u4e0e\u3048\u3089\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u3002<\/p>\n<p>Cast.java<\/p>\n<pre class=\"brush: java; first-line: 75; title: ; notranslate\" title=\"\">\r\n\tpublic void attack(Cast cast) {\r\n\t\tint hp = cast.getHp();\r\n\t\tint damage = power;\r\n\t\tif (weapon != null) {\r\n\t\t\tdamage += weapon.getPower();\r\n\t\t}\r\n\t\tcast.setHp(hp - damage);\r\n\t\tSystem.out.println(getName() + &quot; \u304c &quot; + cast.getName() + &quot; \u3092\u653b\u6483\uff08&quot; + damage + &quot;\u306e\u30c0\u30e1\u30fc\u30b8\uff09&quot;);\r\n\t}\r\n<\/pre>\n<p>\u3082\u3046\u5c11\u3057\u5f37\u3044\u6b66\u5668\u3092\u6301\u305f\u305b\u3066\u30b9\u30e9\u30a4\u30e0\u3092\u4e00\u6483\u3067\u5012\u3057\u305f\u3044\u306e\u3067\u3001\u9285\u306e\u3064\u308b\u304e\u3092\u4f5c\u308b\u3002<\/p>\n<p>DounoTsurugi.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class DounoTsurugi extends Weapon {\r\n\tpublic DounoTsurugi() {\r\n\t\tsetName(&quot;\u9285\u306e\u3064\u308b\u304e&quot;);\r\n\t\tsetPower(5);\r\n\t}\r\n}\r\n<\/pre>\n<h3>\u7d4c\u9a13\u5024\u3092\u5897\u3084\u3057\u3066\u30ec\u30d9\u30eb\u30a2\u30c3\u30d7\u3057\u305f\u3044<\/h3>\n<p>\u52c7\u8005\u3068\u6575\u3092\u5206\u3051\u308b\u305f\u3081\u306b\u3001Cast \u3092\u62bd\u8c61\u30af\u30e9\u30b9\u306b\u5909\u66f4\u3059\u308b\u3002<br \/>\n\u7d4c\u9a13\u5024\u3082\u8ffd\u52a0\u3059\u308b\u3002<\/p>\n<p>Cast.java<\/p>\n<pre class=\"brush: java; first-line: 6; title: ; notranslate\" title=\"\">\r\npublic abstract class Cast {\r\n\tprivate int exp;\r\n\tprivate String name;\r\n\tprivate int hp = 10;\r\n\tprivate int power = 5;\r\n\tprivate Weapon weapon;\r\n\tprivate List&lt;Item&gt; list = new ArrayList&lt;&gt;();\r\n\r\n\tpublic Cast(String name, int power, int exp) {\r\n\t\tthis.name = name;\r\n\t\tthis.power = power;\r\n\t\tthis.exp = exp;\r\n\t}\r\n\r\n\tpublic int getExp() {\r\n\t\treturn exp;\r\n\t}\r\n\r\n\tpublic void plusExp(int exp) {\r\n\t\tthis.exp += exp;\r\n\t}\r\n<\/pre>\n<p>\u52c7\u8005\u306e\u30af\u30e9\u30b9\u3068\u30b9\u30e9\u30a4\u30e0\u306e\u30af\u30e9\u30b9\u3092\u4f5c\u6210\u3059\u308b\u3002<br \/>\nBrave.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Brave extends Cast {\r\n\tpublic Brave() {\r\n\t\tsuper(&quot;\u3086\u3046\u3057\u3083&quot;, 5, 1);\r\n\t}\r\n}\r\n<\/pre>\n<p>Slime.java<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg;\r\n\r\npublic class Slime extends Cast {\r\n\tpublic Slime() {\r\n\t\tsuper(&quot;\u30b9\u30e9\u30a4\u30e0&quot;, 3, 3);\r\n\t}\r\n}\r\n<\/pre>\n<p>\u6226\u3044\u306b\u52dd\u3063\u305f\u3089\u7d4c\u9a13\u5024\u3092\u5897\u3084\u3059\u3002<br \/>\nPlayer.java<\/p>\n<pre class=\"brush: java; first-line: 42; title: ; notranslate\" title=\"\">\r\n\tprivate void fight(Cast c1, Cast c2) {\r\n\t\tint hp;\r\n\t\twhile (true) {\r\n\t\t\tc1.attack(c2);\r\n\t\t\thp = c2.getHp();\r\n\t\t\tif (hp &lt;= 0) {\r\n\t\t\t\tSystem.out.println(c2.getName() + &quot; \u306f\u6b7b\u3093\u3067\u3057\u307e\u3063\u305f&quot;);\r\n\t\t\t\tSystem.out.println(c1.getName() + &quot; \u306e\u7d4c\u9a13\u5024\u304c &quot; +  c2.getExp() + &quot; \u5897\u3048\u305f&quot;);\r\n\t\t\t\tc1.plusExp(c2.getExp());\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tc2.attack(c1);\r\n\t\t\thp = c1.getHp();\r\n\t\t\tif (hp &lt;= 0) {\r\n\t\t\t\tSystem.out.println(c1.getName() + &quot; \u306f\u6b7b\u3093\u3067\u3057\u307e\u3063\u305f&quot;);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Cast.java package rpg; import java.util.ArrayList; import java.util.List; public class Cast { private String n &hellip; <a href=\"https:\/\/kpc2019.satoshis.jp\/?p=9\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;RPG&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-rpg"],"views":433,"_links":{"self":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":17,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":26,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions\/26"}],"wp:attachment":[{"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kpc2019.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}