{"id":160,"date":"2024-11-28T16:07:23","date_gmt":"2024-11-28T07:07:23","guid":{"rendered":"https:\/\/java.satoshis.jp\/?p=160"},"modified":"2024-12-05T13:26:31","modified_gmt":"2024-12-05T04:26:31","slug":"%e3%82%aa%e3%83%96%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e6%8c%87%e5%90%91%e3%81%a7rpg%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b-%e3%82%a2%e3%82%a4%e3%83%86%e3%83%a0%e3%82%92","status":"publish","type":"post","link":"https:\/\/java.satoshis.jp\/?p=160","title":{"rendered":"\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u3067RPG\u3092\u4f5c\u3063\u3066\u307f\u308b \u2013 \u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b"},"content":{"rendered":"<h4>\u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b<\/h4>\n<p>\u30d5\u30a3\u30fc\u30eb\u30c9\u3067\u79fb\u52d5\u3057\u305f\u3068\u304d\u306b\u30a2\u30a4\u30c6\u30e0\u3092\u62fe\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u304c\u3001\u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3046\u65b9\u6cd5\u304c\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u6226\u95d8\u753b\u9762\u3067\u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u300c\u30a2\u30a4\u30c6\u30e0\u300d\u30dc\u30bf\u30f3\u3092\u753b\u9762\u4e0a\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: java; first-line: 23; highlight: [46,47]; title: ; notranslate\" title=\"\">\r\n  public BattleFrame() {\r\n    super(&quot;\u6226\u95d8&quot;);\r\n    Container pane = getContentPane();\r\n    pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));\r\n    expLabel = new JLabel(&quot;\u7d4c\u9a13\u5024:&quot;);\r\n    pane.add(expLabel);\r\n    iconsPanel = new JPanel();\r\n    iconsPanel.setLayout(new BoxLayout(iconsPanel, BoxLayout.X_AXIS));\r\n    JPanel buttonsPanel = new JPanel();\r\n    buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.Y_AXIS));\r\n    pane.add(iconsPanel);\r\n    pane.add(buttonsPanel);\r\n    braveLabel = new BraveLabel();\r\n    iconsPanel.add(braveLabel);\r\n    JButton battleButton = new JButton(&quot;\u3053\u3046\u3052\u304d&quot;);\r\n    battleButton.addActionListener(new BattleAction(this));\r\n    buttonsPanel.add(battleButton);\r\n    JButton escapeButton = new JButton(&quot;\u306b\u3052\u308b&quot;);\r\n    escapeButton.addActionListener(new EscapeAction(this));\r\n    buttonsPanel.add(escapeButton);\r\n    JButton healButton = new JButton(&quot;\u304b\u3044\u3075\u304f&quot;);\r\n    healButton.addActionListener(new HealAction(this));\r\n    buttonsPanel.add(healButton);\r\n    JButton itemButton = new JButton(&quot;\u30a2\u30a4\u30c6\u30e0&quot;);\r\n    buttonsPanel.add(itemButton);\r\n  }\r\n<\/pre>\n<p>\u52c7\u8005\u304c\u6301\u3063\u3066\u3044\u308b\u30a2\u30a4\u30c6\u30e0\u306e\u4e00\u89a7\u3092\u53d6\u5f97\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>Brave.java<\/p>\n<pre class=\"brush: java; first-line: 95; highlight: [99,100,101]; title: ; notranslate\" title=\"\">\r\n  public void addGold(int gold) {\r\n    this.gold += gold;\r\n    System.out.println(getName() + &quot;\u306f\u3001&quot; + this.gold + &quot;\u30b4\u30fc\u30eb\u30c9\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002&quot;);\r\n  }\r\n  public List&lt;Item&gt; getItems() {\r\n    return items;\r\n  }\r\n}\r\n<\/pre>\n<p>ItemAction \u3092\u4f5c\u6210\u3057\u3066\u3001\u300c\u30a2\u30a4\u30c6\u30e0\u300d\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u305f\u6642\u306e\u5b9f\u88c5\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<p>createItemArray() \u3067\u306f\u3001\u540c\u4e00\u306e\u30a2\u30a4\u30c6\u30e0\u3092\u8907\u6570\u8868\u793a\u3057\u306a\u3044\u3088\u3046\u306b\u3057\u3066\u4ecas\u3002<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage rpg.controller;\r\n\r\nimport java.awt.event.ActionEvent;\r\nimport java.awt.event.ActionListener;\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\nimport javax.swing.JOptionPane;\r\n\r\nimport rpg.model.Brave;\r\nimport rpg.model.item.Item;\r\nimport rpg.view.BattleFrame;\r\n\r\npublic class ItemAction implements ActionListener {\r\n  private BattleFrame battleFrame;\r\n\r\n  public ItemAction(BattleFrame battleFrame) {\r\n    this.battleFrame = battleFrame;\r\n  }\r\n\r\n  @Override\r\n  public void actionPerformed(ActionEvent e) {\r\n    Object&#x5B;] items = createItemArray();\r\n    JOptionPane.showInputDialog(\r\n      battleFrame, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044&quot;, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0&quot;,\r\n      JOptionPane.PLAIN_MESSAGE, \r\n      null, \r\n      items,\r\n      items&#x5B;0]);\r\n  }\r\n\r\n  private Object&#x5B;] createItemArray() {\r\n    Brave brave = battleFrame.getBrave();\r\n    List&lt;Item&gt; items = brave.getItems();\r\n    List&lt;String&gt; list = new ArrayList&lt;&gt;();\r\n    for (Item i : items) {\r\n      if (!list.contains(i.getName())) {\r\n        list.add(i.getName());\r\n      }\r\n    }\r\n    return list.toArray();\r\n  }\r\n}\r\n<\/pre>\n<p>\u30a2\u30a4\u30c6\u30e0\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u305f\u3089 ItemAction \u304c\u547c\u3070\u308c\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>BattleFrame \u306b\u4ee5\u4e0b\u306e1\u884c\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: java; first-line: 47; highlight: [48]; title: ; notranslate\" title=\"\">\r\n    JButton itemButton = new JButton(&quot;\u30a2\u30a4\u30c6\u30e0&quot;);\r\n    itemButton.addActionListener(new ItemAction(this));\r\n    buttonsPanel.add(itemButton);\r\n<\/pre>\n<p>\u9078\u629e\u3055\u308c\u305f\u30a2\u30a4\u30c6\u30e0\u3092\u53d6\u5f97\u3057\u3066\u3001\u305d\u306e\u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3046\u51e6\u7406\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: java; first-line: 21; highlight: [32,33,34,35]; title: ; notranslate\" title=\"\">\r\n  @Override\r\n  public void actionPerformed(ActionEvent e) {\r\n    Object&#x5B;] items = createItemArray();\r\n    Object itemName = JOptionPane.showInputDialog(\r\n      battleFrame, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044&quot;, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0&quot;,\r\n      JOptionPane.PLAIN_MESSAGE, \r\n      null, \r\n      items,\r\n      items&#x5B;0]);\r\n    System.out.println(itemName);\r\n    Brave brave = battleFrame.getBrave();\r\n    Item item = brave.getItem((String)itemName);\r\n    brave.useItem(item);\r\n  }\r\n<\/pre>\n<p>\u30a2\u30a4\u30c6\u30e0\u3092\u3072\u3068\u3064\u3082\u6301\u3063\u3066\u3044\u306a\u3044\u3068\u304d\u306b\u300c\u30a2\u30a4\u30c6\u30e0\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u3068\u4f8b\u5916\u304c\u767a\u751f\u3059\u308b\u306e\u3092\u56de\u907f\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: java; first-line: 21; highlight: [24,25,26,27,28,29,30]; title: ; notranslate\" title=\"\">\r\n  @Override\r\n  public void actionPerformed(ActionEvent e) {\r\n    Object&#x5B;] items = createItemArray();\r\n    if (items.length == 0) {\r\n      JOptionPane.showMessageDialog(battleFrame,\r\n      &quot;\u30a2\u30a4\u30c6\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002&quot;,\r\n      &quot;\u30a2\u30a4\u30c6\u30e0&quot;,\r\n      JOptionPane.INFORMATION_MESSAGE);\r\n      return;\r\n    }\r\n    Object itemName = JOptionPane.showInputDialog(\r\n      battleFrame, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044&quot;, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0&quot;,\r\n      JOptionPane.PLAIN_MESSAGE, \r\n      null, \r\n      items,\r\n      items&#x5B;0]);\r\n    System.out.println(itemName);\r\n    Brave brave = battleFrame.getBrave();\r\n    Item item = brave.getItem((String)itemName);\r\n    brave.useItem(item);\r\n  }\r\n<\/pre>\n<p>\u30a2\u30a4\u30c6\u30e0\u3092\u9078\u629e\u3059\u308b\u30c0\u30a4\u30a2\u30ed\u30b0\u3067\u300c\u53d6\u6d88\u300d\u3059\u308b\u3068\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3059\u306e\u3067\u3001\u3053\u308c\u3092\u56de\u907f\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>\u300c\u53d6\u6d88\u300d\u3059\u308b\u3068\u623b\u308a\u5024\u306e itemName \u304c null \u306b\u306a\u308b\u306e\u3067\u3001\u4ee5\u5f8c\u306e\u51e6\u7406\u3092\u884c\u308f\u305a\u306b return \u3059\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n<p>ItemAction\u3092\u4fee\u6b63\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: java; first-line: 21; highlight: [39]; title: ; notranslate\" title=\"\">\r\n  @Override\r\n  public void actionPerformed(ActionEvent e) {\r\n    Object&#x5B;] items = createItemArray();\r\n    if (items.length == 0) {\r\n      JOptionPane.showMessageDialog(battleFrame,\r\n      &quot;\u30a2\u30a4\u30c6\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002&quot;,\r\n      &quot;\u30a2\u30a4\u30c6\u30e0&quot;,\r\n      JOptionPane.INFORMATION_MESSAGE);\r\n      return;\r\n    }\r\n    Object itemName = JOptionPane.showInputDialog(\r\n      battleFrame, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044&quot;, \r\n      &quot;\u30a2\u30a4\u30c6\u30e0&quot;,\r\n      JOptionPane.PLAIN_MESSAGE, \r\n      null, \r\n      items,\r\n      items&#x5B;0]);\r\n    if (itemName == null) return;\r\n    System.out.println(itemName);\r\n    Brave brave = battleFrame.getBrave();\r\n    Item item = brave.getItem((String)itemName);\r\n    brave.useItem(item);\r\n  }\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b \u30d5\u30a3\u30fc\u30eb\u30c9\u3067\u79fb\u52d5\u3057\u305f\u3068\u304d\u306b\u30a2\u30a4\u30c6\u30e0\u3092\u62fe\u3048\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u304c\u3001\u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3046\u65b9\u6cd5\u304c\u3042\u308a\u307e\u305b\u3093\u3002 \u6226\u95d8\u753b\u9762\u3067\u30a2\u30a4\u30c6\u30e0\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002 \u307e\u305a\u300c\u30a2\u30a4\u30c6\u30e0\u300d\u30dc\u30bf\u30f3\u3092\u753b\u9762\u4e0a\u306b\u8ffd &#8230; <\/p>\n","protected":false},"author":1,"featured_media":59,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-160","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java"],"_links":{"self":[{"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=160"}],"version-history":[{"count":8,"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/160\/revisions"}],"predecessor-version":[{"id":169,"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/160\/revisions\/169"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=\/wp\/v2\/media\/59"}],"wp:attachment":[{"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/java.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}