前回の記事とあわせてお読みください。
先にプログラムの続き(construct 以降)を示します。
─────────────
def construct
self.caption = 'まちがいさがし v.0.1'
@font = @screen.factory.newfont('MS Pゴシック', 12)
@font2 = @screen.factory.newfont('MS Pゴシック', 18)
@bmp1 = SWin::Bitmap.loadFile("ms_buhin/ms_keshiki1.bmp")
@bmp2 = SWin::Bitmap.loadFile("ms_buhin/ms_keshiki2.bmp")
@maru_bmp = SWin::Bitmap.loadFile("ms_buhin/maru_btn1.bmp")
@batsu_bmp = SWin::Bitmap.loadFile("ms_buhin/batu_btn1.bmp")
addControl(VRStatic,'title_area','◆まちがいさがしゲーム◆',
30,15,220,30)
@title_area.setFont(@font2)
addControl(VRStatic,'setsu_area','3つの間違いを探してね!',
250,20,150,20)
@setsu_area.setFont(@font)
addControl(VRStatic,'atari_area','0',70,365,30,30)
@atari_area.setFont(@font2)
addControl(VRStatic,'hazure_area','0',170,365,30,30)
@hazure_area.setFont(@font2)
addControl(VRStatic,'kekka_area',"",250,365,250,30)
@kekka_area.setFont(@font2)
end
def self_paint
drawBitmap @bmp1,20,50
drawBitmap @bmp2,340,50
drawBitmap @maru_bmp,20,360
drawBitmap @batsu_bmp,120,360
end
def self_lbuttondown(shift, x, y)
atta = 0
3.times do |s|
if (@pz[s][0][0]..@pz[s][0][2]) === x and
(@pz[s][0][1]..@pz[s][0][3]) === y or
(@pz[s][1][0]..@pz[s][1][2]) === x and
(@pz[s][1][1]..@pz[s][1][3]) === y
@atari_area.caption = "#{@atari += 1}"
@pz[s] = @sumi
@kekka_area.caption = "#{@g_mes[0]}"
@kekka_area.caption = "#{@g_mes[2]}" if @atari == 3
atta = 1
end
end
if atta == 0
@hazure_area.caption = "#{@hazure += 1}"
@kekka_area.caption = "#{@g_mes[1]}"
@kekka_area.caption = "#{@g_mes[3]}" if @hazure == 3
end
self.refresh
end
end
VRLocalScreen.start(MyForm,100,100,670,450)
─────────────
あらためて画面見本はこんな感じです。
続きを読む