SVX日記
2015-07-09(Thu) 楽しんで覚える県&県庁所在地
ちゅーわけで、ウチのガキには、苦手意識を感じる前に、先駆けて楽しんでサッサと覚えてしまってもらおうと、日本地図パズルを買って、一緒に遊びながら覚えることにした。文字通り「一緒に」だ。恥ずかしいことに、いまだに県を全部を覚えきれていないオイラなのだ。
このパズル、なかなかよくできてはいるが、ピースの裏側に県が書いてあるとよかったと思う。県庁所在地が書いてないのも残念。だが、そんなのは自分でやればいいことだ。艦娘うぉーのカードレンダラを元に、サクッとスクリプトを書いて、シール用紙に印刷し、裏側にペタペタと貼って完了……といっても、シール貼りに三晩も費やしてしまったが。
#!/usr/bin/env ruby
# coding: utf-8
#---------------------------------------------------------------
#
# 「くもんの日本地図パズル」県庁所在地+レンダラ
#
#---------------------------------------------------------------
require 'curses'
#require './LegacyGraphics'
#require './TrueLegacyGraphics'
#require './TrueLegacyGraphicsGtk2'
require './TrueLegacyGraphicsCairo'
prefs = []; open('kencho.txt') {|fh|
fh.read.split(/\n/).each {|pref|
ps = pref.split(/\t/)
prefs << { :PREF => ps[1].gsub(/\(.*/, ''), :CAP => ps[2].gsub(/\(.*/, '') }
}
}
# A4: 210 x 297 (1.41), trump: 57 x 89 (1.56) / 63 x 89 (1.41), meishi: 55 x 91 (1.65)
dpi = 15; wx = 210 * dpi / 2.54; wy = 149 * dpi / 2.54
Curses.init_screen if($curses_enable) # screen 3 (^_^;)
winX = Curses.cols - 0
winY = Curses.lines - 0
win = LegacyGraphics.new(winY, winX, 0, 0, wy, wx, 16, 8, 7)
win.clear; win.box('|', '-') # cls
ps = { 'font.family' => 'Osaka', 'font.weight' => 300, 'font.size' => 20, 'layout.width' => 300, 'layout.alignment' => 'left', 'get_si e' => true }
p xy = win.text(0, 0, 'test', 0, ps); ps.delete('get_size')
#win.text(100, 100, 'test', 0, ps)
n = 0; x = 0; y = 0; prefs.each {|pref|
label = pref[:PREF] =~ /#{pref[:CAP]}/ ? '%s' % pref[:PREF] : '%s:%s' % [pref[:PREF], pref[:CAP]]
win.text(50 + x, 50 + y, label, 0, ps)
y += 30
(n += 1) % 8 == 0 and x += 180 and y = 0
}
win.refresh
win.getch
win.close
__END__