約 1,904,910 件
https://w.atwiki.jp/cgiprowiki/pages/15.html
CGIとは? CGIとは、Perlというプログラミング言語のインストールされたwebサーバー上で動作するプログラムのことです。掲示板・アクセス解析・アクセスカウンター・フォームメール・データベースなどホームページを作成する時に役立つ様々なCGIが開発されています。 CGIプロテック CGI-PARKでは、ホームページ作成に役立つCGIに限らず、堅牢なwebサーバーをデータ保管庫として便利に利用できるようにするCGIを目指して開発を行っています。
https://w.atwiki.jp/nessnesgb/pages/239.html
研究のソース公開に伴い、古い情報を隔離しました(CGI技術情報2008) 変数一覧 実装例 お得なテクニック まったりCGI共通のバグとその対策 コメント 変数一覧 $exist[$s_a]{x} xにカード番号が入り、そのカードがフィールド上に何枚あるか返す。 $s_aは、自分フィールド上。全フィールドを調べたい時などはここを変えるっぽい $seast 研究の解説にもあるが、カードをサーチする範囲。 http //hagurin.sakura.ne.jp/html/analyze3.html#31 $phase そのまんまだが、現在何フェイズなのかを調べる時に使う。以下、わかったぶんだけ 0:ドロー 1:スタンバイ 2:メイン1 3:バトル 4:メイン2 30:ダメステ 5:エンド $use_f_no 効果を記述する関数内で、そのカードのフィールド上での位置を表す。 日本語でおkですね。でも、引数としてよく使われるようです $res_si カードのある場所を示す。以下わかったぶん 0-50:フィールド 50-150:手札 200-400:墓地 400-600:デッキ 600-:エクストラデッキ 200-300:自分墓地 300-400:相手墓地 $jokenst カード検索の条件を指定する。 どうやら途中で改行を入れてはいけないようなので注意。 実装例 (☆のついたカードはやや難しい) お得なテクニック エディタにもよるが、Grep検索ウマー サクラエディタにはタブ機能があった! え?常識? テクニックっていうか、usekokaファイルが多すぎるのでざっとまとめ。 どこかに記述があるのかもしれないが未だ発見できず 1→#条件召喚モンスターと召喚用魔法 3→#チェーンに乗らない効果 4→#1ターンに1度だけ 5→#任意発動効果 51→#生け贄召喚成功時(51)#手札から特殊召喚する誘発効果(55) 5m→魔法 6→#戦闘開始に条件 7→リバース? 12→#戦闘ダメージを与えた時に誘発する効果(12)#直接攻撃に成功した時に誘発する効果(42)#相手モンスターを戦闘破壊した時に誘発する効果(43) 15→#任意発動効果 16→#召喚・反転召喚成功時の誘発効果(9)#召喚成功時の誘発効果(16)#特殊召喚成功時の強制効果(33)#特殊召喚成功時の任意効果(37)#召喚・特殊召喚の任意効果(52)#召喚・反転召喚・特殊召喚の誘発効果(53) 21→#スタンバイフェイズ発動(21,22,23)#エンドフェイズ発動(25,26) 35→#戦闘で破壊して墓地に送る(35) s6→スピリット まったりCGI共通のバグとその対策 (新カード以外でバグを見つけたらここに書いてください。) ガジェット・ドライバーの効果が使用できない duellib2.cgiの、 $c_koka[$cardno]==3 || $cardno==2748 || $cardno==2749 || $cardno==2950 || $cardno==3213 ||・・・ のところにカード番号を追加する。 結束 UNITYを使うと守備力がインフレ use_smagic.plの、 add_msg($NULL,"$tmpは自軍モンスターと結束を固めた!"); の直後で$couを初期化する ティンクルモスにスペーシア・ギフトを使っても一枚しかドローできない usemagic.plのスペーシア・ギフトの項目内を以下のように書き換え for(@res_s){my $cno= getf_res*1;$arr{$cno}++; push(@res_s2,$cno); } $cou=keys %arr; if((grep {/^3019$/} @res_s2) !(grep {/^2595$/} @res_s2)){$cou++;} if((grep {/^2794$/} @res_s2) !(grep {/^2417$/} @res_s2)){$cou++;} tehuda_draw; 勝手に新ページを作った。反省はしてない -- 編集人1 (2009-01-07 17 26 33) 名前 コメント
https://w.atwiki.jp/nessnesgb/pages/139.html
各CGIについての注意点とか。 遊戯王OCG研究ページの対FanDeck制限 □禁止カード ●モンスターカード 黄泉ガエル N・グラン・モール 森の番人グリーン・バブーン E・HERO エアーマン 光と闇の竜 死霊騎士デスカリバー・ナイト 冥府の使者ゴーズ 混沌の黒魔術師 ダーク・アームド・ドラゴン キメラテック・フォートレス・ドラゴン ●魔法カード オーバーロード・フュージョン 洗脳-ブレインコントロール 抹殺の使徒 強制転移 巨大化 魂を吸う竹光 ●罠カード 死のデッキ破壊ウイルス マインドクラッシュ ダスト・シュート 無謀な欲張り 自爆スイッチ 魔のデッキ破壊ウイルス 闇のデッキ破壊ウイルス スキルドレイン マクロコスモス □制限カード ●モンスターカード 剣闘獣ラクエル 大将軍 紫炎 カタパルト・タートル 氷帝メビウス 六武衆の御霊代 グリーン・ガジェット レッド・ガジェット イエロー・ガジェット 剣闘獣ホプロムス 神獣王バルバロス 宝玉獣 サファイア・ペガサス 風帝ライザー サイバー・ドラゴン 雷帝ザボルグ ファントム・オブ・カオス 邪帝ガイウス ダーク・クリエイター 終焉の王デミス ●魔法カード 太陽の書 大逆転クイズ アームズ・ホール 収縮 生還の宝札 雲魔物のスコール 強者の苦痛 虹の古代都市-レインボー・ルイン ●罠カード 硫酸のたまった落とし穴 次元幽閉 王宮のお触れ 魔宮の賄賂 □準制限カード ●モンスターカード ネクロフェイス ●魔法カード 凡骨の意地 ●罠カード マジカル・エクスプロージョン ゆぎおごっこの追加制限について □追加制限 万能地雷グレイモヤ 抹殺の使徒 奈落の落とし穴 仕込みマシンガン おジャマトリオ 炸裂装甲 ステルスバード 雷帝ザボルグ 収縮 D.D.アサイラント シールドクラッシュ 氷帝メビウス 炎帝テスタロス 地帝グランマーグ サイバー・ドラゴン デビルドーザー 終焉の王デミス 光と闇の竜 高等儀式術 風帝ライザー □追加準制限 名推理 終焉のカウントダウン マンジュ・ゴッド おろかな埋葬 エネミーコントローラー ライトニング・ボルテックス パワー・ボンド 次元の裂け目 ネクロフェイス ジェルエンデュオ 宝玉獣 サファイア・ペガサス ゾンビ・マスター (公式解除 ハリケーン) □組み合わせ制限 ダスト、セイマジ、ミラフォ、ブレイカー、貪欲、ゴーズは計2枚以下 マンティ、生還の宝札は合計三枚以下。 プテラ or 代償 マシ、死霊、ジェルエンは2枚以下 バーロ・未来がある時、キメラ禁止 マクロ、裂け目は計3枚以下(島制限で2枚以下)
https://w.atwiki.jp/nessnesgb/pages/63.html
試験的にページ作成。 予定としては お勧めCGI デッキ構築 あたりから書き始めるかなと
https://w.atwiki.jp/ibibi/pages/21.html
#!/usr/bin/perl #----------------------------------------------------------------- #CGI環境 use lib /usr/local/lib/perl/cgi-lib ; use CGI; #----------------------------------------------------------------- #CGI変数の取り込み $query = new CGI; $utterance = $query- param( utterance ); #$utterance = "あなたのお名前は何ですか?"; #----------------------------------------------------------------- #CGI変数をファイル"user.txt"に書き込む open(USER, " user.txt"); print USER "$utterance\n"; close(USER); #"user.txt"の文字コードをEUCに変えて"user.euc"として保存 system("nkf -euc user.txt user.euc"); #"user.euc"の内容をchasenで形態素解析 $i=0; open(CHASEN,"/usr/local/bin/chasen user.euc |"); while( CHASEN ){ chop(); ($syutsugen[$i],$yomi[$i],$daihyou[$i],$pos[$i])=split(/\t/); $i++; } close(CHASEN); $wordnum=$i; #----------------------------------------------------------------- #ここに対話処理を書く $keyword1="固有名詞"; $keyword2="地域"; $keyflag1=0; $keyflag2=0; for($j=0;$j $wordnum;$j++){ if($pos[$j] eq $keyword1){ $keyflag1=1; } if($pos[$j] eq $keyword2){ $keyflag2=1; } } if(($keyflag1 ==1) ($keyflag2 == 1)){ $system = "OK"; } $keyword1="固有名詞"; $keyword2="地域"; $keyflag1=0; $keyflag2=0; for($j=0;$j $wordnum;$j++){ if($pos[$j] eq $keyword1){ $keyflag1=1; } if($pos[$j] eq $keyword2){ $keyflag2=1; } } if(($keyflag1 ==1) ($keyflag2 == 1)){ $system = "OK"; } #----------------------------------------------------------------- #HTML出力 print "Content-type text/html\n\n"; print " HTML \n"; print " TITLE 対話システム /TITLE \n"; print " BODY \n"; print " H1 対話システム /H1 \n"; print "User "; for($j=0;$j $wordnum;$j++){ print "$syutsugen[$j] "; } print " BR \n"; print " BR \n"; print "User Word \n"; print " BR \n"; for($j=0;$j $wordnum;$j++){ print "$daihyou[$j]\t$yomi[$j]\t$pos[$j]\n"; print " BR \n"; } print "System "; print "$system\n"; print " BR \n"; print " HR \n"; print "発話を入力してTalkボタンをクリックして下さい。\n"; print FORM NAME="form" METHOD="POST" ACTION="dialogue.cgi" ; print INPUT TYPE="text" NAME="utterance" SIZE="50" VALUE="" ; print INPUT TYPE="submit" NAME="submit" VALUE="Talk" ; print /FORM ; print " /BODY \n"; print " /HTML \n";
https://w.atwiki.jp/nessnesgb/pages/207.html
一応作ってみた。 分かる人は情報の交換とかに活用してやってください。 もっとも、別に掲示板でもあったほうがいいのかも知れませんが。 変数一覧 実装例 お得なテクニック まったりCGI共通のバグとその対策 コメント 変数一覧 $exist[$s_a]{x} xにカード番号が入り、そのカードがフィールド上に何枚あるか返す。 $s_aは、自分フィールド上。全フィールドを調べたい時などはここを変えるっぽい $seast 研究の解説にもあるが、カードをサーチする範囲。しかし数値の法則が全くわからない ※法則はここにありました→http //hagurin.sakura.ne.jp/html/analyze3.html#31 $phase そのまんまだが、現在何フェイズなのかを調べる時に使う。以下、わかったぶんだけ 0:ドロー 1:スタンバイ 2:メイン1 3:バトル 4:メイン2 30:ダメステ 5:エンド $use_f_no 効果を記述する関数内で、そのカードのフィールド上での位置を表す。 日本語でおkですね。でも、引数としてよく使われるようです $res_si カードのある場所を示す。以下わかったぶん 0-50:フィールド 50-150:手札 200-400:墓地 400-600:デッキ 600-:エクストラデッキ 以下は予想 0-4:相手魔法罠ゾーン 5-9:相手モンスターゾーン 10-14:自分モンスターゾーン 15-19:自分魔法罠ゾーン 200-300:自分墓地 300-400:相手墓地 $jokenst カード検索の条件を指定する。 どうやら途中で改行を入れてはいけないようなので注意。 実装例 (☆のついたカードはやや難しい) コイントス $cou= coin_tos2; coin1_syori; コインを1枚投げる。coin_syori.pl内のcoin1_syoriに、カードナンバーを追加し表裏それぞれの効果を書く。 セカンドチャンスも考慮する場合は、LIGHT RULERの効果のところを参照 ライトロード・パラディン ジェイン 前半の効果は、トパーズタイガーの記述を探して真似して一行追加 後半は、カードガンナー等の効果を見ながらusekoka21.plに一ブロック追加する ライトロード・サモナー ルミナス 前半の効果は、ゾンビマスターやアテナ、死者転生などを参考にしつつusekoka4.plに一ブロック追加。 後半をジェインと同じようにやると発動しない(効果ナンバーが25ではなく4なため) end_phase.plに一行追加してuse_koka_aを呼びつつ、 usekoka5.plにドロー処理を書く。内容はジェインの時とほぼ同じ ☆古代の機械究極巨人 まず巨人+アンティーク・ギア2体が地味に厄介。 キメラテック・オーバー・ドラゴンの融合部分を参考にして、サイバー・ドラゴンを巨人に置き換えて他に選択できるのを2体のアンティーク・ギアに設定すれば楽かと。 貫通効果はdamage_step.plで簡単に設定できるとして、破壊された場合の蘇生効果はキマイラを参考にする。 召喚条件無視はレベル調整を参考にキマイラの部分に上手く組み込むこと。 あんまり書くと長くなりそうなので省略するけど古代の機械共通の伏せ封じ効果もちゃんと設定しておくこと ☆ライトロード・マジシャン ライラ かなり苦労した。それでもまだ仮実装(=本当の効果と多少違う) まず、usekoka4.plに一ブロック作り、効果の起動部分を作る。 この部分は、カードが攻撃表示の時だけ発動できるようにする。 カードの表示形式を変える関数 piero;を中で呼ぶ。 次にusekoka5.plに2ブロック作る。一つ目は、エンドフェイズ以外で発動するように。 こちらで、ドリームピエロなどを参考にカードを1枚破壊する効果を書く。 さらに、不屈レイレイなどを参考に$fld_koka[$use_f_no].="gobrin_$turn ";を書いて表示形式変更に制限をかける。 最後に、二つ目のブロックにジェインと同じようにカード消費効果を書く。こちらはエンドフェイスのみ発動するようにする。 たぶんこれだと、B地区とかで守備になった時も発動してしまう。でも現段階ではこれが精一杯 フロッグ・バリア これは簡単。 発動条件はD-シールドなどを見ながらchain_chk10.plに一行追加 効果はミラーフォースを参考にusetrap10.plに一ブロック追加 我が身の発動条件にカードナンバーを追加するのを忘れずに。 漏電 これも簡単、死の合唱をほぼコピペ。 発動条件は、あまりふつくしくないが、$existで電池メンの数を足して調べた。 今後電池メンが増えた時にここをいじる必要があるのが欠点。 急速充電器 これも簡単。サルベージとオーバーソウルを参考に。 速攻魔法であることをお忘れなく。 湿地草原 編集中にサーバーエラー(# ^ω^) フィールド魔法といっても、初期の物のように単純にはいかない。 まずmagic.cgiに一行、発動用のメッセージ行を作る。 本体はduellib2.plに。まずkokにカードナンバーを追加し、 強者の苦痛あたりを参考にしながら攻撃力上昇の処理を書く ソーラー・エクスチェンジ 発動条件はマジックジャマーとデスティニー・ドローで。 発動後墓地に送る効果はライトロード系をコピペ。 20分で実装&テスト可能、この辺は載せる必要ないかな ☆スペーシア・ギフト コクーン・パーティの墓地→フィールド上に書き換えてドローすればいいだけかと思ったら、意外と時間がかかった。 コクーンryの効果ではマリンドルフィンとティンクルモスの2枚ドローできる例外をカバーしてくれないので、 $existでも使ってその場合だけはドロー数を++する。 雲魔物-ストーム・ドラゴン 起動効果は、usekoka4.plに一ブロック書く。 「1ターンに一度」はエクスクルーダー、「カウンターを乗せる対象を選ぶ」はゴースト・フォッグを参考に。 カウンターを一つ乗せるのは put_alien($res_s[0],1,4);でおk 召喚条件は炎の精霊 イフリートあたりを参考に。 戦闘破壊耐性と、守備表示自壊効果の両欄に番号を追加するのをお忘れなく ダッカー usekoka7.plに一ブロック追加するだけ。 基本は聖なる魔術師で、サルベージなどを参考にしてモンスターサーチにする。 $jokenst= lv_st2($res_si)==4 と$jokenst= $c_lv[$cardno]==4 ;の違いはなんなんだろう… lv_st=手札におけるモンスターのレベル lv_st2=フィールド上におけるモンスターのレベル $c_lv=元々のカードのレベル よって墓地・デッキにおいてのレベルは$c_lvでおk 充電池メン usekoka16.plに一ブロック追加。 「自分の手札またはデッキから~」はデステニー・シグナル、 「~ことができる」はマンジュ・ゴッドを参考に。 「攻守アップ」はザ・ヒートを参考にduellib2に。 ☆貫ガエル 正確に再現しようとしたら意外と時間がかかった。 battle_run3.plに一行pushを追加。 本体はusekoka5.pl。任意効果はガーディアンエルマなどを参考に適当にやってください イレカエル 起動効果は孵化を参考に。 永続効果はkokに番号を追加し、テンペスターを参考にbattle_run3に。 ライトロード・ドラゴン グラゴニス 攻守アップはシャイニングフレアウィングマンを参考にduellib2に。 種類×300は、レインボードラゴンの召喚条件が使える。実装例: $seast= 0999000000 .$sealet1;$jokenst= $c_name[$cardno]=~/ライトロード/ ; card_search; my(%arr); for(@res_s){my $cno= getf_res($_)*1;$arr{$cno}=1;} my @tmp=keys %arr; $ap_tmp+=300 * @tmp;$dp_tmp+=300 * @tmp; 貫通効果はdamage_step.pl。ライトロード効果はジェインとほぼ同じ。 ライトロード・エンジェル ケルビム put_card1に一行pushを追加し、usekoka5の誘発効果につなげる。 本体はほぼメビウスと同じ。モンスターも破壊できる点には注意。 偽物のわな、竜の騎士、一枚でも残っていれば~のそれぞれにカード番号を追加するのを忘れずに。 ライトロード・ハンター ライコウ 基本は貫ガエルあたり。 自分フィールドも破壊できるのはアナンタのEP効果を参考に。 破壊効果を発動しなくてもデッキから墓地に送る効果は発動する点に注意 ☆人造人間ーサイコ・ロード まずkokに番号を追加し、サイコショッカーが場にいるのと同じことにしてしまう。 ヴォルカニックデビルなどを参考にしてusekoka1に召喚条件。 本体はusekoka4に、魔法効果の矢と邪気退散を参考に。 偽物のわなにカード番号を加える。 ☆D-HERO ドレッドサーヴァント 召喚時効果はエターナルドレッドを参考にusekoka16に書く。 問題は破壊時効果。go_botiにpush行を書きusekoka5に処理を書けばいいような気がするが、 なぜかusekoka16に書かないと発動しない。バトルフェイズとそれ以外とで2ブロック作るしかないのか ☆クロス・ポーター 起動効果はusekoka4。似たカードは思いつかなかったが簡単なので適当に書く。 誘発効果はusekoka5。クリッター達と同じ部類である。 問題は任意誘発であること。コストなどにするとタイミングを逃す。 ギルファーデーモンの効果番号がどのように処理されてるか追い、真似をする。 電池メン-ボタン型 前半は墓守の偵察者、後半はエーリアン・グレイを参考にする。 王宮の弾圧、無効にカード番号を追加する ☆ワイト夫人 同名効果はハーピィ・クイーンを真似する。 しかしなぜかワイトキングの攻撃力に反映されないので、夫人は夫人として認識させる 永続効果はkokに追加、duellib2、battle_run3、duellibの各所をいじって魔法・罠の効果を受けなくし、戦闘破壊耐性をつける 閃光のイリュージョン ほとんどリビングデッドの呼び声。効果番号を追い、duellib,go_botiなどを改造する ただし、無意味に場に残し続ける処理の所には追加しない。 発動はuse_etrap。永続効果の起動はend_phaseの洗脳光線の後あたりに追加か。 永続効果の本体はusekoka5m。さらに王宮の弾圧に効果番号を追加する。 裁きの龍 効果の強力さの割には簡単。 召喚条件はレインボードラゴンを参考にusekoka1。フィールドはカウントしないことに注意 なぜか、duel.cgiの特殊召喚できない~にカード番号を入れないと、死者蘇生できてしまう 起動効果はデミスを参考にusekoka4。 誘発効果はライトロード系と同じく、end_phaseとusekoka5。 我が身を盾に効果番号を追加する。 ☆ディスクライダー バズー・エクスクルーダー・闇よりの罠を合わせる感じで。 除外はコストではなく効果なので、バズーそのままはまずそう。 remove_card2($cno,$s_a);$boti[$s_a][$res_s[0]-200]= ; del_null(*boti,$s_a); ここの数字がエクスクルーダーでは300だが、200にしないと動かない。なんでだろ? ☆電池メン-業務用 特殊召喚はデビルドーザー真似で。よくわからないが特殊召喚できない~にも一応番号を追加。 起動効果はまず、 card_searchで魔法罠ゾーンにカードがあるか調べるといいだろう。 次に除外するカードと破壊する2枚のカードを選択する処理。 これは似たカードがないので勘で書くしかない。上の$res_siの値一覧が役に立つかもしれない。 ライトロード・ビースト ウォルフ 発動はペンギン・ナイトを追いながらgo_boti2を少し修正。 効果はusekoka5、闇よりいでし絶望が参考になる。 このままでもいいが、usekoka1に通常召喚できないエラーメッセージを書くとペガサスが出てこない。 put_card1のレアメタルドラゴンの部分は変更する必要ない様子。王宮の弾圧に番号追加 救援光 除外から手札に加える処理は救済のレイヤードが参考になる。 ただしごちゃごちゃしているので、どこが必要な部分か見極める事。 リミット・リバース リビングデッドの呼び声を追跡し、ひたすら真似る。 守備表示自壊効果はduellib2。 雲魔物を参考に、装備カード一覧のあたりに追加する。 総剣司令ガトムズ いじるのはduellib2のみ。kokに追加し、湿地草原などを参考に一行追加する 自分フィールドのみ上昇するので$kok[$tsno][***] ワーム・アポカプリス 青い忍者あたりを参考に。偽物のわなにカード番号追加 ワーム・カルタロス 意外にもリバースのサーチ効果がないので、 不幸を告げる黒猫をベースにクリッターなどのサーチ効果を合わせる。 ワーム・ディミクレス ニュートの劣化版。数分で実装可能なお手軽カード ワーム・イーロキン non_extに番号を追加し、特殊召喚不可にする 起動効果は月読命をほぼコピー。 $jokenst=$not_tokn. $c_name[$cardno]=~/ワーム/ syu_st($res_si) eq "爬虫類" ;とする。 ☆シンクロ召喚 いろいろな実装法があるだろうが、ここではフォートレスを参考にする。やや上級注意 シンクロ用のボタンを右側に表示し、適当なカード番号(9000など)で呼び出す 本体はusekoka2。go_card_searchで一気にリリースとシンクロと表示形式を選択させるといいだろう その後、シンクロが一枚か、チューナーが一枚か、星の数が合っているかを調べる エクストラデッキ内のカードのレベルは、$c_lv[$yugo[$s_a][$res_s[該当番号]-600]]でわかる 全て満たしていれば召喚。フォートレスを参考に余分な部分を消すとよい ガード・オブ・フレムベル、ジェネクス・コントローラー duellibの&is_normal、&is_normal2、&is_kokamonsを変更する。 基本はこれでいいのだが、高等儀式術などなぜか&is_normalに対応していないカードがあるので適宜変更する。 duellib2の&view_card1をいじって、リンクを表示しないようにするとカッコいい ジュッテ・ナイト 巨大戦艦クリスタル・コアまんまです。 ☆クレボンス まず、battle_runの#攻撃対象側に数字を入れて、チェーンを発生させる 本体はusekoka5。ネクロガードナーと攻撃の無力化を合わせる感じで実装する。 チェーンの仕組みを理解していないと(実装するのは)難しい 氷弾使いレイス 翻弄するエルフの剣士をコピーして攻撃力→レベルに書き換えるだけ 霞の谷の風使い 手札断殺を参考にしたのだが、意外に面倒。 まずは断殺を参考にusekoka4に1ブロック作る。 その後select_syori内のt_sendをコピーしてt_send2などと名前をつける。 捨てる枚数をt_send2に渡すのは難しいので、 t_send2内で&maisu_countを使って手札をカウントするといいかもしれない フレムベル・アーチャー リリース処理はイレカエル、攻撃力処理は突進などを参考にして、usekoka4に書く。 他にフレムベルがいない時は発動できないので、 $fld[]を10-14までチェックしてフレムベルの数を数えるといいだろう。 Xセイバー パシウル 非破壊効果は、マシュマロンを参考にbattle_run3に追加するだけ。 ダメージ効果は、usekoka21に増幅する悪意を参考に。 ☆ターボ・シンクロン 本体はusekoka6のusekoka_6_syoriに書く。 それを呼び出すために、battle_run3の#戦闘ダメージによる効果の発動に一行書く。 また、koka==6の処理を追って、battle_runとkoka2の、該当部分に数字を追加する。 以上の下準備が済んだら、いよいよ本体を書く。表示変更と特殊召喚の二つがあるので、 chain2の記述をそれぞれかえて、うまく呼び分けるようにする。 表示変更は墓守の暗殺者、特殊召喚は&kenja_syoriで行う。王宮の弾圧も忘れずに。 コピー・プラント ブラック・パンサーをひたすら真似る。 blackpantherで検索し、新しくc-plant等を作成して10箇所ほどコピー。 起動効果はusekoka4に。ブラックryをコピーし、下から2行目を削除、最後の行は $fld_koka[$use_f_no].= clone_ .&lv_st($cno). .&zok_st($use_cno). .&syu_st($use_cno). 0 0 ; こんな感じでどうだろう。属性・種族番号がわからなかったので手抜き。 エンド誘発のusekoka5も忘れずに。書いていて、明らかにこれはバグの元だろとオモタ C・コイル 永続的に攻守を上げるカードが他に思いつかないので、ここではオリジナルで実装する。 usekoka4に1ブロック作り、$fld_koka[$res_s[0]].="c-coil_$temp "; などとする。効果を重ね掛けする場合は、 $fld_koka[$res_s[0]]=~s/c-coil_\d+/c-coil_$temp/;などとする。 仕上げに、duellib2の&get_apdp_fldの/teppeki/の後辺りに、2行ほど書く。 サイコジャンパー 強制転移を流用する。といっても、そのままでは使えないので、 select_syoriのk_teniをコピーしてk_teni2とでも名前をつける。 相手が選択する処理を、自分が選択する処理に書き換える。 &ctrl_chgを使うときは、第1引数にその時のコントローラー側を入れないと変な事になるので注意。 これだと対象をとる効果にならないけど勘弁してください。 ウィード 六武衆を真似して、go_boti.plを編集すれば一瞬で実装。 ☆ゾンビキャリア 悪名高いこのカードの実装法。ここでは、右側にボタンが出現する方法をとる。 まず、馬頭鬼を真似してduellib2を探り、$zcarrier等の名前をつける。 duel.cgiにてボタンをクリックした時のチェーン発生。 本体はusekoka5。カードトレーダーを真似てコスト部分。 デッキトップに戻すのはmy $tsno= tehuda_to_deck($res_s[0],0,1);。 shuffleを消すのを忘れずに。ここのgo_card_searchで、表示形式も決める。 蘇生は馬頭鬼とかを見ながら適当に。 除外効果は、$fld_kokaにzcarrier-rev 等を付加し、あとは混沌黒魔術師を真似する。 共闘するランドスターの剣士 コマンド・ナイトと同じ。magic.cgiの擬似フィールド効果に追加し、 自分フィールドだけなのでduellib2の#フィールド魔法と効果14をいじる ハネワタ 効果的にクリボーを真似したくなるが、D.D.クロウあたりを真似した方がよさげ。 番号を追い、duellib2、magic、trapの該当部分に追加する。 本体はusekoka3。処理は$hk[56+$s_a]=1;だけでOK。 表示メッセージが「ピケルの魔方陣~」となってしまうけど勘弁してください。 伝説の白石 面倒な処理は、koka==10が全てやってくれるので、 usekoka5の墓地発動のあたりに1ブロック追加するだけ。 サーチ効果はクリッターあたりを参考に。 ギガンテック・ファイター 永続効果は、ブラック・パラディンを参考にduellib2。 蘇生効果はusekoka15。アギドあたりを参考にすると簡単に書ける。 氷結界の龍 ブリューナク usekoka4に書くが、対象を取るのでまず一気にコストと対象を選択してもらう。 その後、コスト配列と対象配列に分け、数が一致したら進化する翼を参考に&go_boti2。 ここまでが$cont_flg内。その後、ハリケーンを参考に&return_tehuda_arr2。 ☆スピード・ウォリアー 効果はシンプルだが、類似カードがないため難しい。 まずはput_card1で、召喚時に$fld_kokaに$turn入りの効果を追加する。 次にview_fldbutton_mst内の、効果ボタンが出現する条件にカード番号等を追加。 効果を使用してもBPが終わらないように、magicの%ss2に数字を追加。 本体はusekoka2。カラテマンなどを参考にfld_kokaを追加し、 duellib2もいじってATKが1800になるようにする。 最後にkoka2の#バトルフェイズ→メインフェイズ2でfld_kokaを削除…としたのですが、 コンマイ語検定4級の俺には、「バトルフェイズ終了時まで」という処理がこれで正しいのか自信がないです。 ジャンク・シンクロン usekoka16に1ブロック書く。任意の対象を取る効果なので、 $cont_flg内で効果を使うかどうかと、対象を選択してもらう。 蘇生効果は死者蘇生あたり。効果無効化処理は、モザイク・マンティコアを流用したいが、 mosaicは攻撃無効化も含んでしまっているので、新しくjunk-revとか名前をつけて、 mosaic→(mosaic||junk_rev)の置換を10箇所ほどやる。 ジャンク・ウォリアー シンクロ召喚の処理で、シンクロンを指定する。また、最後にchain2に番号をpushする。 本体はusekoka5。フィールドを5から10までサーチして、攻撃力上昇分を計算、 その後適当なfld_kokaをつけてあとはC・コイルと同じ。 5から10ってところがなんか嫌な感じもするけどまあいいや。 ミスト・ウォーム シンクロ召喚の処理で、モンスターが3体以上かどうか調べる。最後にchain2にpush。 本体はusekoka5。ブリューナクが実装できていれば流用するだけ。 強制発動なので0枚選択はできてはいけないのだが、 この効果を敢えて使わない場面は少ないだろうからとりあえずいいでしょう。 フレムベル・ウルキサス 貫通効果はdamege_step。 誘発効果は逆巻く炎の精霊を参考に、usekoka12に書く。 X-セイバー ウルベルム usekoka12に、ザルーグを参考に書く。デッキに戻す処理のポイントは $res_s[0] = $rann + 100; tehuda_to_deck($res_s[0],1,1); A・O・J カタストル 一撃必殺侍を参考に、battle_runでチェーン発生。 本体はusekoka5に、同じく一撃必殺侍を参考に書く。侍とカタストルが戦闘する時の処理は…シラネ レッド・デーモンズ・ドラゴン 5大ドラゴン第一弾。まず、battle_run3で守備を攻撃した時チェーンを発生させる。 本体はusekoka5ではなくusekoka21。EP効果もここに書くので$phaseで場合わけ。 第一の効果は$jokenst= $fld_ad[$res_si]==1 でサーチして破壊するだけ。 第二の効果だが、攻撃したかどうかをどうやって記録しているのかわからない。ので、 レイレイなどを参考にduellibでfld_kokaにattack_$turnを追加するのはどうだろう。 これで問題がないようならば、usekoka21でattack_$turnのないモンスターだけ破壊すればよい。 ☆スターダスト・ドラゴン 5大ドラゴン第二弾。けっこう難しい。まず発動条件が、今までにない広範囲な条件。 だが、我が身を盾に・王家の呪い・竜の騎士を合わせる事でほぼカバーできる。 trapの誘発即時効果・magicのss2に数字を追加、本体はusekoka2。 $cont_flg内でならず者を参考にリリース処理。 また、go_botiで、リリースされた場合のみ revival_megを呼ぶ。 無効化&破壊効果は、我が身を盾にを参考にする。 最後にend_phaseの#墓地で発動する効果に番号を加え、 usekoka5のヴァンパイア・ロードのところにも番号を加える。任意効果の処理もする。 ゴヨウ・ガーディアン いかにも面倒そうなこのカード。しかし、同じ効果のジャッカルの霊騎士がすでに実装されている。 ただただ、只氏を称えるばかりである。 メンタルスフィア・デーモン 一番目の効果は守護天使ジャンヌと同じなので問題ない。 二番目は、ツタン仮面が参考になる。 スターダスト・ドラゴンが実装済みなら、同じ作業をして誘発即時チェーンを作る。 本体はusekoka2。ライフコスト以外はツタン仮面のコピーでおk ライトエンド・ドラゴン usekoka6に、適当なモンスターを参考にして書く。@tmpをうまく利用して値を渡す。 厄介なのは、相手ターンにも使える点。battle_runの#攻撃対象側に追加し、 usekoka6は自分ターンと相手ターンの2パターン用意する。 ダークエンド・ドラゴン ライトエンド・ドラゴンの実装に成功していればさほど難しくはない。 墓地に送る、は go_boti_arr(4,1);でたぶんおk ターボ・ウォリアー koka==6ではないので、battle_runのc_koka[$b_mst[0]]==6の後に番号追加。 起動部はusekoka6に書く。ここで戦闘相手がLV6以上のシンクロかチェック、チェーン発生。 発動部はusekoka5。適当なfld_kokaを作り、銀幕の鏡壁を参考に半減処理。 第二の効果は、trapのsub not_taisyoに追加記入する。 ブラック・ローズ・ドラゴン 5大ドラゴン第三弾。難しくはないが、初等カード実装の全てが詰まったようなカード。 第一の効果は、シンクロ召喚からチェーンを発生させ、最終戦争を参考にusekoka5。 第二の効果はusekoka4。ダークアームドを参考に2枚選択させコスト除外。 その後は守備封じとコアラッコを合わせればよい。 最後に、我が身や偽物の罠のチェックに数字を追加する。 ☆くず鉄のかかし クレボンスが実装済みであれば、それを参考に無効化処理を書く。 伏せ処理が難しい。砂塵の大竜巻を参考にするが、 duellibを見ると、put_fieldはフィールドからフィールドへの伏せを禁止しているのがわかる。 よって、その部分を書き換える。 ニトロ・ウォリアー duellibの#モンスター効果による2回攻撃に番号を追加する。 また、タイラント・ドラゴンを参考に2回目は表守備しか攻撃できないようにする。 battle_runの#巻き戻し時にも発動する効果に番号を追加。 usekoka5に効果を記述。ターボ・シンクロンが実装済みなら、それを参考にする。 第一の効果に関しては、$hkを一つ使用し、魔法使用時に1を代入、 エンドフェイズ及びバトルフェイズで効果を使用したときに="";に戻すのがいいだろう。 ヘル・ブランブル 参考になるカードが魔力の枷しかない。まず、kokに番号を追加する。 duellib2にkase_chkをまねてbramble_chkなどを作る。 本体はkoka2のmaryokuにある。ここで、植物族以外の時にコストを払うようにする。 あとは、 maryoku(16)を探してそこに maryoku(数字)を追加するだけなのだが… 検索してみると、数が多い( A`)なんか楽な方法ないんでしょうか。 ☆サイコ・コマンダー 似たカードがないため難しい。 まずは、スターダスト・ドラゴン同様、trapの自分・相手ターンの誘発即時に番号追加。 duelのダメージステップに発動可に番号追加。 本体はusekoka2。払うライフの選択はカードガンナーあたりを参考にする。 chain[-1]を解析して対象モンスターを調べ、あとは冥王の咆哮が参考になる。 ☆トラゴエディア テキストを見るだけで実装する気が失せるこのカード。効果四つって… 第一の効果は、ゴーズをひたすらコピー。0003は効果ダメージを意味するので省く。 第二の効果はムカムカを真似して余裕でした。 起動効果は、まずどちらの効果かと対象カードを一気に選択してもらう。 第三の効果は強制転移などを参考に。 第四の効果はコピー・プラントが実装済みなら参考にする。 ☆E・HERO プリズマー 花見管理人さんが苦戦したこのカードに挑戦。 まず融合モンスターと素材を同時に選んでもらい、呪印生物を参考に、合っているかチェック。 その後素材を墓地に送るが、カード番号を$F{ options }に格納しておく。ここまでコスト。 あとは、適当なfld_kokaを作ればいい。 同名効果は、ファンカスよりはアナザー・ネオスが参考になる。 ダーク・シムルグ 二つの起動効果と二つの永続効果を持つ面倒極まりないカード。 第一の効果は、光と闇の竜を参考にduellib2をいじる。 第二の効果は、カオス・ソーサラーを参考にするが、 c_kokaが3なので、usekoka3に、いくつかの変数を変えつつ書く。 第三の効果がやや難しい。馬頭鬼を参考に右側にボタンを作り、usekoka5を呼ぶ。 手札からの除外は闇の誘惑、自身を蘇生はサクリファイス・ロータスで。 第四の効果は、kokに番号を追加し、サーチライトメンの$hk[60+$s_d]を追う。 ☆手錠龍 ひさびさにてこずらされた。まず第一の効果だが、 go_botiの処理の段階では攻撃したモンスターがわからないようなので、 damege_stepの段階でhkなどに、攻撃モンスターのフィールド番号を保存しておく。 この値を参照してgo_botiからusekoka5を呼ぶ。ここはギルファーデーモンが参考になる。 第二の効果だが、今度はduellibで、装備カードが墓地に送られる寸前にhkなどにフラグを立てておく。 このフラグを見て、go_botiからまたusekoka5を呼ぶ。今度は黄泉ガエルなどが参考になる。 アルカナフォースシリーズ 共通の召喚誘発効果とそれぞれの効果が競合してしまうのが一番の問題。 ライトルーラーを参考に、召喚時とそれ以外の効果発動時をチェーン発動時のpara渡しで識別し ブロック分け、または同じブロックの中に丸ごと3パターン入れるか。 この時の書式をある程度統一した方が、アルカナコールの時にやり易いかもしれない。 召喚時の正位置・逆位置判定に使用するfld_kokaの名前を統一しておくと、逆転する運命をfor文2つで作れるので楽。 エンペラーのような永続効果については、永続効果番号のみで作ろうとすると正位置逆位置を判別できないので、 該当の箇所に「○位置のfld_kokaを持ったcardnoXXXXがいる時~」という風にする。同キャラが複数いる場合にも対応できるようにする。 eizoku_syoriのパラメータ渡し、発動時の「fld_koka何持ってるか?」のチェックを丁寧にやっていけば、単体でさほど難しい効果のものはないので安心。 お得なテクニック エディタにもよるが、Grep検索ウマー サクラエディタにはタブ機能があった! え?常識? テクニックっていうか、usekokaファイルが多すぎるのでざっとまとめ。 どこかに記述があるのかもしれないが未だ発見できず 1→#条件召喚モンスターと召喚用魔法 3→#チェーンに乗らない効果 4→#1ターンに1度だけ 5→#任意発動効果 51→#生け贄召喚成功時(51)#手札から特殊召喚する誘発効果(55) 5m→魔法 6→#戦闘開始に条件 7→リバース? 12→#戦闘ダメージを与えた時に誘発する効果(12)#直接攻撃に成功した時に誘発する効果(42)#相手モンスターを戦闘破壊した時に誘発する効果(43) 15→#任意発動効果 16→#召喚・反転召喚成功時の誘発効果(9)#召喚成功時の誘発効果(16)#特殊召喚成功時の強制効果(33)#特殊召喚成功時の任意効果(37)#召喚・特殊召喚の任意効果(52)#召喚・反転召喚・特殊召喚の誘発効果(53) 21→#スタンバイフェイズ発動(21,22,23)#エンドフェイズ発動(25,26) 35→#戦闘で破壊して墓地に送る(35) s6→スピリット まったりCGI共通のバグとその対策 (新カード以外でバグを見つけたらここに書いてください。) 忍法 変化の術ですが、変化した後のモンスターが場を離れた後に同じ場所にモンスターが置かれると、そのモンスターと関連付けがなされてしまうようです 暗「闇」を吸い込むマジック・ミラーの名前が暗「黒」を吸い込むマジック・ミラーになってるみたい。ヒナと砂糖と花見で確認したから多分まったり時代から wikiには墓地にアンデット族モンスターがいないばあい、ゾンビマスターの効果は使えないって書いてるけどcgiじゃ使える様子 相手の場にカイクウがいるときにデビル・コメディアンが発動できてしまいました。 ◇相手の場に「霊滅術師カイクウ」が存在する場合は発動できません。 とエキスパにかかれていました ダンディライオンが異次元からの埋葬で除外ゾーンから墓地に戻ったときにダンディの効果が発動してしまいました。 異次元からの埋葬の記述が墓地に送るじゃなくて戻るなので発動しないというのが正式な裁定です>< →修正箇所はgo_boti2.plのsub arr_to_boti_subです。 if($c_koka[$cardno]==10 || ($c_koka[$cardno]==49 $in_proc.$ijigen eq is_chain)){ if($cardno==2655 !$exist[0]{1758}){}#ホーリー・ジェラル else{push(@chain2,"$tsno-5-$cardno-");} } ここをこんな感じにするとなおります。 if($c_koka[$cardno]==10 || ($c_koka[$cardno]==49 !$in_proc is_chain)){ if($cardno==2655 !$exist[0]{1758}){}#ホーリー・ジェラル elsif(!$ijigen){push(@chain2,"$tsno-5-$cardno-");} } 相手の場にキングドラグーンがいるのにブレイズキャノンでドラゴン族を対象指定できてしまい そのまま破壊できました。 →ブレイズキャノン(とトライデント)は発動部の$seast= 999901 を$seast= 991901 にすればOK 「おジャマ・ナイト」「E-HERO マリシャス・デビル」「E-HERO ダーク・ガイア」「超合魔獣ラプテノス」「レインボー・ネオス」にこのバグがあるので注意してください。 修正方法は、上記の各カードの融合判定部に以下のような判定を追加してください。 <修正方法> my $res=$res_s2[$_]; ↓ my $res=$res_s2[$_];last if $res =400; アーマード・サイバーンのカード番号を@omoteuseに追加しないと効果が使えないっぽい 連続攻撃モンスターAで攻撃後効果発動、そのままターンエンドし次のターン他のモンスターBで攻撃するとAが攻撃済みになる <修正方法> エンドフェイズに$atk_fno= ;を追加する 年が変わると入室状況がバグる件 問題は大きくわけて二つ。一つ目は、get_minで年の計算を入れていないため、12/31の方が1/1よりminが大きくなってしまう。 解決するためには、$tmp+=substr($dat,9,2)*60*24*365;を追加する。 二つ目は、部屋表示で$t_dateを直に比べているところにある。$t_dateは"月日時分年"となっているため、12/31の方が(ry taisen.cgiでの$t_date比較の際はまず9・10・11文字目を比較し、ここが異なる場合は例外処理を入れるようにする。 get_timefileでも同様の処理をする。これらの修正により、理論的には2099年までもつ。 一方ソ連はログをリセットした。 花見の掲示板で情報交換っていうのはとりあえずなし? -- 名無し (2008-03-05 11 24 16) なんつーか、こっちは「無いから一応入れ物だけ作っておくよ」程度なので、 花見の方が便利ならそっちに任せるのもアリです。 ってかごめん全く空気読まずにページ作った。今では反省している -- スイカ (2008-03-05 13 55 13) いい感じに充実してる・・・ -- スイカ (2008-03-07 22 19 14) 充実してるように見えるだろ・・?編集してるの一人だけなんだぜ・・ 花屋さんとか、新カード実装できたらコツだけでも載せてほしいなぁ -- 名無し (2008-03-08 00 39 39) コツというか、他のカードのを参考にするのが1番手っ取り早くて簡単ですぜ 俺も大抵はそうしてる -- 花屋 (2008-03-08 12 13 11) 花屋さんここ見てたのか~その参考にしたカードを書いてもらえれば、後世の役に立つと思うのですが。気が向かなければいいです -- 名無し (2008-03-08 12 42 06) あとライラだが、わざわざドリームピエロみたいに表示形式が変更した場合に破壊効果を発動するんじゃなくて破壊効果発動→表示形式変更&表示形式変更不可の処理をusekoka4.plで同時にやればいいんじゃないか? -- 編集@2 (2008-03-21 18 05 36) 確かにテキストにこだわりすぎたかもしれません。そちらの方法でうまくいくようなら書き換えてください -- 編集人1 (2008-03-25 12 43 49) リアル多忙につき、ここの編集を下りさせていただきます。より充実した内容になっていく事を願います -- 編集人1 (2008-04-19 12 52 56) 乙でした。 -- 名無しさん (2008-04-20 15 48 55) 誰だかわからないけど更新乙 -- 名無しさん (2008-08-15 13 28 15) 夏の間だけ戻ってきてます。 -- 編集人1 (2008-08-19 13 03 06) 誰か知らないけど更新乙。アルカナ実装時に参考になりそう。 -- 編集人1 (2008-12-05 19 16 34) 名前 コメント
https://w.atwiki.jp/shells/pages/30.html
CGI 読み方 : シージーアイ フルスペル : Common Gateway Interface Webサーバが、Webブラウザからの要求に応じて、プログラムを起動するための仕組み。 従来、Webサーバは蓄積してある文書をただ送出するだけであったが、CGIを使うことによって、 プログラムの処理結果に基づいて動的に文書を生成し、送出することができるようになった。 現在ではほとんどのWebサーバソフトがCGIに対応している。 CGIはどのような開発言語でも使用できるが、実際にはPerlなどがよく使われる傾向にある。 CGIに類似した技術にはSSIやASPなどがある。 IT用語辞典 戻る
https://w.atwiki.jp/perlism/pages/22.html
CGI 【読み】しぃじぃあい 【属性】ウェブの仕組み 【略】Common Gateway Interface 現在では、掲示板やチャット、日記などの動的コンテンツを設置する仕組みのこと。 初心者は、CGI = Perlみたいな風に思っている人も多いが、そもそもどの入門書を見てもCGI/Perlであって、CGI=Perlとは書かれていない。 一般的には、PerlとPHPが多いが、実はCやRuby、Pythonなど、いろいろな言語を使うことが出来る。
https://w.atwiki.jp/programming_note/pages/26.html
CGIを書く = XX.cgi という実行すると html ファイルが出力されるスクリプトを書く事 print html print body
https://w.atwiki.jp/aru_notebook/pages/12.html
ノウハウ IIS6.0でcgiを動かす場合の注意点 CGI検索 夢幻 http //www.yumemaboroshi.net/