※2005/04/22 Fri 11:07:57 に再編集されました。
※2004/10/30 Sat 17:19:54に再編集されました。
use Tk;
- 作者: ナンシーウォルシュ,Nancy Walsh,石曽根信,西中芳幸
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 1999/12
- メディア: 単行本
- 購入: 1人 クリック: 2回
- この商品を含むブログ (4件) を見る
吉里吉里の吉里吉里/KAGではじめるゲーム制作―タグでノベルゲームが簡単にできる! (I・O BOOKS)とかNscripterとかも勉強してみたが、Nscripterはまだちょっとノベルに偏ってる仕様だし、吉里吉里はJavaやJavaScript系の仕様なので、Perlに慣れ切った自分にはちょっと面倒だったりする。
でも、Perl/Tkなら、スタンドアローンの育成ゲームとかかなりいけるんじゃないかとか思ったり。
もうちょっと読み込んでみよう。
※2005/04/22 Fri 11:07:57 に再編集されました。
※2004/10/30 Sat 17:19:54に再編集されました。
本末転倒
まずは、id:ef66様、わがままを聞いてくださってありがとうございます。
勝手にモジュールをインストールできない人様のサーバーでも、古いバージョンのPerlでも動くことを考えれば、これくらいの簡便さが一番でしょうね。
#それにコメントがいっぱい……これくらいしないと一週間後読んだ時にわからなくなってますよね。
後は無圧縮ZIPを作成できればいい訳で。
興味が湧いたので、ググったところ、http://www.memb.jp/~deq/perl/doc-ja/Archive-Zip.htmlなんてモジュールもあることがわかりました。
今インストールされているPerlにArchive::Zipが含まれているかどうか調べるために、使えるモジュールをリストアップする.plファイルを作り、ついでにそれをCGI化してみました。INC.cgiとでも名付けるべきかと。
#!/usr/bin/perl use strict; use CGI; my $q = CGI->new; my @modules = (); foreach my $base_dir ( @INC ) { my @dir = ( undef ); while ( @dir ) { my $dir = pop @dir; my $open = $base_dir; $dir and $open .= "/$dir"; opendir ( DIR, $open ); my @object = grep { !/^\./ } readdir ( DIR ); closedir ( DIR ); push @dir, map { "$dir/$_" } grep { -d "$base_dir/$dir/$_" } @object; push @modules, map { "$dir/$_" } grep { /\.pm$/ } @object; } } map { s/^\/// } @modules; my %modules = map { $_=>1 } @modules; @modules = sort keys %modules; my $modules = {}; foreach ( @modules ) { my @temp = split /\//; my $eval = '$modules->'.join('->',map{ '{"'.$_.'"}' }@temp).'= 1;'; eval $eval; } print $q->header; print $q->start_html(-title=>'modules in this Perl.'); print hashref2list($modules); print $q->end_html; sub hashref2list { my $hashref = shift; my $parent = shift; my @keys = keys %{$hashref}; my @file = (); my @dir = (); foreach ( @keys ) { if ( ref $hashref->{$_} ) { push @dir, $_; } else { push @file, $_; } } @dir = sort @dir; map { s/\.pm$// } @file; @file = sort @file; return $q->ul( $q->li([map { "$parent$_" } @file]), $q->li([map { $_.'::'.hashref2list($hashref->{$_}, $parent.$_.'::') } @dir]) ); } exit(0);
結論から言うと、入っていましたので、無圧縮ZIPを作るのに他のソフトを入れる必要もないことが判明。ああ、Perlは楽でいい。また色々試す予定です。
ありがとうございました。>id:ef66様
ONI 完全日本語版 Windows版
- 出版社/メーカー: エレクトロニック・アーツ
- 発売日: 2001/09/27
- メディア: CD-ROM
- クリック: 20回
- この商品を含むブログ (2件) を見る
本日の素敵ワードたち
- google:人工無能 海江田
- 相変わらず意図が読めません。
- google:ヘンゼルとグレーテル 論文
- 今度こそ、童話を解析した論文を探しに来たようです。
……まあ、ここにはそんなものないんですけど。 - google:ロボこみ エロ漫画
- むう。もちろんヒロインは鈴木ロボ子だよな。
……ギャグだかマジだかよくわからんが。 - google:少年型アンドロイド
- こんなものまでひっかかるようになった俺のダイアリー。
- google:モッコリぱんつ
- こんなものまでー!
- google:性欲解消法
- なくてすまん。
- google:蒼崎橙子 生首
- うんうんうん。世の中には存外に生首ストが多いらしい。
- google:カービィ ヌード
- ……あるのか!? いや、それ以前に嬉しいのかそれ! 萌え擬人化か!?
SIMPLE2000
なんか、赤字とか出してる割には元気だなあ、D3 PUBLISHER。
それとも、これが末期のソフトハウスを襲う駄目開発ラッシュスパイラルなのか?
# $sf はソフトハウスである。 my $sf = Soft::House->new; # $bank は銀行である。 my $bank = Bank->new; # ソフトハウスの所持金が尽きるまでこのループは続く。 while ( $sf->money > 0 ) { # 企画を立案する。ただし、開発期間は短く。 my $plan = $sf->devise(-span=>'short'); # その開発に必要な金額を銀行から借り、ソフトハウスの所持金に加える。 $sf->add_money($bank->ask_for_a_loan($plan->necessary_expenses)); # ソフトを開発する。(バックグラウンドでソフトハウスの所持金は減少している) my $soft = $sf->create($plan); # ソフトを販売する。(バックグラウンドでソフトハウスの所持金は上昇している) $sf->sell($soft); # 銀行に金を返す。 $bank->repayment($sf->dec_money($plan->necessary_expenses)); } # ソフトハウスは倒産する。 $sf->DESTROY;
まあ、しょうがないな。お布施しよう。
●水着の女の子ちゃんたちが奮闘!!
水着のアイドルたちが、15種類の競技で対戦するアクションゲームだ。操作はタイミングよくボタンを押すなど、誰にでも遊べるシステムとなっているぞ。黄色い声、跳ねる水しぶき、そしてかわいい女の子!! 色香を振りまきながら、アツくセクシーな対戦を楽しもう。
use Tk;
- 作者: ナンシーウォルシュ,Nancy Walsh,石曽根信,西中芳幸
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 1999/12
- メディア: 単行本
- 購入: 1人 クリック: 2回
- この商品を含むブログ (4件) を見る
吉里吉里の吉里吉里/KAGではじめるゲーム制作―タグでノベルゲームが簡単にできる! (I・O BOOKS)とかNscripterとかも勉強してみたが、Nscripterはまだちょっとノベルに偏ってる仕様だし、吉里吉里はJavaやJavaScript系の仕様なので、Perlに慣れ切った自分にはちょっと面倒だったりする。
でも、Perl/Tkなら、スタンドアローンの育成ゲームとかかなりいけるんじゃないかとか思ったり。
もうちょっと読み込んでみよう。
※2005/04/22 Fri 11:07:57 に再編集されました。
※2004/10/30 Sat 17:19:54に再編集されました。
本末転倒
まずは、id:ef66様、わがままを聞いてくださってありがとうございます。
勝手にモジュールをインストールできない人様のサーバーでも、古いバージョンのPerlでも動くことを考えれば、これくらいの簡便さが一番でしょうね。
#それにコメントがいっぱい……これくらいしないと一週間後読んだ時にわからなくなってますよね。
後は無圧縮ZIPを作成できればいい訳で。
興味が湧いたので、ググったところ、http://www.memb.jp/~deq/perl/doc-ja/Archive-Zip.htmlなんてモジュールもあることがわかりました。
今インストールされているPerlにArchive::Zipが含まれているかどうか調べるために、使えるモジュールをリストアップする.plファイルを作り、ついでにそれをCGI化してみました。INC.cgiとでも名付けるべきかと。
#!/usr/bin/perl use strict; use CGI; my $q = CGI->new; my @modules = (); foreach my $base_dir ( @INC ) { my @dir = ( undef ); while ( @dir ) { my $dir = pop @dir; my $open = $base_dir; $dir and $open .= "/$dir"; opendir ( DIR, $open ); my @object = grep { !/^\./ } readdir ( DIR ); closedir ( DIR ); push @dir, map { "$dir/$_" } grep { -d "$base_dir/$dir/$_" } @object; push @modules, map { "$dir/$_" } grep { /\.pm$/ } @object; } } map { s/^\/// } @modules; my %modules = map { $_=>1 } @modules; @modules = sort keys %modules; my $modules = {}; foreach ( @modules ) { my @temp = split /\//; my $eval = '$modules->'.join('->',map{ '{"'.$_.'"}' }@temp).'= 1;'; eval $eval; } print $q->header; print $q->start_html(-title=>'modules in this Perl.'); print hashref2list($modules); print $q->end_html; sub hashref2list { my $hashref = shift; my $parent = shift; my @keys = keys %{$hashref}; my @file = (); my @dir = (); foreach ( @keys ) { if ( ref $hashref->{$_} ) { push @dir, $_; } else { push @file, $_; } } @dir = sort @dir; map { s/\.pm$// } @file; @file = sort @file; return $q->ul( $q->li([map { "$parent$_" } @file]), $q->li([map { $_.'::'.hashref2list($hashref->{$_}, $parent.$_.'::') } @dir]) ); } exit(0);
結論から言うと、入っていましたので、無圧縮ZIPを作るのに他のソフトを入れる必要もないことが判明。ああ、Perlは楽でいい。また色々試す予定です。
ありがとうございました。>id:ef66様
ONI 完全日本語版 Windows版
- 出版社/メーカー: エレクトロニック・アーツ
- 発売日: 2001/09/27
- メディア: CD-ROM
- クリック: 20回
- この商品を含むブログ (2件) を見る
本日の素敵ワードたち
- google:人工無能 海江田
- 相変わらず意図が読めません。
- google:ヘンゼルとグレーテル 論文
- 今度こそ、童話を解析した論文を探しに来たようです。
……まあ、ここにはそんなものないんですけど。 - google:ロボこみ エロ漫画
- むう。もちろんヒロインは鈴木ロボ子だよな。
……ギャグだかマジだかよくわからんが。 - google:少年型アンドロイド
- こんなものまでひっかかるようになった俺のダイアリー。
- google:モッコリぱんつ
- こんなものまでー!
- google:性欲解消法
- なくてすまん。
- google:蒼崎橙子 生首
- うんうんうん。世の中には存外に生首ストが多いらしい。
- google:カービィ ヌード
- ……あるのか!? いや、それ以前に嬉しいのかそれ! 萌え擬人化か!?
SIMPLE2000
なんか、赤字とか出してる割には元気だなあ、D3 PUBLISHER。
それとも、これが末期のソフトハウスを襲う駄目開発ラッシュスパイラルなのか?
# $sf はソフトハウスである。 my $sf = Soft::House->new; # $bank は銀行である。 my $bank = Bank->new; # ソフトハウスの所持金が尽きるまでこのループは続く。 while ( $sf->money > 0 ) { # 企画を立案する。ただし、開発期間は短く。 my $plan = $sf->devise(-span=>'short'); # その開発に必要な金額を銀行から借り、ソフトハウスの所持金に加える。 $sf->add_money($bank->ask_for_a_loan($plan->necessary_expenses)); # ソフトを開発する。(バックグラウンドでソフトハウスの所持金は減少している) my $soft = $sf->create($plan); # ソフトを販売する。(バックグラウンドでソフトハウスの所持金は上昇している) $sf->sell($soft); # 銀行に金を返す。 $bank->repayment($sf->dec_money($plan->necessary_expenses)); } # ソフトハウスは倒産する。 $sf->DESTROY;
まあ、しょうがないな。お布施しよう。
●水着の女の子ちゃんたちが奮闘!!
水着のアイドルたちが、15種類の競技で対戦するアクションゲームだ。操作はタイミングよくボタンを押すなど、誰にでも遊べるシステムとなっているぞ。黄色い声、跳ねる水しぶき、そしてかわいい女の子!! 色香を振りまきながら、アツくセクシーな対戦を楽しもう。
use Tk;
- 作者: ナンシーウォルシュ,Nancy Walsh,石曽根信,西中芳幸
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 1999/12
- メディア: 単行本
- 購入: 1人 クリック: 2回
- この商品を含むブログ (4件) を見る
吉里吉里の吉里吉里/KAGではじめるゲーム制作―タグでノベルゲームが簡単にできる! (I・O BOOKS)とかNscripterとかも勉強してみたが、Nscripterはまだちょっとノベルに偏ってる仕様だし、吉里吉里はJavaやJavaScript系の仕様なので、Perlに慣れ切った自分にはちょっと面倒だったりする。
でも、Perl/Tkなら、スタンドアローンの育成ゲームとかかなりいけるんじゃないかとか思ったり。
もうちょっと読み込んでみよう。
ONI 完全日本語版 Windows版
- 出版社/メーカー: エレクトロニック・アーツ
- 発売日: 2001/09/27
- メディア: CD-ROM
- クリック: 20回
- この商品を含むブログ (2件) を見る
本日の素敵ワードたち
- google:人工無能 海江田
- 相変わらず意図が読めません。
- google:ヘンゼルとグレーテル 論文
- 今度こそ、童話を解析した論文を探しに来たようです。
……まあ、ここにはそんなものないんですけど。 - google:ロボこみ エロ漫画
- むう。もちろんヒロインは鈴木ロボ子だよな。
……ギャグだかマジだかよくわからんが。 - google:少年型アンドロイド
- こんなものまでひっかかるようになった俺のダイアリー。
- google:モッコリぱんつ
- こんなものまでー!
- google:性欲解消法
- なくてすまん。
- google:蒼崎橙子 生首
- うんうんうん。世の中には存外に生首ストが多いらしい。
- google:カービィ ヌード
- ……あるのか!? いや、それ以前に嬉しいのかそれ! 萌え擬人化か!?
本末転倒
まずは、id:ef66様、わがままを聞いてくださってありがとうございます。
勝手にモジュールをインストールできない人様のサーバーでも、古いバージョンのPerlでも動くことを考えれば、これくらいの簡便さが一番でしょうね。
#それにコメントがいっぱい……これくらいしないと一週間後読んだ時にわからなくなってますよね。
後は無圧縮ZIPを作成できればいい訳で。
興味が湧いたので、ググったところ、http://www.memb.jp/~deq/perl/doc-ja/Archive-Zip.htmlなんてモジュールもあることがわかりました。
今インストールされているPerlにArchive::Zipが含まれているかどうか調べるために、使えるモジュールをリストアップする.plファイルを作り、ついでにそれをCGI化してみました。INC.cgiとでも名付けるべきかと。
#!/usr/bin/perl use strict; use CGI; my $q = CGI->new; my @modules = (); foreach my $base_dir ( @INC ) { my @dir = ( undef ); while ( @dir ) { my $dir = pop @dir; my $open = $base_dir; $dir and $open .= "/$dir"; opendir ( DIR, $open ); my @object = grep { !/^\./ } readdir ( DIR ); closedir ( DIR ); push @dir, map { "$dir/$_" } grep { -d "$base_dir/$dir/$_" } @object; push @modules, map { "$dir/$_" } grep { /\.pm$/ } @object; } } map { s/^\/// } @modules; my %modules = map { $_=>1 } @modules; @modules = sort keys %modules; my $modules = {}; foreach ( @modules ) { my @temp = split /\//; my $eval = '$modules->'.join('->',map{ '{"'.$_.'"}' }@temp).'= 1;'; eval $eval; } print $q->header; print $q->start_html(-title=>'modules in this Perl.'); print hashref2list($modules); print $q->end_html; sub hashref2list { my $hashref = shift; my $parent = shift; my @keys = keys %{$hashref}; my @file = (); my @dir = (); foreach ( @keys ) { if ( ref $hashref->{$_} ) { push @dir, $_; } else { push @file, $_; } } @dir = sort @dir; map { s/\.pm$// } @file; @file = sort @file; return $q->ul( $q->li([map { "$parent$_" } @file]), $q->li([map { $_.'::'.hashref2list($hashref->{$_}, $parent.$_.'::') } @dir]) ); } exit(0);
結論から言うと、入っていましたので、無圧縮ZIPを作るのに他のソフトを入れる必要もないことが判明。ああ、Perlは楽でいい。また色々試す予定です。
ありがとうございました。>id:ef66様
SIMPLE2000
なんか、赤字とか出してる割には元気だなあ、D3 PUBLISHER。
それとも、これが末期のソフトハウスを襲う駄目開発ラッシュスパイラルなのか?
# $sf はソフトハウスである。 my $sf = Soft::House->new; # $bank は銀行である。 my $bank = Bank->new; # ソフトハウスの所持金が尽きるまでこのループは続く。 while ( $sf->money > 0 ) { # 企画を立案する。ただし、開発期間は短く。 my $plan = $sf->devise(-span=>'short'); # その開発に必要な金額を銀行から借り、ソフトハウスの所持金に加える。 $sf->add_money($bank->ask_for_a_loan($plan->necessary_expenses)); # ソフトを開発する。(バックグラウンドでソフトハウスの所持金は減少している) my $soft = $sf->create($plan); # ソフトを販売する。(バックグラウンドでソフトハウスの所持金は上昇している) $sf->sell($soft); # 銀行に金を返す。 $bank->repayment($sf->dec_money($plan->necessary_expenses)); } # ソフトハウスは倒産する。 $sf->DESTROY;
まあ、しょうがないな。お布施しよう。
●水着の女の子ちゃんたちが奮闘!!
水着のアイドルたちが、15種類の競技で対戦するアクションゲームだ。操作はタイミングよくボタンを押すなど、誰にでも遊べるシステムとなっているぞ。黄色い声、跳ねる水しぶき、そしてかわいい女の子!! 色香を振りまきながら、アツくセクシーな対戦を楽しもう。