2009年 05月05日(Tue) [長年日記]
_ [麻雀]南一局十本場って
飲み会の後はN氏の家で徹夜で麻雀。
この日は親番でイキナリ七対子ドラ2からスタート。その後子番でもう一度七対子ドラ2を上がって完全に固有結界(笑)が発動している状態。
さらに南場の親では連荘に次ぐ連荘で気がつくと十本場にまで。自分の親で十本場とか初めての経験だ。30符1翻で上がっても4000点だからね。何それ?
全部で2局打ったけど一度も振り込まずに終了。1局目は+83、2局目は-10だったかな? 七対子は守りに強い事を再確認。固有結界も少しは使いこなせるようになったかw
_ [ツインエンジェル]TA2主題歌 5/20配信予定
ちなみに今朝は朝一からTA2打ちに行きましたが、低設定ツモったので即ヤメしてプレイボーイで敗戦処理やってました。
それはともかく。TA2がカラオケ入り。
ずっキュンFEVER☆純愛えんじぇるLOVER!!《アニメカラオケ》:カラオケ|JOYSOUND.com
CDと同時に配信予定っぽい。
2009年 05月11日(Mon) [長年日記]
_ [ツッコミレス]ツッコミレス
>TAHO氏
それは言ってはいけないのです(^^; っていうか毎日「明日から本気出す」っていうフレーズでしめるという計画が……って嘘です。今考えました。
>ひろゆ氏
ゴミ箱じゃ駄目じゃん。
一応知らない人のために補足しておくと明日には本気を出すというカードがD-0にあるのです。
_ [アーケード]ドッペルゲンガーが倒せないよ〜♪
テレポ攻撃何回やっても避けれない(泣)
何の話かというと、ダークシールⅡの話です。歌人邸近くのゲーセンに英語名Wizard Fireとしてエミュレータが置いてあるのを発見したしだい。
いわゆるMAMEなので別にゲーセンでなくても家(PC)でもやろうと思えば出来なくは無いんですが、環境が悪いんですよね。主にスペースとジョイスティック的な意味で。とりあえずアストロ筐体レベルのPC用ジョイスティックが安く手に入ればやる気も変わってくるかもしれず。
それはともかく。そんなこんなでダークシールⅡでちょくちょく遊んでいるのですが、15年以上昔のゲームなので全く攻略法とか忘れていたり*1。
それでもかすかな記憶を頼りにようやく3面中ボスのドッペルゲンガーにたどり着いたのですが……こいつが全く倒せねぇ。こっちの攻撃はテレポートで避けまくって全然当たらないし。
当時の自分は良くこんなの倒せたなぁと昔の日記を取り出してみたら、「気合(アドリブ)で倒す」って書いてありました。あ……うん……そう。
10代の頃の反射神経ならそれでよかったんだろうなぁ。しみじみ。
*1 どっかに92年のゲーメストとか無いかなぁ(^^;
_ ひろゆ [若いってすばらしいww ゲーメストってファミトレにあったヤツとは別かな?w]
2009年 05月13日(Wed) [長年日記]
_ [TCG][Chaos][プログラム][ruby]ChaosTCGのエクセル版カードリストを作ろう(その1)
前にウチのTCGグループで話題に挙がったんですが、ブシロードの公式ページにあるカードリストは一覧性が悪いんですよね。一度に10枚づつしか見れないし。
その点D-0は頑張っていて、エクセルのワークシートをアップロードしてくれるので好感が持てます。おかげでデータベース作るのがとても楽。
まあそんなことからふとChaosTCGのエクセル版カードリストを作ってみようと思った次第。もしかするとどこかの誰かがもうやってるかもしれないけど、とりあえず軽く探しても見つからなかったので。
もちろん手作業で1つ1つ埋めていくような事はしません。そんなことしたら新しいカードセット出る度にうんざりしてしまいます。普段からソフトウェアの仕事してるんだからソフトウェアでやらないとね。
使う言語はRubyで。Mechanize使えば何とかなるかな?
とりあえず公式のカードリストのページを見てみると、所々にJavascriptが埋め込まれててちょっと面倒そう。一応「http: //chaos-tcg.com/jsp/cardlist?cardno=xxxxx」の形式で個々のカード情報にはアクセスできるみたいなのでちょっとやってみる。
- test_get_card.rb
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new page = agent.get("http://chaos-tcg.com/jsp/cardlist?cardno=#{ARGV[0]}") (page/'table.status td').map{|e| puts e.inner_html}
こんな感じで実行
ruby test_get_card.rb AP-013
実行結果(適当に整形してます)
<img src="../cardlist/cardimages/ap_013.gif" alt="カード"><br> <a href="JavaScript:showQuestion('AP-013');">≫ このカードに関するQ&A</a> 妖精メイド「エルミン」<br> <span class="kana">ヨウセイメイド「エルミン」</span> AP-013 女 C Chara 火 2 4 +3 +2 - りんご並木の落ち葉たき〜♪ OS:アクアプラス 1.00 ティアーズ・トゥ・ティアラ 花冠の大地
それっぽいのが取得できてますね。
_ [TCG][Chaos][プログラム][ruby]ChaosTCGのエクセル版カードリストを作ろう(その2)
個々のカードはさっきの方法で取得できるとして、カードを次々と取得するにはどうしたら良いでしょう?
公式のカードリストには個々のカードデータの下にカードリストが表示してありますが、これは1ページ10枚までなうえに、ページの遷移がJavascriptで行われるようになっているのでMechanizeではアクセスできません。
いろいろ考えた結果、以下のような方法で無理やりアクセスしてみることにしました。
- test_get_card_list.rb
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new os, no = /(\w+-)(\d+)/.match(ARGV[0]).to_a.values_at(1,2) until agent.get("http://chaos-tcg.com/jsp/cardlist?cardno=# {os}#{no}").search('table.status').empty? agent.page.links_with(:href=>/cardno/).map{|link| card_page = link.click no = /cardno=\w+-(\d+)/.match(card_page.uri.to_s).to_a[1] puts card_page.uri } no = sprintf('%03d', no.to_i + 1) end
実行結果
http://chaos-tcg.com/jsp/cardlist?cardno=AP-001 http://chaos-tcg.com/jsp/cardlist?cardno=AP-002 http://chaos-tcg.com/jsp/cardlist?cardno=AP-002SP http://chaos-tcg.com/jsp/cardlist?cardno=AP-003 http://chaos-tcg.com/jsp/cardlist?cardno=AP-003SR ...(中略)... http://chaos-tcg.com/jsp/cardlist?cardno=AP-098 http://chaos-tcg.com/jsp/cardlist?cardno=AP-099 http://chaos-tcg.com/jsp/cardlist?cardno=AP-100
これでカードデータの取得は目処が立ちました。
_ ひろゆ [おぉスバラシス!さすがソフト屋さんw 公式サイトの作りが似てるからWSやサンマガなんかにも簡単に応用できそうですね。..]
2009年 05月14日(Thu) [長年日記]
_ [TCG][Chaos][プログラム][ruby]ChaosTCGのエクセル版カードリストを作ろう(その3)
カードデータが取得できれば、後は加工してエクセルで出力するだけです。エクセルへの出力は、以前D-0のデッキ構築支援ツールでデッキシートに出力するプラグインを作った時にやったことがあります。……どう実装したのか全然覚えていませんが(^^;
仕方ないのでぐぐる先生に聞いてみたりしつつ、作り上げたのが以下のスクリプト。UTF-8で書いてあるつもりで見てください。カードセットの最初のカードNo.(NP-001とか)をコマンドライン引数として渡してやると、そのカードセット全体をまとめてひとつのエクセルファイルとして出力します。
- get_chaos_cardlist.rb
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new os, no = /(\w+-)(\d+)/.match(ARGV[0]).to_a.values_ at(1,2) list = [] until agent.get("http://chaos-tcg.com/jsp/cardlist ?cardno=#{os}#{no}").search('table.status').empty? agent.page.links_with(:href=>/cardno/).map{|link| sleep 0.1 card_page = link.click sleep 0.1 no = /cardno=\w+-(\d+)/.match(card_page.uri.to _s).to_a[1] array = [] card = {} (card_page/'table.status td').map{|e| array << e.inner_html} name, kana = /(.+)<br><span class=\"kana\">(.+ )<\/span>/.match(array[1]).to_a.values_at(1,2) card[:name] = name card[:kana] = kana card[:num] = array[2] card[:sex] = array[3] card[:rarity] = array[4] card[:type] = array[5] card[:attribute] = array[6] card[:attack] = array[7] card[:defense] = array[8] card[:attack_diff] = array[9] card[:defense_diff] = array[10] card[:text] = array[11].gsub(/<br>/, "\n") card[:flavor] = array[12].gsub(/<br>/, "\n") card[:expansion] = array[13] card[:entry] = array[14].gsub(/<br>/, "\n") puts card[:num] list << card } no = sprintf('%03d', no.to_i + 1) end require 'win32ole' require 'kconv' def getAbsolutePath filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end module WorkSheet def []=(y, x, value) cell = self.Cells.Item y,x if cell.MergeCells cell.MergeArea.Item(1,1).Value = value else cell.Value = value end end end xl = WIN32OLE.new('Excel.Application') #xl.Visible = true book = xl.Workbooks.Add sheet = book.Worksheets.Item 1 sheet.extend WorkSheet head = [ "カードNo.", "カード名", "カナ", "種類", "性別", "属性", "レアリティ", "攻撃力", "攻撃力(補正)", "耐久力", "耐久力(補正)", "効果テキスト", "フレーバー", "エキスパンション", "参加作品" ] head.each_index{|i| sheet[2, i + 2] = head[i].kconv(Kconv::SJIS, Kco nv::UTF8) } y = 4 list.each{|card| sheet[y, 2] = card[:num] sheet[y, 3] = card[:name].kconv(Kconv::SJIS, Kco nv::UTF8) sheet[y, 4] = card[:kana].kconv(Kconv::SJIS, Kco nv::UTF8) sheet[y, 5] = card[:type] sheet[y, 6] = card[:sex].kconv(Kconv::SJIS, Kcon v::UTF8) sheet[y, 7] = card[:attribute].kconv(Kconv::SJIS , Kconv::UTF8) sheet[y, 8] = card[:rarity] sheet[y, 9] = card[:attack] sheet[y, 10] = "'#{card[:attack_diff]}" sheet[y, 11] = card[:defense] sheet[y, 12] = "'#{card[:defense_diff]}" sheet[y, 13] = card[:text].kconv(Kconv::SJIS, K conv::UTF8) sheet[y, 14] = card[:flavor].kconv(Kconv::SJIS, Kconv::UTF8) sheet[y, 15] = card[:expansion].kconv(Kconv::SJ IS, Kconv::UTF8) sheet[y, 16] = card[:entry].kconv(Kconv::SJIS, Kconv::UTF8) y += 1 } filename = getAbsolutePath("#{list[0][:expansion]. kconv(Kconv::SJIS, Kconv::UTF8).gsub(/[:\.]/, '_')}. xls") book.SaveAs(filename) book.Close xl.Quit
横幅が収まらないので適当に改行しています。
とりあえずこれでエクセルのカードリストは生成できました。一応サンプルとして以下にファイルをアップしておきます。
罫線の追加とかセルのリサイズは気になる人が各自適当にやってください。
(追記)軽く出来上がったものを見ると少しへんな所が残ってる模様。さてどうするか。
2009年 05月17日(Sun) [長年日記]
_ [その他]土曜日は歌人邸
とりあえずアイマスライブのために名古屋入りしたさとさと氏を拾って歌人邸に行ってきました。
っていうか歌人邸に行くのは最初はオイラとさとさと氏とイシュ氏だけだと聞いていたのに、気がつくと倍になってますよ。大人気ですな、歌人邸。
歌人邸ではいつものようにWSやったり、トランプやったり。トランプはナポレオンとオリジナル大富豪で遊んでました。
オリジナル大富豪は元の大富豪とは全く違った、それでいて絶妙なゲームバランスに仕上がっているので、是非手軽なパーティーゲームとして広めてみて下さい。
ナポレオンは今回触りだけでしたが、運の要素があまり無い、駆け引きが重視される硬派なゲームなので、次は是非しっかり遊んでみたいですね。
2009年 05月18日(Mon) [長年日記]
_ [TCG][Chaos][プログラム][ruby]ChaosTCGのエクセル版カードリストを作ろう(その4)
ローソン限定のカレンダーとか昔だったら即飛びついていたんですが、この不況の影響で未だ迷っています(謎)
と、エントリと関係無い話題はおいといて。
前回「少しへんな所が残ってる」と書いたのは、効果テキストにタグが残ったままになっているケースがあったためです。
Chaosの効果テキストには赤字や青字で書かれている部分があって、公式のカードリストではその部分がFontタグで囲まれていたわけです。
しかもChaosにおいてテキストの色はルール上非常に重要だったりしますので、色情報を省略するわけにもいきません。ところで2色しか使えない媒体でカードテキスト表現しようと思ったらどうするんだろう? あと関連する話として、TCGって色覚異常者に対する配慮に欠けてる作品が多いよね? 色でしか判断できない情報は基本NGだってデザイナーは学ぶべきだと思うんだ。ま、そんな事言っても私にも詳しいことは分からないんですが(^^;
あれ? 話がずれた。というわけで、効果テキストのタグの部分をどうするかって話。幸いにもエクセルはフォントカラーを弄れるので、赤字や青字をそのまま反映すれば良いでしょう。エクセルのデータを元に他のことをしようとすると面倒そうですが。
- get_chaos_cardlist_2.rb
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new os, no = /(\w+-)(\d+)/.match(ARGV[0]).to_a.values_at(1,2) list = [] until agent.get("http://chaos-tcg.com/jsp/cardlist?cardno =#{os}#{no}").search('table.status').empty? agent.page.links_with(:href=>/cardno/).map{|link| sleep 0.1 card_page = link.click sleep 0.1 no = /cardno=\w+-(\d+)/.match(card_page.uri.to_s).to_ a[1] array = [] card = {} (card_page/'table.status td').map{|e| array << e.inne r_html} name, kana = /(.+)<br><span class=\"kana\">(.+)<\/span >/.match(array[1]).to_a.values_at(1,2) card[:name] = name card[:kana] = kana card[:num] = array[2] card[:sex] = array[3] card[:rarity] = array[4] card[:type] = array[5] card[:attribute] = array[6] card[:attack] = array[7] card[:defense] = array[8] card[:attack_diff] = array[9] card[:defense_diff] = array[10] card[:text] = array[11] card[:flavor] = array[12] card[:expansion] = array[13] card[:entry] = array[14] puts card[:num] list << card } no = sprintf('%03d', no.to_i + 1) end require 'win32ole' require 'jcode' require 'kconv' def getAbsolutePath filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end module WorkSheet def [] y,x cell = self.Cells.Item(y,x) v = cell.Value def v.cell= cell @cell = cell end v.cell = cell def v.method_missing(name,*args) @cell.__send__(name,*args) end return v end def []=(y, x, value) cell = self.Cells.Item y,x if cell.MergeCells cell.MergeArea.Item(1,1).Value = value else cell.Value = value end end end head = [ "カードNo.", "カード名", "カナ", "種類", "性別", "属性", "レアリティ", "攻撃力", "攻撃力(補正)", "耐久力", "耐久力(補正)", "効果テキスト", "フレーバー", "エキスパンション", "参加作品" ] $KCODE = 's' xl = WIN32OLE.new('Excel.Application') begin book = xl.Workbooks.Add sheet = book.Worksheets.Item 1 sheet.extend WorkSheet head.each_index{|i| sheet[2, i + 2] = head[i].kconv(Kconv::SJIS, Kconv::UT F8) } y = 4 list.each{|card| sheet[y, 2] = card[:num] sheet[y, 3] = card[:name].kconv(Kconv::SJIS, Kconv::UT F8) sheet[y, 4] = card[:kana].kconv(Kconv::SJIS, Kconv::UT F8) sheet[y, 5] = card[:type] sheet[y, 6] = card[:sex].kconv(Kconv::SJIS, Kconv::UTF 8) sheet[y, 7] = card[:attribute].kconv(Kconv::SJIS, Kcon v::UTF8) sheet[y, 8] = card[:rarity] sheet[y, 9] = card[:attack] sheet[y, 10] = "'#{card[:attack_diff]}" sheet[y, 11] = card[:defense] sheet[y, 12] = "'#{card[:defense_diff]}" card[:text] = card[:text].kconv(Kconv::SJIS, Kconv::UT F8).gsub(/<br>/, "\n") blue = /<font color="blue">([^>]*)<\/font>/.match(card [:text]).to_a[1] red = /<font color="red">([^>]*)<\/font> /.match(card[ :text]).to_a[1] card[:text] = card[:text].gsub(/<font color="(red|blue )">/, "").gsub(/<\/font>/, "") sheet[y, 13] = card[:text] if blue pos = Regexp.new("(.*)#{blue}", Regexp::MULTILINE). match(card[:text]).to_a[1].jlength len = blue.jlength sheet[y, 13].Characters(pos + 1, len).Font.ColorInde x = 5 end if red pos = Regexp.new("(.*)#{red}", Regexp::MULTILINE).m atch(card[:text]).to_a[1].jlength len = red.jlength sheet[y, 13].Characters(pos + 1, len).Font.ColorInde x = 3 end sheet[y, 14] = card[:flavor].kconv(Kconv::SJIS, Kconv ::UTF8).gsub(/<br>/, "\n") sheet[y, 15] = card[:expansion].kconv(Kconv::SJIS, Kc onv::UTF8) sheet[y, 16] = card[:entry].kconv(Kconv::SJIS, Kconv: :UTF8).gsub(/<br>/, "\n") y += 1 } filename = getAbsolutePath("#{list[0][:expansion].kconv( Kconv::SJIS, Kconv::UTF8).gsub(/[:\.]/, '_')}.xls") book.SaveAs(filename) ensure book.Close xl.Quit end
横幅が収まらないので適当に改行しています。
生成したエクセルファイルのサンプルは以下。前回のサンプルは今回のものと置き換えています。
なお、AP-051(SR) 3つの願い「るーこ・きれいなそら」とAP-080 純真無垢「ユズハ」の効果テキストが足りない&ゴミが残ってるのは仕様です。公式のカードリストそのものが間違っているので。誰かブシロードに修正依頼でも投げてあげてください。
_ ひろゆ [まぁしゃーないね^^; 延期って事なので、当面は場所と日程アナウンスに注意って感じかな。 招待状を持ってる人には個別..]
2009年 05月19日(Tue) [長年日記]
_ TAHO [つうか 某クションですごいことになっているらしいよ?]
2009年 05月20日(Wed) [長年日記]
_ [ツインエンジェル][パチスロ]TA2ストック解析出てた
実感通りの確率だった。やっぱりAT連した時の設定って3or5なんだなぁ*1。AT連してる台は3と考えて追いかけない/ハイエナしないって判断も必要か。
っていうか解析見ると30連とか出来る気がしない(^^;
関係ないけどカラオケ配信されたTA2楽曲はいつか見に行きたいなぁ。
*1 設定1,2もテーブルは一緒だけどボーナス合算が違うので上乗せしづらい。
_ [TCG][Chaos]まーりゃん先輩にエラッタが出てた
最強生徒会長は最強過ぎたという事ですね。
維持コストはきついですが、別に毎ターン維持する必要は無いわけで。というかデッキ傾向としては、フレンドが裏返らないよう守りつつ戦う形になります。どうせ裏返ると割り切ればまーりゃんはチャンプブロックし放題なので。
もっと辛いのがセットカードつけられない点ですね。イベントで補うしかないんですが、攻め始めると維持コストで手札が増えないのでいかんともし難いです。
そんなわけで次々と完成度の低さを露呈しているChaosですが、この点についてはこの先も覚悟しながら付き合っていくしかなさそうな予感。もともと素材は良いんだから、ルール面とバランス面で一度テコ入れしてくれると嬉しいんだけどなぁ。
2009年 05月21日(Thu) [長年日記]
_ [ツッコミレス]ツッコミレス
>ひろゆ氏
大会上位者がまーりゃん先輩で占められている現状ではしょうがないかと。
確かにD-0は(デザイン・ルール面において)まともというか優秀な方ではありますが、だからといってChaosの発売直後のエラッタの多さは普通のTCGのレベルではないでしょう。
でもエラッタが出てる事自体は評価しています。交換もできますし。思うにChaosは禁止・制限カードを出来る限り出さない方針なんでしょう。「俺の嫁」が突然ゲームで使えなくなる状況はコンセプト的にもよろしくないですし。
普通のTCGだったらエラッタ出してカード交換するより、制限・禁止カードに指定してしまうと思うのです。その方が楽だし。
それに現状酷くても将来化ける可能性もあるし、Chaosはこれからもしばらく見守っていきますよ。というわけでChaos買っとこうぜw
>Himawari氏
酷いってわけじゃないけど、10連以上って本当確率の薄いところ引いた結果なんだなってのがよく分かるテーブルになってます。
まあ逆に設定低くても夢がある設計とも言えますが。
_ [ツインエンジェル][パチスロ]耳コピメモ
2chより。自分用メモ。
あ、あー わーにんわーにん 最終究極覚醒地点に到達よ☆
どれだけ注ぎ込んだのか知らないけど、よくもまぁこんな所まで辿り着いたわね
不本意だけど、褒めてつかわしてあげるわ
せっかくここまで来たんだから、もっと強引に楽しんでいきなさーーーい
何のために生きてるのか知らないけど
あくまでも我が道を逝こうってワケね?
ちょっと悔しいけど その意気や良し、だわ
まだまだ行くわよ! ほら、さっさとついてきなさーい!
んん〜 あ〜あ〜(ハイ!)わーにんぐ わーにんぐ(ハイ!)
欲しいの? へへへへへへ変態ね(ハイ!)
ここ壊れたアタマ(ハイ!)
変態変態たいヘンターイ!(ハイ!)
有罪犯罪変態紳士!褒めて遣わしてあげるわ!(ハイ!)
ダメね おしまいね(ハイ!)
こってりのっの ははとの くねくねくねくねゴー(ハイ!)
ア ア アアン ア ア アアン ア ア アアン
わわわっ わっ わわっわわっ
どれだけつぎ込んだか知らないけど よくもまぁコンナトコロマデタドリツイタワネフホンイダケド ホメテツカワシテアゲルワ セッカクダカラアqスェdrfgtyフジコlppppp;;;;;;
魅力込めて☆
これが噂のツインなエンジェルコンビだ胸中最強コンビ
一度聞いたらはまっちゃうこれがave.newパワーだ超ゴキゲン
まってましたよ神様サンキュウ共にしなってよびこめラッキー
チャンスが到来強気でトライいってみようねワンツーレッツゴー
絶対決めたい勝ちたい(きゅんきゅん)(勝ちたい)
狙いをさだめて決めたい(ハイハイ)
エンジェルタイムはいただき(いただき)
いちにのさんし、ふぃーばたーいむ*2(ワーイ)
絶対決めたい勝ちたい(勝ちたーい おうおう)
狙いをさだめて決めたい(決めちゃえ)
エンジェルタイムはいただき(いただきまーす)
いちにのさんし、ふぃーばたーいむ*2(イェーイ)
どれだけ合ってるかは不明。
_ [その他]例えば以下のようなニュースがあったとして、だ
消防車と衝突の女性 賠償求め、平川市を提訴 : 青森 : 地域 : YOMIURI ONLINE(読売新聞)
「普通緊急車両がサイレン鳴らして近づいてきたら交差点に進入するなよな。」と思うのはまあ割と普通かもしれない。
でも「何この女w DQN? 100%女が悪いのに提訴とかwww」とかブログとかに書いちゃうようだとアウト。思っちゃうぐらいなら自由だけど書くなよ。もう馬鹿認定。無知と想像力の欠如というダブルコンボ。つける薬が無い。
自分が無知であることをもう少し自覚しようぜ。って話。2chまとめとか見てて思っただけで特定の人について書いてるわけじゃないよ?
#一応書いておくけど、例えば上記の女性が実際にDQNかどうかは全く関係が無い話。複数の信頼できるソースを参照したならともかく、上の記事だけじゃ普通「示談交渉とかうまくまとまらなかったのかな?」ってな感想になると思うんだが。
_ [ツッコミレス]ツッコミレスその2
書いてあるとおり私の知っている誰かを指してるわけじゃないから。と念をおしておくけど(^^;
いや2chまとめとか見ると本当に酷いので。
例えば件のニュースにしても、民事なんだから過失相殺のラインを裁判所に決めてもらおうって話であるのは普通に想像できるわけで*1。そしたら実際の判決はともかく主張は多少大げさにしないと意味無いでしょ?
そのあたりが良く分かんなくても、昨年7月の事故って事はその間半年以上何やってたんだろう? ってあたりを少し想像すれば示談とか行き違ってたんだなぁって普通考えるわけ。
まあ女性側が一歩も譲る気が無かった可能性も無くは無いけど、それ以外の(ありえそうな)可能性が沢山ある状況で「100%女性が悪い」(側面に当たってるらしいのに100%とか無いだろ)とか短絡的に書いちゃうと馬鹿と思われても仕方ないんじゃない? って話で。
書く前に少しで良いから考えたり調べたりすると良いのにって話でもあったり。
*1 まあ被害者請求かもしれないけど、その場合女性側にほぼ過失が無いと予想される。
2009年 05月22日(Fri) [長年日記]
_ [TCG][WS][プログラム][ruby]WSのカードリストを作ってみる?
ChaosTCGのエクセル版カードリストを作ろう(その4)を流用すればブシロードのカードゲームは全部自動的にカードデータを取得できそう。
というわけでウチの周りで最もユーザーの多いWSをちょっと試してみる。
- test.rb
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new page = agent.get("http://ws-tcg.com/jsp/cardlist?card no=#{ARGV[0]}") (page/'table.status td').map{|e| puts e.inner_html}
結果の例。
<img src="../cardlist/cardimages/ls_w05_002.gif" alt= "カード"><br><a href="JavaScript:showQuestion('LS/W05- 002');">≫ このカードに関するQ&A</a> やりこみ大将みゆき <br><span class="kana">ヤリコミタイショウミユキ</span> LS/W05-002 RR らき☆すた <img src="../cardlist/partimages/w.gif"> キャラ <img src="../cardlist/partimages/yellow.gif"> 1 1 6000 <img src="../cardlist/partimages/soul.gif"> <img src="../cardlist/partimages/soul.gif"> メガネ ・ 委員長 【自】 このカードが手札から舞台に置かれた時、そのターン中 、このカードのソウルを+50。<br>【自】 アンコール [手札の キャラを1枚控え室に置く] (このカードが舞台から控え室に置 かれた時、あなたはコストを払ってよい。そうしたら、このカー ドがいた枠に【レスト】して置く)<br> こちらはいかがですか?<br>
トリガーとソウルはどうすれば良いと思う?(補記:<img src="../cardlist/partimages/soul.gif">のところがソウルやトリガー)
2009年 05月25日(Mon) [長年日記]
2009年 05月26日(Tue) [長年日記]
_ [その他]これ何時から並ぶと良いのでしょうね?
音泉トピックス ≫ ささら、まーりゃんの生徒会会長ラジオ for ToHeart2 公開録音開催決定!
名古屋でやる事にビックリ。定員も不明だから予測が立てづらい。遥イベと重なるのもなぁ。朝早く並ぶなら6の日イベやるとこに並びたいよなw
まあラジオCD買うのは確定だから、ここで予約する事になるのね。
_ [その他]土曜日は福岡
本当はアイマスライブのために日曜日に福岡入りするつもりでいたんですが、いつの間にか車で福岡に行く話になっていてビックリ。
というわけでTA2のイベ消化後、あわてて家に帰って用意した後、夜中の2時に私、歌人氏、ひこ☆HIK氏の3人で名古屋を出発。
途中、歌人氏がワニ(さめ)バーガーを食べたり、歌人氏が広島バーガー(牡蠣じゃなくてお好み焼きのヤツ)を食べたりetc.ありましたが、 11時間程かけて福岡へ無事到着。
ずっとひこ☆HIK氏が運転してたけどね(^^;
福岡ではとりあえずラーメン食べたり、アヴァロンやアイマスの足跡を残したり。ひこ☆HIK氏がMJやりはじめたので後ろで固有結界発動させて邪魔したり(ぇ 最後はカプセルで旅の疲れを大浴場で癒しつつ就寝。とまあ、大変な一日でした。
_ [アイマス][ライブ]日曜はアイマスライブ
会場前に行ってみると物販の列が予想通りの状態。とりあえず近くにあった「麿法務事務所」の広告を「魔法事務所」に空目しつつ……いや、良く見ると文字数が違うぞ。いやいや、ムヒョとロージーの魔法律相談事務所があるなら魔法務事務所なるものがあってもおかしくないよね? ね?w
閑話休題。カラオケとかで時間つぶしてようやく開場時間に。直前に出会ったさとさと氏から2F、3Fがあるという情報をもらったので、中に入ると同時に2Fに上がってみたら目の前にとても開けた空間が。おかげで目の前に誰もいないとても良い環境でライブを楽しむ事ができました。
あさぽんも見れたし。
ライブ後はそれぞれの都合により、ラーメン食べた後に解散。次の日に新幹線で帰る予定の私や歌人氏はともかく、その日のうちに高速に乗らなきゃいけないひこ☆HIK氏は大変だなぁ。と思いながら実家へ向かいましたとさ(まる)。
2009年 05月27日(Wed) [長年日記]
_ [TCG][ruby][プログラム]ブシロードTCGカードリストダウンローダー
ヴァイスシュヴァルツやChaosといったブシロードのTCGのカードデータを公式ページのカードリストから取得するスクリプト。
過去に作ったChaos用スクリプトの改良版といった位置付け。
とはいっても取得できるデータはテーブル内のHTMLなので実際に使う際には各々のTCGに合わせたパーサを書かないといけませんが。
require 'rubygems' require 'mechanize' require 'watir' require 'kconv' def getExpansionList(uri) agent = WWW::Mechanize.new page = agent.get uri (page/"div[@id='expansionList'] a").to_a.inject ([]){|array, link| array << link.inner_text } end def getCardList(uri, expansion) ie = Watir::IE.new ie.goto uri ie.link(:text, expansion.kconv(Kconv::SJIS, Kco nv::UTF8)).click str = '' array = [] n = 0 begin flag = false ie.document.Links.each{|i| if i.Href =~ /cardno/ array << i.Href end if i.InnerText == '≫' flag = true end } ie.link(:text, '≫').click if flag end while flag ie.close array end def getCard(uri) agent = WWW::Mechanize.new page = agent.get uri (page/'table.status td').to_a.inject([]){|array , e| array << e.inner_html} end
例えばChaosのカードをYAMLにしたい場合はこんな感じで。
require 'Ya2YAML' $KCODE = 'u' CHAOS_LIST_URI = 'http://chaos-tcg.com/jsp/cardli st' list = {} getExpansionList(CHAOS_LIST_URI).each{|expansion| list[expansion] = [] getCardList(CHAOS_LIST_URI, expansion).each{|ca rduri| array = getCard(carduri) sleep 1 card = {} name, kana = /(.+)<br><span class=\"kana\">(. +)<\/span>/.match(array[1]).to_a.values_at(1,2) card['カード名'] = name card['カナ'] = kana card['カードNo.'] = array[2] card['性別'] = array[3] card['レアリティ'] = array[4] card['種類'] = array[5] card['属性'] = array[6] card['攻撃力'] = array[7] card['耐久力'] = array[8] card['攻撃力(補正)'] = array[9] card['耐久力(補正)'] = array[10] card['テキスト'] = array[11] card['フレーバー'] = array[12] card['エクスパンション'] = array[13] card['参加作品'] = array[14] list[expansion] << card } } puts list.ya2yaml
2009年 05月28日(Thu) [長年日記]
_ [TCG][Chaos][WS]ブシロードTCGエクセル版カードリスト
昨日のスクリプトは普通のTCGユーザーには何のことって感じだろうから、優しい私はエクセル版のカードリストをアップロードしてあげることにする。
というわけで以下がChaosのカードリスト。前回と違って1つのファイルにまとめてみた。あとトライアルデッキのカードとかも増えてるし、気がついたミスは直してある。
新しいセット見てて気がついたんだけど、Chaosの新カードってデザインの悪かった所が直ってるみたい。初心者講習会とかでの意見をちゃんと取り入れてるんだなぁ。このあたり評価高い。
そして一部の人が待望していたヴァイスシュヴァルツのカードリストが以下。
相変わらず罫線とかは無い。欲しけりゃ自分で引くと良いかと。
間違ってるところとか、要望とかあったらお気軽に。
_ ひろゆ [リストアップおつ&サンクス♪ これで色々とやりやすくなりましたw カオスは記述がとか表現がだいぶ解り易くなったね。 ..]
2009年 05月29日(Fri) [長年日記]
_ [パチスロ]とりあえずNao氏はマイスロ名教えてくれると良いと思うんだ
スロ友申請するので。
久しぶりにマイスロトップページ見たら知らない人からスロ友申請されてた。っていうか気付き辛いな、これ。そういえば日記で自分のマイスロ名とか公開してなかったような。一応「necron」で登録しています。検索キーワード「アヴァ研」で検索してもOK。
マイスロはSNSっぽい方向にもっと進化すると良いとは思う。SNS嫌いな私が言うのもなんだが。
_ [ライトノベル]続きが出て欲しいライトノベルBest10
先日栗本薫氏がお亡くなりになりました。ご冥福をお祈りいたします。
グイン・サーガは引き継ぐ方がいない限り未完のままという事になりますね。私は手を出していなかったのでショックは小さいですが、他の作家さんの作品の中にも果たしていつ完結するのか? と疑問に思ってしまう作品がたくさんあったりします。
というわけで、このエントリでは私が「続きが出て欲しい」と思っているラノベBest10を挙げてみたいと思います。ミニ対話形式で。
10位 パラサイトムーンシリーズ(渡瀬草一郎)
N「一応甲院の話は完結しているので、続きが気になる! って類とは違うんだけど、個人的に続きが読みたいので10位で。」
K「でも今書いてる輪環の魔導師も結構長そうですから、書くとしても相当先だと思いますよ?」
9位 アーク島年代記シリーズ(ジョナサン・ワイリー)
K「何です? これ?」
N「角川から出ていた翻訳物なんだけど、編集プロダクションが倒産して途中で打ち切られてしまってるんだよね。復刊しないかなぁ。」
K「原書で読めば?(:p」
N「読めるか! しかも原書も絶版なんだよ!」
8位 異次元騎士カズマシリーズ(王領寺静)
K「いや、これ出ないですよね。藤本ひとみ(王領寺静)本人がもうライトノベル書かないって言ってたらしいですし。」
N「それでもいつか出るんじゃないかと待ち続けて気がつくと15年超えました。15年以上も待ったんだから後15年は待てる?(ぇ」
7位 涼宮ハルヒの憂鬱シリーズ(谷川流)
K「前巻が中途半端な状態で終わってさえなければ出なくても気にならないレベルなのですが。」
N「むしろ個人的には学校を出ようシリーズこそ続きを出して欲しい。」
K「じゃあ何でハルヒをランクインしてるんです?」
N「アニメ第2期記念……かな?」
6位 星界の紋章シリーズ(森岡浩之)
N「戦旗1巻から2巻の間が1年8ヶ月、2巻から3巻の間が2年7ヶ月、3巻から4巻の間が3年9ヶ月。」
K「4巻が出てから4年と6ヶ月経ちますから、もうそろそろじゃないでしょうか?」
5位 百星聖戦紀シリーズ(ひかわ玲子)
K「あれ?百星聖戦紀って完結したんじゃなかったでしたっけ?」
N「いや、百星聖戦紀というタイトルとしては完結したけど、物語としては全く完結してないよ。そもそもまだ英雄側が100人全員出てきていない。別タイトルで続きを書く予定らしいけど。」
K「100人って……水滸伝みたいですね。」
3〜4位 タイタニア・灼熱の竜騎兵シリーズ(田中芳樹)
N「自転地球儀世界と創竜伝はもういいや(ぇ っていうかこの人の場合銀英伝以外ほぼ全部未完だしなぁ。」
K「銀河英雄伝説の外伝を待っている人も多数いますよ?w」
2位 E.G.コンバットシリーズ(秋山瑞人)
N「デストロイの季節はまだですか!(号泣)」
K「同氏の別シリーズ、ミナミノミナミノも1巻が出たっきりですが。」
N「E.G.が読めるならミナミノなんていらん!」
1位 Hyper Hybrid Organizationシリーズ(高畑京一郎)
K「本編が3巻で止まって、いきなり過去の話をやりだした上、過去編3冊が終わった途端に沈黙したという一品ですね。」
N「最初から筆が遅いのは知ってたけどさ。まあまだ過去編最終巻から4年ぐらいだし、諦めるには早いな(ぇ」
K「もう本編の記憶がほとんど無いですよ……。」
_ TAHO [> 明日からは本気出す。 これが何回リピートされるのでしょうか・・・www 自分は、数回はリピートされ・・?]
_ ひろゆ [除外されてた仕事の記憶を全てゴミ箱へ戻すのですね、わかります(ぁ]