<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>将棋と音楽とたまにプログラミング。</title>
<link>https://ameblo.jp/hone-shogi/</link>
<atom:link href="https://rssblog.ameba.jp/hone-shogi/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>将棋と音楽関係、ほんの少しだけプログラミング関係の記事を書きます。</description>
<language>ja</language>
<item>
<title>夜更かし...</title>
<description>
<![CDATA[ どうも、最近このブログの方向性が行方不明になっていますが、一応将棋と音楽がメインなので久しぶりに音楽関係(正確には家入レオさん関係)のことでも書こうかと。<br><br>今月19日に発売になった<font color="#00FF33"><font size="3">「君がくれた夏」</font></font>は私はこの前のツアーで予約していたのでその日は自宅でグータラしていたのですが、それ以降家入さんがたくさん音楽番組に出ていて超うれしいです！<br>ただね、決して家入さんが悪いわけではないし、どちらかというとTV業界が悪いのですが、<font color="#0000FF"><font size="3">番組の時間帯が遅すぎる</font></font>んですよね。<br>起立性障害が治ってきた私への大ダメージなわけで...なかなか見れないんですよね。<br>ゴールデンとまではいわないものの、もう少し早い時間帯に音楽番組を増やしてほしいですよね。<br><font color="#FF0000"><font size="3">26:00</font></font>とか遅すぎますよ本当に...<br><br>でも見ちゃいますけどねw<br><a href="http://click.affiliate.ameba.jp/affiliate.do?affiliateId=30415774" alt0="BlogAffiliate" target="_blank" rel="nofollow">君がくれた夏 （完全生産限定盤）/ビクターエンタテインメント<br><img src="https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51Ox0%252Ba3wqL._SL160_.jpg" border="0"></a><br>￥1,836<br>Amazon.co.jp<br><br>
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12065311097.html</link>
<pubDate>Mon, 24 Aug 2015 16:51:59 +0900</pubDate>
</item>
<item>
<title>戦闘画面作成！～戦闘画面編～</title>
<description>
<![CDATA[ タイトルの日本語が変ですねw言語能力不足がバレバレですが、気にせず←<br>頑張っていきます。<br><br>今回は戦闘画面におけるとりあえずの枠組みを決めちゃいます。<br>いろいろ悩んだ挙句、<font color="#0000FF">Graphics2D</font>クラスを使うことにしました。<br>簡単に解説すると、<br><font color="#0000FF">setRenderingHint();</font><br>の部分でアンチエイリアシングを設定し(意味がわからない人向けに簡単に言うと、斜線とかのギザギザをなくす感じです)ステータス表示部分とコマンド選択表示部分を背景と枠線をバラバラに指定した、という感じです。<br>一緒に指定してしまうと枠線の太さを変えたりとかの自由がきかない(私の勉強不足)ので、やや面倒ではありますがこのようにしました。<br><br>ただステータスといってもまだ敵キャラはおろか、<font size="3"><font color="#FF0000">主人公すら作っていない</font></font>ので表示するものがないんですけどねw<br><br>というわけで次回はキャラクターのステータスその他を作っていきます。<br><pre id="code"><br><font color="#FF0000">BattlePanel.java</font><br><br>/**<br> * import部分は省略<br> */<br><br>public class BattlePanel extends JPanel implements MainInterface<br>{<br>/**<br> * メンバ変数が横に長くなってしまったので以下のように省略<br> * <br> * RoundRectangle2D.Double status_rect ステータス表示部分<br> * RoundRectangle2D.Double command_rect コマンド選択表示部分<br> * BasicStroke border_stroke 枠線の太さ指定用<br> */<br><br>public BattlePanel(){<br>/* 省略 */<br>}<br><br>@Override<br>public void paintComponent( Graphics g ){<br>super.paintComponent( g );<br>requestFocusInWindow();<br>Graphics2D g2 = (Graphics2D) g;<br>g2.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );<br><br>g2.setColor( Color.BLACK );<br>g2.fill( status_rect );<br>g2.fill( command_rect );<br><br>g2.setColor( Color.WHITE );<br>g2.setStroke( border_stroke );<br>g2.draw( status_rect );<br>g2.draw( command_rect );<br><br>}<br>}<br></pre><br>今回の成果<br><a href="http://stat.ameba.jp/user_images/20150824/16/hone-shogi/22/1b/p/o0650049013405339293.png"><img src="https://stat.ameba.jp/user_images/20150824/16/hone-shogi/22/1b/p/t02200166_0650049013405339293.png" alt="BattlePanel.java" width="220" height="165" border="0"></a><br>
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12065307776.html</link>
<pubDate>Mon, 24 Aug 2015 16:23:06 +0900</pubDate>
</item>
<item>
<title>戦闘画面作成！～その前に～</title>
<description>
<![CDATA[ 今日はたくさん記事を書いていますが、実を言うとすでにコードは結構書いているんですよね。<br>ただ、そろそろ貯めた分に追いついちゃうので、今後少し間隔があくかもしれませんのでご容赦ください。<br><br>では早速作っていきましょう。<br>前回決めた通りに作っていきたいわけですが、その前に作っておかなくてはいけないものがあります。<br>それは...<br><font size="3"><font color="#FF0000">メイン画面です！！！</font></font><br>うん、、、何で作ってなかったんでしょうねww<br>にしても、いろいろいっぺんにやったせいでかなり長くなってしまいましたね。<br><br>ソースに書いてある<font color="#0000FF">BattlePanel</font>は戦闘画面用に用意したものですが、まだ中身はありません。次回以降追加していきます。<br>それから、今回の<br><font color="#0000FF">setGameMode();</font><br>は<br><font color="#0000FF">setVisible();</font><br>を使用しています。<br>というのも、前回と違って今回は画面の切り替えが多くなることが予測されるのであんまり頻繁にロードしたくないからです。<br><br>今回はインデントが深すぎて折り返さなきゃいけなくなっちゃってますね。<br>次回以降はまだ検討中ですが、インデント整理をしないで、ブログ用に見やすくするか、或いは画像で済ませちゃいます。悪しからず。<br><pre class="code"><br><font color="#FF0000">MainPanel.java</font><br><br>/**<br> * import部分は省略<br> */<br><br>public class MainPanel extends JPanel implements MainInterface, KeyListener<br>{<br>private final BattlePanel battle_panel;<br>private int game_mode;<br><br>public MainPanel(){<br>setBackground( Color.BLACK );<br>setPreferredSize( FRAMESIZE );<br>addKeyListener( this );<br><br>battle_panel = new BattlePanel();<br>add( battle_panel );<br><br>setGameMode( MAIN );<br>}<br><br>@Override<br>public void paintComponent( Graphics g ){<br>super.paintComponent( g );<br>requestFocusInWindow();<br>}<br><br>@Override<br>public void keyPressed( KeyEvent e ){<br>int key_code = e.getKeyCode();<br>if( key_code == KeyEvent.VK_SPACE ){<br>setGameMode( BATTLE );<br>}<br>}<br><br>@Override<br>public void keyReleased( KeyEvent e ){<br><br>}<br><br>@Override<br>public void keyTyped( KeyEvent e ){<br><br>}<br><br>public void setGameMode( int mode ){<br>this.game_mode = mode;<br>SwingUtilities.invokeLater(() -&gt; {<br>switch( game_mode ){<br>case MAIN :<br>setVisible( true );<br>battle_panel.setVisible( false );<br>System.out.println("Load Main");<br>break;<br>case BATTLE :<br>battle_panel.setVisible( true );<br>System.out.println("GameMode Battle");<br>break;<br>default:<br>battle_panel.setVisible( false );<br>System.out.println("ERROR GameModeが正しくありません。");<br>break;<br>}<br>});<br>}<br><br>public int getGameMode(){<br>return game_mode;<br>}<br>}<br><br></pre>
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064663067.html</link>
<pubDate>Sat, 22 Aug 2015 18:55:56 +0900</pubDate>
</item>
<item>
<title>内容決め(１)</title>
<description>
<![CDATA[ 前回お知らせしたように、今回はどのようなゲームにするかを決めていきます。<br>決まっていることといえば<br><font size="3"><strong><em>RPGを作る</em></strong></font><br>ということだけです。<br><br>なので今回はもう少し具体的に決めようと思います。<br>では、いきなりですが、近年のRPGの肝ともいえる戦闘システムに関してですね。<br><br>ターン制コマンド式、アクティブ制コマンド式、カウント制コマンド式、タクティカルコンバット式、カードゲーム式、アクション式etc...(「ツクールの小部屋」さんの分類方法を<strike>パク</strike>リスペクトさせていただきました)<br><br>色々ありますね(汗)<br>ただ、複数人で作るわけではないですから、特に自分は<font color="#FF0000">イラスト関係は大の苦手</font>なので(その次が文章を書くことなのですが、<strike>どう誤魔化そうか...</strike>)あまりたくさん書く必要があるのは嫌ですし、かといって個人的に嫌いなのも作りたくないので、今回は絵面が地味でも簡単に緊張感を出せそうな<br><br><font size="3"><font color="#FF6600">アクティブコマンド式</font></font><br><br>を採用したいと思います。持ち物を選んでいる間も時間が進んでたりしたらより一層緊張感が出せそうですよね(その分、持ち物整理機能をつけなきゃいけないですが)<br><br>では次に決めることですが、何を目的とするか。ですよね。<br>むしろこれが今まで決まってなかったほうが驚きですが、RPG定番の敵といえば<br><font color="#9900CC"><font size="3">魔王</font></font><br>ですよね。これに関してはそのまま採用しようと思うのですが、なぜ魔王がいるのかという話になっちゃいますから、魔法(こればっかりは元からある前提でいくしかないですが)を乱用して変貌してしまった人間ということにしましょう。<br><br>ではでは、その魔王を討伐するのは？といったら定番は勇者ですよね。<br>でも、そもそも勇者ってなんで決まったし、<font color="#FF0000">軍隊で行ったほうが強いだろ</font>とか思っちゃうので、主人公は<br><font size="3"><font color="#33CCFF">一国の軍隊のエリート</font></font><br>で王様の命令で一軍隊を引き連れ魔王を倒しに行く途中、魔王の手下に襲われ何とか生き残ったくらいにしてはどうでしょうか。<br><br>また、よくあるRPGでは主人公はさも当然かのように民家に押し入り、宝をもっていっていますが、そんなことは許しませんw<br>たとえ王様の許可があってもなかなか大変なことですから、基本的に<br><font size="3"><font color="#FF0000">民家には入れない</font></font><br>ようにしましょうか(果たして本当にそれで成立するんでしょうか?w)<br><br>...とまあ、こんな感じで一回閉めましょう。今回は少し長くなってしまいましたね。<br>次回からは、またGUIに戻りましょうか。<br><br>最後に、せっかくブログにしているので最終的にはjarファイルで配布したいと思っています。<br>なので、「ああしたい。」「こうしたい。」ありましたらぜひコメントしてください。<br>参考にさせていただきます。<br>それでは今後とも、よろしくお願い致します。
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064561636.html</link>
<pubDate>Sat, 22 Aug 2015 15:11:04 +0900</pubDate>
</item>
<item>
<title>タイトル画面作り～完成(仮)編～</title>
<description>
<![CDATA[ ではではいよいよ載せちゃいましょう！今回のソースは変更部分のみ載せますね。<br><br>一番の目玉はゲームモードの変更処理です。<br><font color="#0000FF">setVisible();</font><br>を使ってもよかったのですが、オープニング画面は基本的に一度のプレイで１回しか呼びませんし、実際にゲームが始まるときのロード画面って無くてもいいものですが、個人的にはあれがあるとワクワク感が高ぶるような気がして好きなので、あえてこちらを選びました。<br>また、この中で<br><font color="#0000FF">revalidate();</font><br>を使っていますが、ここは<br><font color="#0000FF">repaint();</font><br>ではダメらしく、以前同じようなソースを書いたときにうまく作動しなかったのでこちらを使っています。(違いを理解しきれていないのですがね...)<br><br>とりあえずこれにてタイトル画面を一時完成とします。今ここにこだわっても先に進まないですしね。(ボタンのデザインぐらいは変えてもよかったのですが)<br><br>次回からはいったんプログラム自体からは離れて、どんなゲームにするかを考えていきます。<br>(おそらくそこで考えたものも、途中で変更するでしょうが(苦笑))<br><pre class="code"><br><font color="#FF0000">MainFrame.java</font><br>まずは、インターフェースの実装を<br>implements MainInterface<br><br>次に、メンバ変数に以下を追加<br>private int game_mode;<br>private final OpeningPanel opening;<br><br>そして、コンストラクタに以下を追加<br>opening = new OpeningPanel();<br>setGameMode( OPENING );<br><br>最後に、メンバ関数を追加<br>public void setGameMode( int mode ){<br>this.game_mode = mode;<br>if( getContentPane().getComponentCount() != 0 )<br>getContentPane().removeAll();<br><br>switch( game_mode ){<br>case OPENING :<br>getContentPane().add( opening );<br>revalidate();<br>System.out.println("GameMode Opening");<br>break;<br>default:<br>System.out.println("ERROR GameModeが正しくありません。");<br>}<br>}<br><br>public int getGameMode(){<br>return game_mode;<br>}<br><br></pre><br>今回の成果<br><a href="http://stat.ameba.jp/user_images/20150822/12/hone-shogi/0b/ca/p/o0650049013403170516.png"><img src="https://stat.ameba.jp/user_images/20150822/12/hone-shogi/0b/ca/p/t02200166_0650049013403170516.png" alt="MainFrame" width="220" height="165" border="0"></a>
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064509548.html</link>
<pubDate>Sat, 22 Aug 2015 12:32:07 +0900</pubDate>
</item>
<item>
<title>タイトル画面作り～作成編～</title>
<description>
<![CDATA[ ではいよいよ作っていきます。ソースは一番下に貼りつけておきますので合わせてごらんください。<br><br>今回はとりあえずということなので、<font color="#0000FF">JPanel</font>にタイトル文字(<font color="#0000FF">JLabel</font>)とゲームロードボタン(<font color="#0000FF">JButton</font>)を載せる形にしました。そのうちここにはニューゲームボタンとか設定画面に移るボタンとかつける予定なので、あえてレイアウトを座標指定にして、前回の<font color="#0000FF">インターフェース</font>を生かす形にしました。<br>次回はこれをフレームに載せます。<br><br>ちなみに、まだこのゲームのタイトルは決めていないので今のタイトル名は完全に(仮)です。<br><pre class="code"><br><font color="#FF0000">OpeningPanel.java</font><br><font color="#00FF00"><br>/**<br> * import部分は長くなっちゃうので省略します<br> */<br></font><br>public class OpeningPanel extends JPanel implements MainInterface<br>{<br>private final JButton game_start;<br>private final JLabel title;<br><br>public OpeningPanel(){<br>setBackground( Color.BLACK );<br>setPreferredSize( FRAMESIZE );<br>setLayout( null );<br><br>title = new JLabel("RPG Game");<br>title.setBounds( 0, 0, FRAMESIZE.width, FRAMESIZE.height / 3 );<br>title.setForeground( Color.RED );<br>title.setFont( new Font( Font.SERIF, Font.PLAIN, 100 ) );<br>title.setHorizontalAlignment( JLabel.CENTER );<br><br>game_start = new JButton("Game Load!");<br>settingButton();<br><br>add( title );<br>add( game_start );<br>}<br><br>private void settingButton(){<br>game_start.setActionCommand("start");<br>game_start.setBounds( FRAMESIZE.width / 3, FRAMESIZE.height / 3, FRAMESIZE.width / 3, FRAMESIZE.height / 8 );<br>}<br>}<br><br></pre>
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064502808.html</link>
<pubDate>Sat, 22 Aug 2015 12:08:51 +0900</pubDate>
</item>
<item>
<title>タイトル画面作り～準備編～</title>
<description>
<![CDATA[ 箱だけ作って終わるのも寂しいので、タイトル画面(仮)くらいはさくっと作っちゃいましょうか。<br>...でもその前に、今後のことを考えてちょこっとだけ準備をします。<br><pre><br><code><br>import java.awt.Dimension;<br><br>public interface MainInterface {<br>public static final Dimension FRAMESIZE = new Dimension( 640, 480 );<br><br>/**<br> * ゲームモード<br> */<br>public static final int OPENING = 0;<br>public static final int MAIN = 1;<br>public static final int INIT = 2;<br>public static final int BATTLE = 3;<br>}<br></code><br></pre><br>ハイ。<font color="#00CC00">インターフェース</font>です。<br>なぜにこんなものを作ったかというと、それっぽいから、というだけの単純な理由です。(ひどすぎるwww)<br>ただ、せっかく作ったんだからということで、前回のフレームサイズも一緒に定数化してしまえということで一緒にしちゃいました。これは活用していくつもりなので、一応作った意味はありますねw<br><br>あんまり一つの記事が長すぎてもよくないでしょうからこれぐらいにして、すぐに次の記事を書きますね。<br><br>にしても解説もなければ文章もへたくそ。ひどい記事が続いておりますねwブログなんて簡単じゃねとか思っていた自分が恥ずかしい...<br>キャラが出てきたりとかすればもう少しマシになるのでしょうが、それはだいぶ先のお話。
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064496995.html</link>
<pubDate>Sat, 22 Aug 2015 11:54:44 +0900</pubDate>
</item>
<item>
<title>まずは箱作り</title>
<description>
<![CDATA[ ではでは今回から作っていきますが、標準出力は色々なところにもありますし、早速GUIを作りましょう!<br><br>今回は<font color="#0000CC">swing</font>をメインで作っていきます。<br>本当は今の時代なら<font color="#FF0000">JavaFX</font>とかのほうがいいのでしょうが、英語読むの面倒くさい...<br>ということで、手っ取り早く作っちゃいましょう。(といっても今回は箱だけですが)<br><br><font color="#0000CC">swing</font>は、シングルトンが云々...というのがあるらしいのですが、よくわからないので自己流の解釈として、スレッドが最終的に一つになってればいいよ！ってことにします。(だれかこのアホな私に丁寧に教えてくださる方はいないのかしら...)<br>独学だから仕方がないよね←ヽ(`Д´)ノ<br><br>というわけでこんなソースが出来上がりました。<br>さりげなくJava8のラムダ式を使っています。これを使うとそれっぽく見えるから不思議ですw<br>もしも、すでにおかしな点(だらけかもですが)がありましたらバンバンビシビシ教えてください。<br>Ｍじゃないですよw<br><pre><br><code><br>import java.awt.Dimension;<br>import javax.swing.JFrame;<br>import javax.swing.SwingUtilities;<br><br>public class MainFrame extends JFrame<br>{<br>private final Dimension FRAMESIZE = new Dimension( 640, 480 );<br><br>public static void main(String[] args) {<br>SwingUtilities.invokeLater(() -&gt; {<br>MainFrame frame = new MainFrame();<br>frame.setVisible( true );<br>});<br>}<br><br>public MainFrame(){<br>setSize( FRAMESIZE );<br>setTitle("RPGGame!");<br>setLocationRelativeTo( null );<br>setResizable( false );<br>setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );<br>}<br>}<br></code><br></pre><br>↓今回の成果<br><a href="http://stat.ameba.jp/user_images/20150822/11/hone-shogi/8b/d1/p/o0650049013403128009.png"><img src="https://stat.ameba.jp/user_images/20150822/11/hone-shogi/8b/d1/p/t02200166_0650049013403128009.png" alt="MainFrame" width="220" height="165" border="0"></a><br>
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064491976.html</link>
<pubDate>Sat, 22 Aug 2015 11:15:15 +0900</pubDate>
</item>
<item>
<title>アメブロって...</title>
<description>
<![CDATA[ プログラミングをしてるんだから、ソースだって載っけたいと思ったのですが、アメブロにソースコードを載せてもあまりうまくいかないんですよね。<br>調べるといろいろ出ては来るんですが、cssで<br><pre class="code"><br>pre{<br>white-space:nowrap;<br>}<br></pre><br>みたいな風にしちゃうとタブが効かなくなるし、かといってそうしないとスクロールバーを用意してやっても折り返しちゃうし...<br><br>結局下のようにベタうち(一応preタグで囲ってはいますが)するか、eclipseの画像そのまま乗っけちゃうかなんですよね。面倒だな...<br>どっちのほうが見やすいんですかね。もしこのブログを見てくれる人がいるならお聞きしたいです。<br>(コメ稼ぎっぽくなっちゃうけどｗ)<br><pre class="code"><br>Test.java<br>public class Test{<br>public static void main( String args[] ){<br>System.out.println("HellowWorld");<br>}<br>}<br></pre><br><br>あ、ちゃんと次回からは進めていきますよ。本当に。
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064401536.html</link>
<pubDate>Sat, 22 Aug 2015 02:05:05 +0900</pubDate>
</item>
<item>
<title>RPG作りたいなぁ〜</title>
<description>
<![CDATA[ 皆様お暑い中ご苦労さまです。<br>私達大学<font color="#ff2a1a">受験生</font>はクーラーの効いた部屋でふんぞり返っておりますw<br><br>……暇だ！！( ﾟдﾟ)<br><br>という<font color="#ff2a1a">受験生</font><font color="#000000">あるあるな</font>禁句を吐いたところでですね、本題に入りますと、何故かわからんのですがゲームを作りたくなっちゃいましてね、javaを勉強中なのです。<br><font color="#000000">なので、備忘録にブログを使っていこうかというわけです。</font><br><br><font color="#000000">と言っても、</font><font color="#2c6ece">初心者</font><font color="#000000">が作るもんですからプロの方々からすると色々あると思うので、その都度教えていただけたら…</font><br><font color="#000000">なんて考えているわけです。</font><br><font color="#000000">(そもそも初心者なのにRPGを作るのは無謀と言うのは無しでお願いしますw)</font><br><br><font color="#000000">ではでは次回から少しずつ作っていきますか。</font>
]]>
</description>
<link>https://ameblo.jp/hone-shogi/entry-12064243587.html</link>
<pubDate>Fri, 21 Aug 2015 17:53:41 +0900</pubDate>
</item>
</channel>
</rss>
