棚からパルチャギ

日々の雑記、ニュース拾いとか

2005. 02. 28

何故か忘れられない裏技
ドラクエ4のカジノのコイン838861枚が4ゴールドで買える理由。おお、確かに。
115 名前: * 投稿日:2001/05/11(金) 01:03 ID:CdtBrQ6Q
>>112
ファミコンの都合じゃなく、DQ4のソフトの都合上
掛け算のルーチンの結果は24bitのバッファ(≒変数)に格納される。
この場合、正しく演算が終了できる上限は、2^24 = 16777216 となる。
一方、カジノでコインを838861枚買ったとき、同ルーチンで 20[G] * 838861[枚]の計算が行われる。

    20 * 838861 = 16777220

つまり、限界値である 16777216 を 4 オーバーしてしまうのだ。
これが真相。つまり、掛け算のオーバーフローチェックが行われていなかったのが原因。
そういえば
Ajax関連でblogを巡回していたら「XmlHttpRequest()で他のサイトにアクセスできる」ように書かれているところが幾つかありましたが、 それはクロスドメインスクリプティングなので不可能です。 クライアントがセキュリティの設定を変更しない限り、同一ドメイン内のリソースにしかアクセスできないので、 たとえば他サイトのRSSを直接取得して表示させるようなことはできません。 名称は新しくても、技術的にはこれまでと同じものを使っているわけですし。
Ajaxっぽく、はてなアンテナをインポート
なんとなくXmlHttpRequestで遊んでみたかったので、トップページにはてなアンテナをインポート。 アンテナのRSSを取得するCGI(hgateway.cgi)とJavaScript(hantenna.js)を用意して、 サイドバーに表示させてみました。取得したRSSはXMLオブジェクトとしてDOMで最新n件を抜き出してます。

あとは javascript:hantenna(); をコールすることで、アンテナ情報のみ更新されます。 ただし、アンテナってそんなに頻繁に情報が変わるわけではないので実用性はあまり無い罠…orz。 普通の個人サイトだとなかなか面白い使い方が見つからないです。