- 【elona】Elona Plus Lv13【ヴァリアント】 [無断転載禁止]©2ch.net
166 :名無しさん@お腹いっぱい。[sage]:2016/04/12(火) 08:20:29.74 ID:EGglUxKt - 川崎部が出しているゲームも糞つまんなかった
銃撃RPGとかいいながら操作系は左手ポップンミュージック右手ハエ叩き エンカウントにクリック必要、雑魚倒しても意味がない、ボス倒しても何が手に入ったのかわからない オープニング見ても主人公&師匠キャラ以外は誰が誰やら状態なのにそんな状態で各キャラのエピソードを手動で見ろという苦行 まああれだけ糞キャラ連発なら糞キャラてんこもりのPlusも楽しめるんだなと思った
|
- 【elona】Elona Plus Lv13【ヴァリアント】 [無断転載禁止]©2ch.net
172 :名無しさん@お腹いっぱい。[sage]:2016/04/12(火) 13:32:30.57 ID:EGglUxKt - まず前提条件として、プログラムは短く書くのが鉄則
報告書やレポートに目を通すことを想像してほしいんだけど、短い方がすぐ読み終って書き間違いも減る 同様にプログラムでも短く書く方が処理が早く、書き間違いもエラーも減る 1行でできる処理を60行に増やす→1行で済ませられる内容の業務報告を60行に水増しして書く。なお内容は同じ クイズ関数を35個(=問題数)作る→「クイズマニュアル」を1つ作ればいいところを 「問題1のクイズマニュアル」「問題2のクイズマニュアル」…「問題35のマニュアル」と問題数と同じ数のマニュアル35冊積み上げている状態 後者のクイズマニュアル×35冊の内容は出題される問題文が違うだけでクイズの出し方手順は同じ また、前者であれば問題数が1000問になってもクイズマニュアル1つですむが、 後者の場合1000問出すにはクイズマニュアルが1000冊必要になる。
|
- 【elona】Elona Plus Lv13【ヴァリアント】 [無断転載禁止]©2ch.net
174 :名無しさん@お腹いっぱい。[sage]:2016/04/12(火) 13:47:06.49 ID:EGglUxKt - gosubで飛んできたのをgotoで返す→
例えるとgosub〜returnは往復券、gotoは片道切符。 例えば新宿の会社にいる社員に「ちょっと浅草の支社にいって○○を済ませて帰ってきてくれ」と命令するときに使うのがgosub 「gosub 浅草支社」を貰った社員は浅草支社に飛ぶ。で、仕事が終わったら「return」を渡す。 gosub〜returnは往復なので、returnを貰った社員はgosubを渡された場所、すなわち新宿の会社に帰る。 問題のgotoは先ほどの社員が浅草支社で仕事をしているときに「君池袋事務所に行って。その後のことは向こうで聞いて」といわれた状態。 gotoは問答無用で指定された行き先に飛ばすので、社員は池袋事務所に飛ばされる。で、池袋事務所でいわれたとおりに仕事する。 ところがgotoは片道切符、戻り先はかかれていないのでこの社員はいつまでたっても新宿の会社に戻れない。 また、社員のポケットには「gosub 浅草支社」の切符が入りっぱなしになっている。 この状態でgosubを使うとさらに「gosub ○○」の切符が突っ込まれる。たくさんgosubが使われてreturnが使われないとポケットが破裂してエラーが起こる。 これがVer1.42fixで直されたコールファミリア等の使いすぎで落ちていた原因。 ttp://jbbs.shitaraba.net/bbs/read_archive.cgi/game/45610/1419778534/193 >◆Plus1.42fix(修正版) 2015.2.21 >* ターンを消費しない系の技能の繰り返しで > サブルーチンのネストレベルが貯まっていかないように(HSPエラー29防止)。 他にもgotoとgosubを混ぜて使ったときに起きる不具合はいろいろあるけど長くなるので省略。 基本的にgotoはgosub〜returnと関数があればだいたいことたりるので使わないのが鉄則。使うにしても必要最小限に。
|
- 【elona】Elona Plus Lv13【ヴァリアント】 [無断転載禁止]©2ch.net
180 :名無しさん@お腹いっぱい。[sage]:2016/04/12(火) 22:45:41.93 ID:EGglUxKt - このネストバグのときに>>46のお犬様が頭悪い論文発言したんだっけな
一応追記しておくと、gosubネストがあふれているエラーが発生した時点で「gosub〜return内でgotoを使っていないか」は即座に疑うべき原因の1つ 「追加した技能でのみネストあふれが起こる」条件と合わせて追加技能のサブルーチン確認したら速攻でgoto飛ばしが見つかりました(所要時間5分)マジAho犬 このバグは何度も呼び出さないとエラーが発生せずメモリだけ消費していくので見つかりづらい これコールファミリア実装時から残っていたバグだろうから、4年ぐらい潜伏していたことになる 見つかりづらくて危ないから「gotoは基本使わないこと」とまともにプログラム学んでいれば叩き込まれるものだが、 最初はreturnがよくわかっていなかったからgotoで飛ばして戻した&技能作るたびにコピペしたことで増殖していったと思われる。マジAho犬
|