ディアブロIII あるある自分もやった(草

指輪でエンシェント装備の数だけ、攻撃力めっちゃアップする指輪セットがあるのです。試しに装備したらどんだけ強くなるんかなーワクワクと目をキラキラさせながら試してみたのですよ。

全然強くねーじゃんゴミが!!!

とすぐ元の装備に戻したのですよ。
それもそのはず。
エンシェントセットの効果が発動している場合、
指輪の効果は無くなるのですwww

指輪の説明よく嫁>自分

くっそwwwwww
鍛冶屋の溶鉱炉に叩き込んでくれるわッ!!!
このゴミ指輪がああああああ!!!(逆ギレw

副作用と評価順序

スマホからは書きにくくて挫折しましたwww
コードを書くとかムリすぎるwww
帰宅して気力があったら書きます。たぶん。

こんなプログラムを見た。

(define (read-data)
  (let ((a (read-line))
        (b (read-line))
        (c (read-line)))
    `(,a ,b ,c)))

って自分が書いたダメプログラムですがw
何がいけないかを解説します。

(read-line) は呼び出した毎に標準入力からデータを拾うので毎回戻り値が変化します。副作用を伴う処理です。
そして、Scheme の言語仕様として、let の評価順は未規定です*1

つまり、このプログラムにテキストファイルを読み込ませたとき、
a には 1行目のデータが入る場合も有り得ますし、
a には 2行目のデータが入る場合も有り得ますし、
a には 3行目のデータが入る場合も有り得るのです。
なんじゃそりゃ!と思うかも知れませんが、
未規定ということはつまりそういうことなのです。
常に一定になるとは限らないのです。

これではプログラムの意図と反しますよね。
つまりバグを引き起こす恐れがある書き方である*2、ということです。

では、どのように書くのが正解でしょうか。
答えは let* を使います。let* は記述の順番で評価されていきます。
普通の使い方としては、

(define (hoge)
  (let* ((a (+ 2 1))
         (b (+ a 4))
         (c (+ a b)))
    `(,a ,b ,c)))

このように、後の評価式で前の評価結果を使いたい場合に使います。
これは let を入れ子で書けば解決するのですが、ソースがとても汚くなるので
let* で同じ事が書けますよってことなのです。

つまり、元のプログラムでは

(define (read-data)
  (let* ((a (read-line))
         (b (read-line))
         (c (read-line)))
    `(,a ,b ,c)))

のように、 let* を使うことによって、
変数 a の束縛が最初に行われ、次に b、最後に c という順序で変数の束縛が行われます。
let* は let と違い、評価順序が明確に決まっているわけです。

これにより、入力データの 1 行目は必ず変数 a に束縛され、
2 行目は変数 b に、3 行目は変数 c に必ず束縛されることが保証される、というわけです。


本日のポイント:
副作用を伴う処理を使用するときは、評価順序に注意しましょう。

*1:Scheme 処理系の都合によって評価順序が変化する場合があります。うっかり忘れていましたがw

*2:バグったり直ったり、最凶最悪の部類のバグになり得ますw

DOA6 そのg(ry

ついに設計図が出なくなったw

面倒なので全部確認してないけど、全キャラクターの全衣装が開放されたようだ*1

我々は勝利した!!

 

 

しかし今度は、

 

オーナーポイントが全然足りないッw

 

ふざけんなああああ。

何が何でも課金させる気かよ。

新○はもげろ!

 

なんなのもう。

DOAユーザーに何か恨みでもあるの?

どうしてそんなに苦行を強いるの?

 

こんなんじゃユーザーが離れていくだけだよ。

実際に Steam 版は返金されまくってるんでしょ?www

アマゾンのレビューも点数低いしw

いやもう皆さんの★1つレビューに頷きっぱなしですよw

そうそう、その通り!!! まったく同意するね!

開発陣はこれ読んで反省しなさい!

 

でも、かすみの衣装は揃ったからいいやw

課金なんて嫌なこった。

DOA6の開発陣が、反省してゴメンナサイするまで

金なんて一銭たりとも払わねーから。

 

*1:女天狗は除く。キャラが開放されていないので設計図は出ない。

DOA6 その後のその後のその後w

夜な夜な「全自動かすみちゃん(草」が頑張っていますが、瑠璃光(かすみのデフォ衣装)はまだ解放されません!w

あとムカつく点を列挙してみるw

・設計図は100倍だろうが苦行。

そもそも設計図とかいらん。

・勝利ポーズが一種類しかない。

手抜きにもほどがある。

・対戦中のかすみの目のハイライトが無い。

こんなもんテストですぐ見つかりそうなもんだが。
発売延期までしたのに何やってたのか。

・◯リーの顔面パンチができない。
・◯のかの顔面パンチがd(ry
・◯コの顔面p(ry

規制とかクソ食らえだ!
一番フルボッコにしたいキャラに顔面パンチができない。

マ◯ー:かすみの前をうろちょろして邪魔!
ほ◯か:でかけりゃ良いってもんじゃない。牛みたいでキモい!
ニ◯:とにかく構え(特に手)がイラッとする!

一応名前は伏せたw

・バイマン

新◯に似ててイラッとする。
フィルターかけたw


こんなもんかな。

DOA6 その後のその後

「全自動かすみちゃん(草」で一日中サバイバルのルーキーで設計図稼ぎをやっていますw それでもなかなか目当ての衣装はアンロックできない。100倍でもきつい。
RAPのボタン押さなくても連射機能になるモードがあるので、それでやってます。

んで、読まなきゃいいのに腹立つだけだからと思うのですが、新○というP兼Dのインタビューを読んだのですよw

ゲームエンジンが変わっているので、過去作の衣装でも1から作り直しなんです。同じ1から作るなら完全新規の方がいいのかなとか、でもお気に入りの衣装っていうのもあると思うので難しいところですね。歴代のかすみのメインである青の忍装束、あれですら最初は無くそうと考えていたんです。

・・・・・。
アンケートハガキに「新○、はげろ!」って書いて送ってやるよw
DL版はどっかでアンケできんのかな?

まあ、この○堀ってP兼Dですから、相当エライ人なわけですよねw
開発メンバーのみなさんは面と向ってなかなか言えないでしょうけど

P兼D「歴代のかすみのメインである青の忍装束、これは無くします!」

開発メンバーAさんの心の声「こいつバカだろ・・・」
開発メンバーBさんの心の声「何言ってんだコイツ・・・」
開発メンバーCさんの心の声「はあああああ???????」

って思ったと思うよ。きっと。
開発者の人にもファンは居るはず。きっと居ると信じてる。

アートディレクター「あれを無くしたら『DOA』を作る意味がない」

さすがアートディレクターさん!よくぞ言ってくださった!
アートディレクターさんだけが心の支えです!!!


もうさ、

「過去作の衣装でも1から作り直し」⇨「やーめた」

になんでなるんだよ。ドアホ!

「過去作の衣装でも1から作り直し」⇨「誠心誠意込めて衣装を制作します!」

これが唯一の正解じゃね?
と思うんだけどね。


歴代のデフォルト衣装無くしたら設計図炎上どころの騒ぎじゃないだろwww
暴動が起きるレベルだwwwwwwwwww

もしそうなってたら、
「歴代のかすみのメインである青の忍装束が表示されないバグが・・・」
とか言い出すのかな?wwwwwwwwwwwwwwwwww


デフォルト衣装を用意しておいて良かったねぇwww
まあ、設計図集めの苦行を乗り越えないと着用できないんだがなッ!