さいどうにっき

趣味や日常などを不定期で書いていきます

目指せGUI

こんばんは。お久しぶりでございます。

 

今日*1はひたすらプログラミングしてました。

午前の部

午前中はひたすらJavaやりました。使ってる参考書がクラスのところに入り、いよいよここから、といったところです。コンストラクタだのprivateだのpublicだのゲッタ(ロボでない)だのアクセッサだのと多くのことを学びました。

お陰様で、昼食を取る前はヘトヘトでした。

ろくに休みも取らずに3, 4時間くらいぶっ通しでやっていたため、昼食後程なくして一区切りついたところで寝ました。15分だけの昼寝*2のつもりだったのですが、結構疲れは取れました。

 

午後の部

ここからはGUIオセロの開発に移ります。言語は(なんちゃって)C++です。全くと言っていい程C++の機能は使わず、CとDXライブラリの機能に頼りまくってました。かじる程度でもC++をやれたらいいのですが、Javaとの並行は難しそうです。春休みでJavaの勉強を一通り終わらせることができたら、C++の勉強に移ろうかと考えています。

 

さて、肝心のプログラムですが、今回できたのは3つです。

  • メインメニュー
  • モード選択
  • NPCの難易度設定

メインメニューはこんな感じです。

f:id:ringoh72:20140222234132j:plain

 

背景が少し寂しいですが、特にいいアイディアが見つからなければこのままです。

オセロということで*3、それぞれのモードは白黒で表しました。フォントはWide Latinを使っています。また、マウスをそれぞれの四角の上に持って行くと、四角がなくなって文字色が反転します。クリックした時は四角がREVESIの文字色になり、それぞれのモードに進みます。

 

モード選択画面も白と黒が基本です。

f:id:ringoh72:20140222234520j:plain

黒と白、クリックする度にPLAYER→NPC→PLAYERと変わっていきます。カーソルが上に来ると緑が濃くなり、クリックすると緑の純色になります。下側に少し余りがあるのですが、そこは別のボタンを用意する予定です*4

文字は透過を利用したビットマップになっていて、L-EO先輩に教わった方法*5で作っています。ですが、画像とマウス処理を同時にやると反応が悪くなるため、フォントに変えるかもしれません。

 

NPCの難易度設定は、メインメニューでSETTINGを選ぶとできます。

f:id:ringoh72:20140222235705j:plain

メインメニューが白黒白黒だったので、こちらは黒白黒白にしてみました。選択中の難易度が純色の緑、マウスが乗っている難易度が濃い緑、それ以外(上画像のBASIC, MEDIUM, BACK TO MENU)がREVERSIで基本としている緑です。

こちらの文字もモード選択と同じ方法で作成しており、こっちもフォントに変えるかもしれません。こんな感じのフォントがあったら教えて下さるとありがたいです。

 

今回できたのはこれくらいです。次はいよいよ駒置き、リザルト画面への挑戦をします。え、READ LOGS?あれは最後でいいんです、最後で。

*1:ギリギリ0時になってしまったため昨日

*2:最早昼寝というレベルなのかどうか

*3:て、手抜きじゃないんだからねっ!

*4:戻るボタンとか

*5:1文字あたり5x5ピクセルかずつ描いたものを拡大する