HSP - Hot Soup Processor [10]
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/06/19(日) 14:56:05ID:vP/TtBn6.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-8 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
0764名前は開発中のものです。
2005/10/16(日) 17:49:50ID:Ajs0EmzA再現性のあるものでおながいします。
そもそも、そこはgetstrじゃなくてpeekを使うべきでは。
0765名前は開発中のものです。
2005/10/16(日) 21:23:44ID:R0YfCHl/>>764
peek (p1,p2)[バッファから1byte読み出し]
p1=変数 : 内容を読み出す元の変数名
p2=0〜 : バッファのインデックス(Byte単位)
peekってこれですよね?
ttp://www.kcn.ne.jp/~hidetetu/neko/game/game01.html
このサイトを参考にしていたのですがやはりpeekを使うのが正しいのかな・・・
試行錯誤してこの形に辿り着いたんだけど(´・ω・`)
0766名前は開発中のものです。
2005/10/16(日) 23:33:27ID:E0jdwT8Fstrmidでいいのでは
0767名前は開発中のものです。
2005/10/16(日) 23:58:40ID:RmKx3WPJずっとここで悩んでるんですよ。
命令概要を読んでも良く分からなくて・・・
strmidで取り出した数値は一体どこに入るのですか?(´・ω・`)
あと、
MW = 20
MH = 15
sdim MK_X,MW,MH;MK_Xの最大値 MW を MH 個用意する
MK_X(0) = "00000000000000000000"
MK_X(1) = "00000000000000000000"
中略
MK_X(14)= "00000000000000000000"
MS_Y = 0
repeat MW
MS_X = 0
repeat MH
strmid (MK_X(MS_Y),MS_X,1)
MS_X++
loop
MS_Y++
loop
という書き方だと「strmidのパラメーター式の記述が無効です」となるのですが
MK_X(MS_Y)←に変数は使えないのですかね?(´・ω・`)
0768名前は開発中のものです。
2005/10/17(月) 00:10:33ID:IMUkIT9rstrmid (MK_X(MS_Y),MS_X,1) の代わりに
getstr MN_X,MK_X(MS_Y),MS_X
gsel 4,1;下層の構築
pos MS_X*16,MS_Y*16
gcopy 3,(MN_X*16),(MN_Y*M16),16,16
と入れるとgcopyで「サポートされない機能が使われました」とエラーでつ(´・ω・`)
もう頭おかしくなりそうだ(´・ω・`)
0769名前は開発中のものです。
2005/10/17(月) 00:16:48ID:crlMl/tjん?HSP3は使ってないからよく知らんが、取り出した値を格納する変数が
指定してないね。とりあえず、まああれだ。
マ ニ ュ ア ル 嫁
0770768
2005/10/17(月) 00:32:55ID:IMUkIT9rまさか普通に 変数 = strmid(,,) と書くだなんて思わなかった・・・orz
でもやっぱりgcopyでエラーが出る・・・(´・ω・`)
0772名前は開発中のものです。
2005/10/17(月) 02:59:40ID:1iY2Tinw0773名前は開発中のものです。
2005/10/17(月) 14:15:22ID:r59cxpXY藻前いいやつだな
0774名前は開発中のものです。
2005/10/17(月) 22:37:00ID:o7INS0mS>>701の問題は全部解決してるんやね。
直接描画命令もできるようになってるし
サンプルをちょっと弄ってみたらポリゴンの前に
2次元画像も楽に配置できた。
新機能云々よりも駄目仕様の多くが改善されている。
昔、hgimg勉強して痛い思いしたけど
(hgimgxで背景が黒くなって1週間悩んだり、2次元スプライトがポリゴンの後ろで…)
もう一回チャレンジしてみようかな…
ZGPの再チャレンジとどっちにするか迷うところ
hgimg3使ってる人って皆無?
zgp経験者でhgimg3に乗り換えるひとなんて、まず居ないか
0775名前は開発中のものです。
2005/10/17(月) 23:49:40ID:9Nd8ntwkもしdouble演算も出来ないし演算子の優先順位もないHSP261だったら、
もう使うのやめたほうがいいよ。
今思えば、なんで今まで普通に使ってたんだ俺、って感じだ。
0776名前は開発中のものです。
2005/10/18(火) 00:04:25ID:TCllKnEv命令の豊富さならZGPなんやが…
0777名前は開発中のものです。
2005/10/18(火) 00:30:06ID:0Nbx52Qzコンテストの感想コメント読んでて脳裏にある言葉がよぎった
…ほめ殺し
0778名前は開発中のものです。
2005/10/18(火) 00:32:58ID:itljphAF変えられる。が3のエディタ俺は使ってない。
正直、footyよりも旧エディタのEDITコントロールのほうがまだ使いやすい
0779名前は開発中のものです。
2005/10/18(火) 03:09:22ID:0Nbx52Qz0780名前は開発中のものです。
2005/10/23(日) 23:24:51ID:YFkyDS/70781名前は開発中のものです。
2005/10/25(火) 14:28:30ID:7O5M6ypjまぁプレイするほどのモノがないというのは置いといて
0782名前は開発中のものです。
2005/10/25(火) 15:46:50ID:VaAqqliQ互換性が少ないようだから迷ってる
0783名前は開発中のものです。
2005/10/25(火) 16:26:20ID:/Cs2iyLt俺はもうバッファ自動確保が便利で便利で
0784名前は開発中のものです。
2005/10/25(火) 19:19:11ID:w9IdpzaO0785名前は開発中のものです。
2005/10/25(火) 19:24:18ID:vl3CXJup配列の要素に数式を使えるってのは嬉しいかも
0786名前は開発中のものです。
2005/10/25(火) 21:59:09ID:enY6CSyUプラグインが全然対応してないのが痛い
0787名前は開発中のものです。
2005/10/25(火) 23:03:34ID:w9IdpzaOプラグインが必要な場面自体が激減したと思うけどどうだろう。
srexhspの後継も、HSP3ではモジュールとして提供されるようだし。
ああ、新規のプログラムじゃなくて、過去にプラグインで作った
プログラムの移行が難しいという意味か。
0788名前は開発中のものです。
2005/10/25(火) 23:50:35ID:dFKFVAvK0789名前は開発中のものです。
2005/10/26(水) 06:25:51ID:isKGKaD00790786
2005/10/26(水) 06:27:00ID:ZTefgjOuああ、いや
新規っす
>srexhspの後継も、HSP3ではモジュールとして提供されるようだし。
それ待ちかなぁ
0791名前は開発中のものです。
2005/10/26(水) 22:22:33ID:ewy7w6hw>ウィンドウメッセージが取れる&COMが使えるようになって、
>プラグインが必要な場面自体が激減したと思うけどどうだろう。
そんな高度なこと言われてもなあ・・・
やっぱ人様が作ったプラグインでお気軽にプログラミングすることにするよ。
0792名前は開発中のものです。
2005/10/26(水) 23:38:28ID:oJotAOlC線分オブジェクトの選択ってどうやって処理してるんだろう…
大漁の斜線や円弧オブジェの線上にマウスカーソルがそれなりに近づいたら
選択できるようにするんだけど2、3個ならともかく大漁にあると大変で
取り敢えず
数ドット四方の矩形の当たり判定を数ドット間隔で線分に這うように(書くように)動かして
マウスカーソルの座標と比べようと思ってるんだけど
もっと良い方法ないもんやろか
0793名前は開発中のものです。
2005/10/26(水) 23:53:42ID:W/3aAzAp0794名前は開発中のものです。
2005/10/27(木) 12:50:09ID:J6OyJ0Vaゲームが始まってからどの位時間が経っているかをバックグラウンドでカウント
させたり、定期的に変数に値を加算させたりといった風に…。
gosubやgotoでこまめにジャンプしまくるしか無いのでしょうか。
0795名前は開発中のものです。
2005/10/27(木) 13:50:31ID:Pj7sE0qIもし変数に定期的に値を加算できなかったら、
普通のゲームだって動かない。
0796名前は開発中のものです。
2005/10/27(木) 15:29:15ID:F64NrgLyゲーム始めた時間を記録しておくだけでいいんじゃないの?
0797名前は開発中のものです。
2005/10/27(木) 22:04:03ID:cfQFNjTJ*mainloop ; -----------------
redraw 0
color 0,0,0 : boxf ; 黒の仮背景
; gosub *key_check ; キーの入力検出
; gosub *keisan ; 画像の位置とかその他もろもろ計算
; gosub *bg_draw ; 背景描画
; gosub *cha_draw ; キャラ描画
gold++ ; (gold=gold+1)
pos mousex,mousey-20
color 255,255,255 : mes "所持金: "+gold+" GOLD"
px+=2 ; (px=px+2)
px=px\100 ; (割り算の余り。px=100になればpxは0に)
if px=0 : py+=8
pos px,py : mes "進行中 px= "+px+" py= "+py
redraw 1
await 16
goto *mainloop ; -----------
0798名前は開発中のものです。
2005/10/28(金) 05:30:42ID:YZ5xVOoG0799792
2005/10/28(金) 06:21:35ID:Cv+xIn09アイデアthx
でも裏画面に太く描画するのは結構重そう…
裏画面に全オブジェクトの再描画をずらして3〜5回位して
太らす…と解釈してのことだけど
pgetの範囲の方を大きくしようかな
0800名前は開発中のものです。
2005/10/28(金) 11:42:49ID:kYc6I8bQ有難う御座います。参考にさせて頂きます。
>795
>796
進行時間のカウントや変数の計算に限らず、一連の行動(処理)をまとめてメインの処理
と独立させる様な制御方法みたいなのが無いだろうかと思いまして。
例えば、村人Aが一歩前進→何秒かウエイト→回れ右→一歩前進……みたいな事をやっている間に
村人Bが回れ左→ウエイト→一歩後退……みたいな事を同時進行で独立して行っているという風に。
ミリ秒単位で村人A→村人B→村人A……といった感じで切り替えまくるしか無いのだろうかと。
0801名前は開発中のものです。
2005/10/28(金) 14:38:42ID:D3COCET4これじゃダメかね?
murabito_MAX = 64
dim murabito_X ,murabito_MAX : dim murabito_Y ,murabito_MAX
dim murabito_info ,murabito_MAX : dim murabit_wait ,murabito_MAX
repeat murabito_MAX
murabito_X(cnt) = rnd(600)+16 : murabito_Y(cnt) = rnd(420)+16
murabito_info(cnt) = rnd(5) : murabit_wait_MAX(cnt)= (rnd(8)*32)+32
murabit_wait(cnt) = 0
loop
*main
redraw 2 : color 0,0,0 : boxf
repeat murabito_MAX
color 255,255,255 :pos murabito_X(cnt),murabito_Y(cnt) :mes "★"
color 255,0,0 : mes murabit_wait(cnt)
murabit_wait(cnt)++
if murabit_wait(cnt)>murabit_wait_MAX(cnt) {
murabit_wait(cnt) = 0 :murabito_info(cnt) = rnd(5)
}
if murabito_info(cnt) = 1 : murabito_X(cnt)++
if murabito_info(cnt) = 2 : murabito_X(cnt)--
if murabito_info(cnt) = 3 : murabito_Y(cnt)++
if murabito_info(cnt) = 5 : murabito_Y(cnt)--
if murabito_X(cnt)>640 : murabito_X(cnt)=640
if murabito_X(cnt)<0 : murabito_X(cnt)=0
if murabito_Y(cnt)>480 : murabito_Y(cnt)=480
if murabito_Y(cnt)<0 : murabito_Y(cnt)=0
loop : redraw 1 : await 32 :goto *main
0802名前は開発中のものです。
2005/10/28(金) 14:46:10ID:D3COCET4randomize
murabito_MAX = 64
dim murabito_X ,murabito_MAX : dim murabito_Y ,murabito_MAX
dim murabito_info ,murabito_MAX : dim murabit_wait ,murabito_MAX
repeat murabito_MAX
murabito_X(cnt) = rnd(600)+16 : murabito_Y(cnt) = rnd(420)+16
murabito_info(cnt) = rnd(5) : murabit_wait_MAX(cnt)= (rnd(8)*32)+32
murabit_wait(cnt) = 0
loop
*main
redraw 2 : color 0,0,0 : boxf
repeat murabito_MAX
color 255,255,255 :pos murabito_X(cnt),murabito_Y(cnt) :mes "★"
color 255,0,0 : mes murabit_wait(cnt)
murabit_wait(cnt)++
if murabit_wait(cnt)>murabit_wait_MAX(cnt) {
murabit_wait(cnt) = 0 :murabito_info(cnt) = rnd(5)
}
if murabito_info(cnt) = 1 : murabito_X(cnt)++
if murabito_info(cnt) = 2 : murabito_X(cnt)--
if murabito_info(cnt) = 3 : murabito_Y(cnt)++
if murabito_info(cnt) = 4 : murabito_Y(cnt)--
if murabito_X(cnt)>640 : murabito_X(cnt)=640
if murabito_X(cnt)<0 : murabito_X(cnt)=0
if murabito_Y(cnt)>480 : murabito_Y(cnt)=480
if murabito_Y(cnt)<0 : murabito_Y(cnt)=0
loop : redraw 1 : await 32 :goto *main
0803名前は開発中のものです。
2005/10/28(金) 22:24:40ID:jFAaMO+30804名前は開発中のものです。
2005/10/28(金) 22:57:06ID:yIPNkaam0805名前は滑J発中のものでbキ。
2005/10/29(土) 00:07:37ID:hwE81itg0806名前は開発中のものです。
2005/10/29(土) 00:25:46ID:3ExPrQn90807名前は開発中のものです。
2005/10/29(土) 02:12:05ID:BRk9onXE横レス
参考になった。
0808名前は開発中のものです。
2005/10/29(土) 12:36:12ID:YAWUKgWz参考になりました。
有難う御座います。
0809名前は開発中のものです。
2005/10/29(土) 21:50:30ID:ZhAWDGnA0810名前は開発中のものです。
2005/10/29(土) 21:57:23ID:mIcgse7s0811名前は開発中のものです。
2005/10/30(日) 00:16:20ID:OAawVZyeHSPとJAVAってどちらのほうがゲーム作りやすいの?
HSPは最近知ったからどういうのかよく分からん
0812名前は開発中のものです。
2005/10/30(日) 02:06:58ID:mC8tC8DW0813名前は開発中のものです。
2005/10/30(日) 05:09:19ID:73Ppjt+K一昔なんて抽象的な表現じゃなくて
どのくらいのスペックか書いたら
0814名前は開発中のものです。
2005/10/30(日) 10:17:50ID:Q+kGpREk0815名前は開発中のものです。
2005/10/30(日) 10:49:53ID:slbJVIpustop
って、やっても画像が無いって言われる
hspと同じフォルダに入れてるんだけど、どして?
0816名前は開発中のものです。
2005/10/30(日) 11:04:21ID:Dlc2OqIw0817名前は開発中のものです。
2005/10/30(日) 11:13:42ID:slbJVIpuよく分からん・・・
0818名前は開発中のものです。
2005/10/30(日) 11:33:40ID:0sx3L4zBキャラクターの色にRGBを加算したいんだけど
どうすればいいだろう?
0819名前は開発中のものです。
2005/10/30(日) 11:42:37ID:slbJVIpuあ〜出来ました
asファイルって、HSPのプログラムファイルだったのか
0820名前は開発中のものです。
2005/10/30(日) 13:25:20ID:73Ppjt+Kそんな骨董品じゃなんもできんわ
0821名前は開発中のものです。
2005/10/31(月) 11:51:03ID:U3OdAp6X0822名前は開発中のものです。
2005/10/31(月) 13:37:13ID:bzv+EtAo0823名前は開発中のものです。
2005/10/31(月) 14:06:35ID:0w4RyFlL0824名前は開発中のものです。
2005/10/31(月) 14:46:53ID:U3OdAp6X0825名前は開発中のものです。
2005/10/31(月) 15:59:40ID:1Fb/f1Un0826名前は開発中のものです。
2005/10/31(月) 16:16:06ID:OUhuNRLp漏れも初めてRPGの戦闘部分を作ったときは
こんなもんなのかと思ったもんだw
0827名前は開発中のものです。
2005/10/31(月) 16:37:33ID:sZHMrt6A0828名前は開発中のものです。
2005/10/31(月) 17:27:18ID:9MO1C3thそれ待つくらいなら2でやった方がいいのかな?
0829名前は開発中のものです。
2005/10/31(月) 21:52:12ID:qw13U/6X愛用しているプラグインが
ほとんど使えなくなったから2.6に戻したよ俺は。
プラグインを駆使したい人は2.6でやるしかないね。
0830名前は開発中のものです。
2005/11/01(火) 19:58:23ID:7jscd2/c0831名前は開発中のものです。
2005/11/01(火) 21:24:51ID:jKQD3lTx0832(*゚0゚;;) ◆T6Jkfyxt0.
2005/11/02(水) 12:57:10ID:Ku+dybGa0833名前は開発中のものです。
2005/11/02(水) 22:29:53ID:6sb/5Gea0834名前は開発中のものです。
2005/11/02(水) 23:48:11ID:Bk9uncvnif pad&64>0 : tsf=1
と
mxv=(bt&4!0)
の意味おしえて
0835名前は開発中のものです。
2005/11/03(木) 01:28:09ID:/tI6+GOU0836名前は開発中のものです。
2005/11/03(木) 02:02:22ID:aO4pMK1l下 btが奇数の時、mxv=1 それ以外 mxv=0
なんでそうなるかは知らん
0837名前は開発中のものです。
2005/11/03(木) 12:34:17ID:TFhlxDa5アホ
0838834
2005/11/03(木) 13:30:25ID:/VpDvlhG2進数で考えるのね
0839名前は開発中のものです。
2005/11/04(金) 05:16:50ID:712IIgCF上級者は良く使ってるな
0840名前は開発中のものです。
2005/11/04(金) 13:00:52ID:VlyzXrCO特にHSP講座でこれをやるMI(ry
0841名前は開発中のものです。
2005/11/04(金) 13:08:27ID:ASzUvGRX漏れの頭がパンクする
ってか現実問題として体感できるほど速度にそんな影響するもんかね?
ビットシフトやらなんやら駆使する人も居るけど
ベンチマークとして何千回も処理するならともかく
0842名前は開発中のものです。
2005/11/04(金) 13:56:11ID:VlyzXrCOm=0
repeat 32
m=m+(1<<cnt)
loop
i=i=0
s=0
*Tasizan
s+=i^m+1
i=i+1
t=i<=10
if t : goto *Tasizan
mes s
stop
0843名前は開発中のものです。
2005/11/04(金) 19:15:59ID:PFpWBHzHだから上級者のコードは分かりにくい
0844名前は開発中のものです。
2005/11/04(金) 21:17:51ID:FmXnGpcMふた昔ぐらい前BASICがインタプリタのみだったころは、
変数を一文字にするとかif文使わずに論理回路と
on 〜goto組み合わせたりして速度を稼いでたんだけど、
今でもそこまでしないと速度出ないものなんですか?
0845名前は開発中のものです。
2005/11/04(金) 22:45:11ID:bAFhiOe2あれ一体誰が高速化されるって言い出したんだろうね。ベーマガ?
HSPも論理演算よりgotoをアホの様に使った方が早いよ。
もっとも今時のPCならどっちでも問題無いと思うけど。
ボトルネックは主にグラフィックかな。
0846名前は開発中のものです。
2005/11/04(金) 23:14:44ID:GDvdgbus(2) if bt&4 : mxv=1 : else : mxv=0
後者みたいな長たらしいのが初心者入門向けではあるが、
タイプ数が多くいかにも最適化されていない風なコードなので
嫌う奴はかなり嫌う。
論理演算やビット演算を熟知してると、ifを使わない「密度の高い」
コードをさらっと書くほうが楽だということに気づくだろう。
(ちなみに、ショートプログラムではこの手の手法がほぼ必須)
0847ホスプロ ◆HOTsoUpxjY
2005/11/05(土) 03:08:52ID:WCL3HCjYrepeat 32:m+=(1<<cnt):loop:*@:s+=i^m+1:i++:if (i<=10):goto *@back:else:mes s
上級者にしてはやや冗長かも〜。
でも今は読みづらい方がよっぽど嫌われるから、多少遅くても平易に書いた方が良いような。
カウンタ以外の一文字変数とかgotoの多用は、ブーイングの嵐。ビット演算は場合による。
0848名前は開発中のものです。
2005/11/05(土) 08:15:00ID:E2gfh0vk(@u@ .:;)なにそのスパイの暗号文。ふざけてるの。
なんでHSPなんか使ってるンだろう…
族上がりのヤンキーでも使えるのがHSPの魅力だぜクルァ
0849名前は開発中のものです。
2005/11/05(土) 15:55:44ID:996wu0AWbsaveやbloadでは変数を「一つ」しか扱えないのでしょうか?
例えば..
bsave fname,a
bsave fname,b
にすると
fnameには「b」の変数の内容しか記憶されないのですが……
一つのデータファイルに
二つ以上の変数を記憶させることは不可能ですか?
0850名前は開発中のものです。
2005/11/05(土) 16:28:00ID:O28PjoUk取り出すときはstrmidで分解
0851名前は開発中のものです。
2005/11/05(土) 17:10:30ID:5iklrL3zbsave fname,c
0852名前は開発中のものです。
2005/11/05(土) 18:19:25ID:tBi+qCK+どう見ても「わざと」冗長化したコードじゃん。短くしたいなら、なんで ^m+1 をとらないの?
(n^(-1))+1 == -n
*@:s-=i:i++:if (i<=10):goto *@back:else:mes s
0853名前は開発中のものです。
2005/11/05(土) 19:42:17ID:E2gfh0vkこの程度どうってことないほど頭が良いのはよくわかった。
0854名前は開発中のものです。
2005/11/05(土) 22:48:19ID:JxXoafK60855名前は開発中のものです。
2005/11/05(土) 22:58:47ID:tBi+qCK+これが、命題が何だったか判らなくなる一歩手前
0856名前は開発中のものです。
2005/11/06(日) 00:08:34ID:4anZpSxV0858名前は開発中のものです。
2005/11/06(日) 08:30:57ID:QmJwlJ7Jそんなに頭いいのに
0859名前は開発中のものです。
2005/11/06(日) 09:21:17ID:igBGJvg40860名前は開発中のものです。
2005/11/06(日) 09:57:27ID:uo3BesNT0861ホスプロ ◆HOTsoUpxjY
2005/11/06(日) 10:28:57ID:ZLhWyUrk本来ならWindowsのAPIでやる部分(ウィンドウプログラミング)が凄く楽なんだと思う。
またCで皆がつまずくポインタとかが、単に無いからつまずかない…簡単と言えば簡単。
0862名前は開発中のものです。
2005/11/06(日) 11:29:54ID:QmJwlJ7JCは仕事で使っててHSPはゲーム作成に使ってるのん?
0863名前は開発中のものです。
2005/11/06(日) 13:49:08ID:phoamNQR■ このスレッドは過去ログ倉庫に格納されています