2009/11/08


たまにはプログラミングに全く関係ない事でも書いてみる。


先日、はてなブックマーク経由でとある対戦アクションゲーム大会の動画を見てて、最近ゲームなんて全くしていなかった私はある事に気が付いた。

最近のゲームは必殺技名を叫ばない。

なんでだろ...。昔のゲームと言えば「昇竜拳!」「竜巻旋風脚!」「バーンナックル!」「虎煌拳」等と叫んだものだ。
子供達はそれで必殺技を覚え、学校で話し、真似して遊んだもんだ。でも最近のゲームは必殺技を叫ばない。どうやって友達と学校で情報共有するんだろうか。攻略本やネットで調べるのか?それとも最近じゃ真似する時も叫ばないのか?

叫ぶからこそ必殺技っぽいと思っていた時代は古いのか?例えば学校で「カイザーウェーブ!」って叫びながら大きく胸を突き出し、腕を振り出す真似を叫ばずやったとしたら、はたしてそれが「カイザーウェーブ」と分かるだろうか。
叫ぶからこそ、ゲームを知らない人でも「あー、ゲームの必殺技かなんかだろうな...」って気付くだろうし。叫んだからこそ女子が見て「男子幼稚!」ってなったものが、はたして叫ばなかったらそれがゲームの必殺技と分かるだろうか。知らない人が見たらカイザーウェーブの動きなんて、公園に現れる変質者の挙動に見え兼ねない。きっと女子に「男子変態!」って言われるだろう。
あの、古き良き時代は何処に行ってしまったんだろう...。

全然関係ないけど、必殺技って技を繰り出す前、もしくは繰り出している最中に叫ぶ物だと思うんだけど、そういう点でいうと北斗の拳のケンシロウは少し卑怯だと放映当時の私は子供ながら感じていた。
ケンシロウは技を繰り出してから技名を叫ぶのだ。

アタタタタタタタ...お前はもう死んでいる!

これだと、技の最中に失敗してたとしても言い訳付くんですよ。

アタタタタタタタ...(あっ!ミスった)...お前はもう...全身打撲!

経絡秘孔を付き間違ったとしても、「あっ!外した!」と感じたならば、必殺技名を言わなければいいんですよ。ただ単に指が体に食い込んで痛いだけの技になるんですよ。

はい、どうでもいいですね。

最近は必殺技を叫ばないのが普通なんだろうか。
必殺技を叫ぶのは昭和なんだろうか...
Posted at by



2009/11/05


できなくはない...かな。
Vim-users.jp - Hack #98: VimScriptで疑似乱数を生成する

VimScriptには、残念ながら疑似乱数を生成するための関数が存在しません。

reltimestr()やreltime()はVimが+reltimeでコンパイルされていないと動作しません。

http://vim-users.jp/2009/11/hack98/
+reltimeでなくても乱数を発生させられる。しかも擬似乱数じゃなく。
:call libcallnr("", "srand", localtime())
:echo libcallnr("", "rand", -1)
-1はダミーね
Windowsの場合は :call libcallnr("libcmt.dll", "srand", localtime())
:echo libcallnr("libcmt.dll", "rand", -1)
とか :call libcallnr("msvcrt.dll", "srand", localtime())
:echo libcallnr("msvcrt.dll", "rand", -1)
とかで動くと思う。ためしてない。
Posted at by



2009/10/30


最近、kazuhoさんが作った「C」で遊んでいるのですが(いまごろかい!)、これWindowsでも使いたいなーなんて思ったのでポーティングしてみた。
C - a pseudo-interpreter of the C programming language

Perl や Ruby では、ワンライナーで処理が書けて便利です。でも、なぜか C では書くことができません。仕事上の都合で、小さな処理を C 言語で書く必要があったので、ワンライナーも書くことのできる C 言語のインタプリタ(?)を作ってみました。

http://labs.cybozu.co.jp/blog/kazuho/archives/2006/01/large_c.php

目指せバイナリアン (C-0.06)

C-0.06 をリリースします。

http://labs.cybozu.co.jp/blog/kazuho/archives/2006/05/c-0_06.php
これがあるとコマンドプロンプトから C:¥>C
puts("kazuho");
^D
kazuho

C:¥>
こんな事が出来たり、 C:¥>C -e "printf("""hello world¥n""");
hello world

C:¥>
こんな事が出来たりします。コマンドプロンプトなのでクォートのエスケープ2重打ちがめんどくさいですが(実際にはクオートの中のクォートなので3重になります)、なれれば簡単ですし昔なつかしnyacusなんかを使えばシングルクォートでも行けるはずです。(cygwin?何それ)
コンパイルや実行にはmingw32が必要です。
コンパイルは以下の様に簡単。
C:¥C-0.06¥>gcc -o C.exe C.c
mingw32が出力するa.exeに対応しています。ちょっと弄ればMSVCにも対応出来るんじゃないかな。

kazuhoさんに感謝しつつ、Version画面に「Win32 Porting」として名前を入れさせて頂いています。
mattn's C-win32 at master - GitHub

win32 port of C(a pseudo-interpreter of the C programming language)

http://github.com/mattn/C-win32
Windowsユーザでコマンドプロンプト使いで、mingw32が入っててC言語をこよなく愛する皆さんにどうぞ...。

対象範囲せま!
Posted at by