HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1018
南山太郎ddim配列にできるだけ大きな数を入力したいのですが、3解決


南山太郎

リンク

2020/10/18(Sun) 22:09:28|NO.91651

某有名日本生まれのパズルゲーム(倉○番という名前は商標登録されているため使えないそう
です。)を解くプログラムに使うゾブリストハッシュの種を作成したいのですが、以下のやり
方だとエラー31が出ます。何かうまい方法はないでしょうか?


ddim HashSeed, 10, 32*16 HashSeedMake goto *main #deffunc HashSeedMake local x, local y, local z, local position for z,2,11,1 for y,1,15,1 for x,1,15,1 position = x + (y << 5) HashSeed(z,position) = rnd(32768) * rnd(32768) next next next return *main



この記事に返信する


南山太郎

リンク

2020/10/18(Sun) 22:16:33|NO.91652

箱をゴールに押し込むのではなく、ゴールから箱を引っ張り出して箱のあった場所へ移すという
やり方でC#で作った物はうまくいきました。それをHSP3に移植しようとしているのですが、構
造体は使えない・自己流で作ったオープンアドレスハッシュ法はうまくいかない。と四苦八苦し
ています。サイト上を必死に検索して色々調べてみたのですが、分かりません。



MillkeyStars

リンク

2020/10/18(Sun) 23:09:39|NO.91654

単純に、double 型配列をint 型配列に暗黙的変換しようとして失敗しているだけかと。
明示的変換で、関数rnd の返値を double に変換してから変数に代入しましょう。
(配列変数の暗黙的変換は許されていません。)

HashSeed(z,position) = double(rnd(32768)) * double(rnd(32768))



南山太郎

リンク

2020/10/18(Sun) 23:43:03|NO.91656

うまくいきました。ありがとうございました!



ONION software Copyright 1997-2023(c) All rights reserved.