HSP - Hot Soup Processor [13]
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/08/08(火) 04:26:45ID:lDqcHzca.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
0110名前は開発中のものです。
2006/08/18(金) 03:02:01ID:rH/iJR96と、中一から三年間HSPをやってる俺が言ってみる
0111名前は開発中のものです。
2006/08/18(金) 06:06:06ID:8roNFOsR「あぁ〜ん、ボクじゃ届かないから誰か代わりに取ってぇ」
#uselib "user32.dll"
#func EnableWindow "EnableWindow" int, int
button gosub "自分で", *sub
button gosub "やれや", *sub
gosub *sub
stop
*sub
btn_stat ^=1
b=btn_stat & 1
EnableWindow objinfo (0, 2), b
EnableWindow objinfo (1, 2), 1-b
return
0112名前は開発中のものです。
2006/08/18(金) 10:20:28ID:3ZqjVkYe>趣味でしかプログラミングしてない奴の言いそうなことだ。
HSPやってる奴のほとんどが趣味だと思うが。
0113名前は開発中のものです。
2006/08/18(金) 15:15:19ID:7VBuQgww厨房如きが何をほざくか。
0114名前は開発中のものです。
2006/08/18(金) 17:38:10ID:TRGLN6370115名前は開発中のものです。
2006/08/18(金) 22:24:30ID:tKcwaqzgこのフレーズだけ見ると「?」だけど、言いたいこととしてはまぁ分かるかな。
大切なのは、最善を尽くすってのは自分の限界に挑戦することである、ということだね。
限界に挑戦するってことは、可能な限りの背伸びをするっていうことでもある。
死力を尽くしすらしないようだと、ロクなものは作れないし、成長も見込めない。
0116名前は開発中のものです。
2006/08/18(金) 22:43:23ID:WSkDypjQだが、はっきり言って2chは初心者に容赦ない。本家行け本家。
人と関わるのが嫌なら
得ているヒントで検索することを覚えようね。これでキミも一人上手。
0117名前は開発中のものです。
2006/08/18(金) 22:56:18ID:ecfRuYGLすまん、仕事でやってるからこそ出てくるフレーズなんだが。
さすがにHSPは使わないが。
背伸びするのは仕事の時間以外でやればいいよ。
帰ってからでも土日にでもやればいい。
仕事では出来ることをする。
出来るかどうかわからないことに挑むのこそむしろ趣味の話。
失敗すれば損失だけが残る。自己満足なんかくその役にも立たない。
出来ることの幅を増やすために普段から努力するのは当然だがな、
今まさにやらなければいけないことがあるときに背伸びする必要はない。
0118名前は開発中のものです。
2006/08/18(金) 23:04:07ID:tKcwaqzg仕事は確かに完成させなきゃ話にならないけど、
趣味でも完成はさせないと、結局何も始まらないと思うな。
0119名前は開発中のものです。
2006/08/18(金) 23:09:16ID:GAodgEvdHSP3ってインストール版しかないんやね
βはアーカイブ版あるみたいだけど
レジストリアレルギーの俺には辛いな
0120名前は開発中のものです。
2006/08/18(金) 23:22:36ID:3ZqjVkYeどこみてるの?
ttp://hsp.tv/make/downlist.html
0121名前は開発中のものです。
2006/08/18(金) 23:43:45ID:PWIWW2/c初心者であることに甘えて、まともに調べもせずに
いい加減な質問する奴に容赦しないだけだ。
0122名前は開発中のものです。
2006/08/18(金) 23:48:49ID:tKcwaqzg0123名前は開発中のものです。
2006/08/19(土) 00:05:24ID:GAodgEvdありがと
そんな間近にあったのか。
「その他のダウンロード」ってのは本体以外のユーティリティか何かだと思い込んでた。
メアドとか聞かれるしuzeeeeeeって思ってしまった。
0124名前は開発中のものです。
2006/08/19(土) 00:11:50ID:Idj6WJ67実際にはいる。ヘルプ読んでないか、読んでも理解できない奴だな
初心者よ、今は理解できなくてもいいから、とりあえずヘルプ全部嫁
0125名前は開発中のものです。
2006/08/19(土) 01:17:08ID:gmAlariq自作関数作れるんだな。
mes menseki(x,y)
みたいに命令の引数に関数も使えるようだし
Cを勉強中だったけど投げ出したくなってきた…
0126名前は開発中のものです。
2006/08/19(土) 01:27:59ID:Idj6WJ67無くても別に問題はないが、明示したいのでコメントアウトしてる
0127名前は開発中のものです。
2006/08/19(土) 10:02:41ID:eJ6kIrczobjgray id, 0
とすれば簡単にできる。
0128名前は開発中のものです。
2006/08/19(土) 18:33:19ID:jWMoG/BJソースが肥大化してきたので、#includeを使ってみたのですが、
どうもうまく動かなくなってしまいます。
#const定義、若しくはラベル名がソース全域に知れ渡っていない、
というのが原因かと思うのですが、何か良い解決方法、参考になるサイト等ありませんでしょうか?
0129名前は開発中のものです。
2006/08/19(土) 18:58:05ID:Fusn1frzソースを晒せ。その原因と思った部分は自分で実験してみて違ったわけ?
0130名前は開発中のものです。
2006/08/19(土) 19:09:24ID:jWMoG/BJ0131名前は開発中のものです。
2006/08/19(土) 19:16:15ID:Ts1EGLPkプリプロセッサ命令が
先頭行から順番に処理されていくことを理解すれば、対処できると思うが。
途中の行を別ファイルに切り出した場合、元あった場所に#includeすれば良いだけ。
#const やら #defineやらは、実際に使う場面以前に、処理されてないとNG。
mes あたらしい定数
#const あたらしい定数 3
mes あたらしい定数
あと、下記の場合、a.hspのコンパイルは、*label_bが見つからないので通らないけど、
b.hsp側からのコンパイルは通る。
[a.hsp]
gosub *label_b
[b.hsp]
#include "a.hsp"
stop
*label_b
return
0132名前は開発中のものです。
2006/08/19(土) 20:12:09ID:jWMoG/BJご指南ありがとうございます。なんとかそこまではいきました。
ですが、例えば
[a.hsp]
*Draw
mes "Draw"
return;
[b.hsp]
#include "a.hsp"
*Main
gosub *Draw
gosub *Input
await(16.66)
gosub*Main
*Input
return;
このような場合だと、#includeした瞬間にa.hspのラベル*Drawが実行されます。
これを回避したいのですが、#deffunc以外に解決法は無いのでしょうか?
0133名前は開発中のものです。
2006/08/19(土) 20:42:13ID:lvtUkhxs*Drawが実行されるのは当たり前だしそれはC/C++でも同じことだが?
0134名前は開発中のものです。
2006/08/19(土) 20:51:20ID:jWMoG/BJということはやはり*Drawは関数にするべきなのでしょうか?
0135名前は開発中のものです。
2006/08/19(土) 20:51:41ID:+ucpKvw4perl とかなら実行されるけど。
下のように gotoでファイルの末尾に移動すればいいと思うよ。
[a.hsp]
goto END_OF_A
*Draw
mes "Draw"
return
*END_OF_A
0136名前は開発中のものです。
2006/08/19(土) 20:54:58ID:Idj6WJ67ソースコードの量が多いなら、全部繋げてラベルにgoto/gosubするより間違いにくいと思うんだが
0137名前は開発中のものです。
2006/08/19(土) 21:18:54ID:lvtUkhxs宣言・定義だけ書けば実行されないだろうが、実行文を書けば実行されるぞ。
0138名前は開発中のものです。
2006/08/19(土) 21:19:45ID:gyBzUdp3bの末尾で#includeすりゃいいじゃん。#include自体は
ファイルのはじめでやらなきゃいけないなんてルール
ないんだから。
#deffuncで定義するときは呼び出し位置より前で
やらなきゃいけないけど。
個人的には>136のやり方がいいと思うよ。
0139名前は開発中のものです。
2006/08/19(土) 21:52:04ID:Dj/WwTfc[b.hsp]
goto *includezone_end
#include "a.hsp"
*includezone_end
*Main
自分しか読まないスクリならこれでもいんじゃね
0140名前は開発中のものです。
2006/08/19(土) 22:01:31ID:Dil2hFY6[b.hsp]
goto *@f
#include "a.hsp" // 描画ルーチン
*@
って書き方が一番好きだな
0141名前は開発中のものです。
2006/08/19(土) 22:07:50ID:rBrgG/X2a.hspでローカルラベル使ってたら誤動作しないか
0142名前は開発中のものです。
2006/08/19(土) 22:44:29ID:Dil2hFY6そう言われればそうだな。
ありがとう
0143名前は開発中のものです。
2006/08/19(土) 23:32:28ID:Ts1EGLPk他の人も書いてるように
・#include "a.hsp" の位置を、b.hspの最後にする
・#include "a.hsp"前にgoto *Main してb.hspの流れを変える
のどちらかが、修正少なくて済む方法やろね。
分割前の、もとのスクリプトの流れがおかしいのだから
多少不細工な記述になるのはしゃない。
気に入らないなら、もとのスクリプトの流れから見直すべき。
>>134
>ということはやはり*Drawは関数にするべきなのでしょうか?
なんか誤解してそうなカンジがする発言だな…。
#global空間で#deffunc関数化しても、結局同じことになるんで注意。
マニュアルの「モジュール機能ガイド」(hsp30/docs/module.htm)参照のこと。
0144名前は開発中のものです。
2006/08/19(土) 23:46:17ID:Fusn1frz0145132
2006/08/20(日) 00:49:43ID:j2TSf9MG#includeの位置を調整する方法でやってみることにします。
スクリプトエディタに定義ラベル一覧+ジャンプ機能があれば、
より使いやすくなるんですがねぇ・・・。
>>143
>分割前のもとのスクリプトの流れがおかしい
今までDrawとInputのループ以外使ったことが無いもので…、
キーワードだけでも教えていただけませんか?
0146名前は開発中のものです。
2006/08/20(日) 01:28:27ID:pzpfYIHD>ラベル一覧+ジャンプ機能
[F11]キー押してみそ…?(「移動」を押さなならんのが不便だが。)
標準スクリプトエディタに不満があるなら、開発wikiで紹介されてる、
xyzzy + hsp-mode が割と良いよ。
タグジャンプ機能とか、複数ファイルをタブで管理できるので便利。
ただ、hsp-modeが2.61用なんで、HSP3.0に自力で対応させる必要があるし、
xyzzy自体もクセが強いんで、導入するまでに苦労すると思うけど。
0147名前は開発中のものです。
2006/08/20(日) 01:33:02ID:pzpfYIHD流れがおかしいちうのは、単純に、
*Draw 〜
*Main 〜
の順番で並んでるのを
*Main 〜
*Draw 〜
にすれば、*Mainより先に*Drawが実行されることもないだろう、
というだけの話で。
それとは別の方法として、
もし現状で、*Mainで使ってる変数を、*Draw、*Inputルーチン側で
参照してないのなら、
#module
*Draw 〜
*Input 〜
#global
;
*Main 〜
という書き方ができるんで、
上記の #module〜#global までを別ファイル[h.hsp]とかに切り出して
[main.hsp]
#include "h.hsp"
*main 〜
という、おそらくアナタの最初の希望に沿うような まとめ方ができますよ、と。
0148名前は開発中のものです。
2006/08/20(日) 01:39:03ID:pzpfYIHD「それとは別の方法として、」のサンプル部分、
#module
#deffunc Func_Draw
(*Draw 〜のルーチンの内容)
#deffunc Func_Input
(*Input 〜のルーチンの内容)
#global
;
*Main
Func_Draw
Func_Input
が正しいかな? (;^ω^) 試してないから、まだあやしいな
0149名前は開発中のものです。
2006/08/20(日) 02:03:44ID:mO6J7xRk気がする。たぶん。確認してないから知らん
0150名前は開発中のものです。
2006/08/20(日) 10:48:02ID:Zo5zspGl先に『#include』 したら駄目なんだっけか?
#include "main.hsp"
#include "a.hsp"
0151名前は開発中のものです。
2006/08/20(日) 12:30:58ID:mO6J7xRk別にいいが、そのmainをincludeしてるのは何て呼べばいいのだろう
0152名前は開発中のものです。
2006/08/21(月) 00:14:44ID:axMM5CWb0153名前は開発中のものです。
2006/08/21(月) 11:07:17ID:arYyK/K60154名前は開発中のものです。
2006/08/21(月) 16:24:46ID:uq6GAmxq0155名前は開発中のものです。
2006/08/21(月) 18:28:23ID:MxUHHqln0156名前は開発中のものです。
2006/08/21(月) 20:01:47ID:zp2jEXUzlpoke a, 0, $00656761
mes a
0157名前は開発中のものです。
2006/08/21(月) 20:53:14ID:ncjkTQlU「プロジェクトファイルメーカ」として扱えるんじゃね!?
0158名前は開発中のものです。
2006/08/21(月) 23:13:11ID:v44IomYv頑張ってくれ!!
完成したらうpキボンヌ
0159名前は開発中のものです。
2006/08/22(火) 17:28:42ID:VmzARAfA0160名前は開発中のものです。
2006/08/22(火) 17:33:06ID:Q9QKuyIO0161名前は開発中のものです。
2006/08/22(火) 19:32:36ID:AopOf+ud0162名前は開発中のものです。
2006/08/22(火) 19:41:05ID:Ux9Ra0mbはいはいケルベロス、ケルベロス
0163名前は開発中のものです。
2006/08/24(木) 18:47:03ID:SiveHiTO0164名前は開発中のものです。
2006/08/24(木) 20:10:14ID:EL56UG7q0165名前は開発中のものです。
2006/08/24(木) 20:31:21ID:YM0KbDJ6ヒント:sin、cos、line、gsquare
0166名前は開発中のものです。
2006/08/24(木) 20:40:45ID:C6vsK3UV0167名前は開発中のものです。
2006/08/24(木) 22:00:00ID:SiveHiTOそれだ!三角関数の存在がぶっとんでました。ありがとうごじあmす
0168名前は開発中のものです。
2006/08/24(木) 22:02:18ID:eT9bIgLncircle 0,0,100,100,1
gsel 0 : gcopy 1,0,0,100,50
0169名前は開発中のものです。
2006/08/24(木) 22:15:38ID:C6vsK3UVpget:line 50,50,50
0170名前は開発中のものです。
2006/08/24(木) 22:20:49ID:EL56UG7q頭いいなお前
>>169
扇形と言えないことも無いがアホかお前
0171名前は開発中のものです。
2006/08/24(木) 22:21:32ID:/s1qBh400172名前は開発中のものです。
2006/08/24(木) 23:26:48ID:J/2MCqyzできればVPの必殺技ゲージみたいに幅を変えたりできると面白い
0173名前は開発中のものです。
2006/08/24(木) 23:30:01ID:YM0KbDJ60174名前は開発中のものです。
2006/08/24(木) 23:53:10ID:ffMDep9oぜんぜん判らん
0175名前は開発中のものです。
2006/08/24(木) 23:54:33ID:eT9bIgLn0176名前は開発中のものです。
2006/08/25(金) 00:04:49ID:jV3me5sGヴァルキリープロファイル
ビジュアルペーシック
ビジュアルファンプック
ビジュアルパンド
VIPPER
ViceCity警察
0177名前は開発中のものです。
2006/08/25(金) 01:44:41ID:4x3JcQEM0178名前は開発中のものです。
2006/08/25(金) 13:56:16ID:CzXBTglf0179名前は開発中のものです。
2006/08/25(金) 20:31:52ID:8rK4fONCこんな流れで こんなことを聞くのはどうかとも思うんですが、
思うように動かなかったり、バグがどうしても取れなかったり、
今のペースだと完成は2、3年後だなぁ、とかリアルに考えたりして、
作ってる途中で投げだしたくなる事が、誰しも経験あるかと思うんですが
そういう時、皆はどんなふうにモチベーションを回復するんでしょうか?
今ものすごく挫けそうで、何かお聞かせ願えないかなと・・・
0180名前は開発中のものです。
2006/08/25(金) 20:35:25ID:57p70x8B0181名前は開発中のものです。
2006/08/25(金) 22:00:59ID:jV3me5sGプログラムを放置しPCから離れ、趣味のことをやったり、適度に運動したりして気分転換
突如プログラムをやりたくなるからその熱意を忘れないうちにダッシュでPCの前へ
趣味なんだから無理しないでマターリ他の事に浮気しながらやれ
0182名前は開発中のものです。
2006/08/25(金) 22:32:02ID:WlvILivfというミもフタもないアドバイス
0183名前は開発中のものです。
2006/08/25(金) 23:13:29ID:kB4xfqnp2,3年かかるような規模のものをHSPで作っちゃいかんよ
(HSP以外でも駄目だと思うけど)
HSPならせいぜい数百行のサラッとしたものにしとき。
バグ捕りに関しては漏れの経験上
90%以上がスペルミス
特に変数のスペルミス。
スペルミスして値が0になってる。
怪しい変数を「検索」「次を検索」で跳んでいくと…
あらら…スキップされる変数が…一文字違ってた!!
(1年以上放置してたバグがこれだった)
1回すべての変数のスペルを洗い直すのお奨め
0184名前は開発中のものです。
2006/08/25(金) 23:27:50ID:ajuuIhs1それまでに出来なかったら、その作品は心を鬼にして没にする。
とりあえず例のコンテスト締め切りまでにカタチにしてみたらどうよ
2ヶ月でかたちにできなきゃ、たぶんひとりじゃ無理。
0185名前は開発中のものです。
2006/08/25(金) 23:32:10ID:jV3me5sG0186名前は開発中のものです。
2006/08/25(金) 23:40:27ID:ajuuIhs1重要な変数&長い名前の変数はコピペしてる。
0187名前は開発中のものです。
2006/08/25(金) 23:43:07ID:Yaal6vpj段々作ってる物に対して興味が薄れていく・・・
ここで、他に興味が沸くとそっちに・・・
0188名前は開発中のものです。
2006/08/25(金) 23:44:14ID:kB4xfqnpいつの間に俺が書き込んだんだろう?
0189名前は開発中のものです。
2006/08/25(金) 23:57:33ID:kB4xfqnpもちろん最初から変数のスペルミスの可能性を頭に入れていたら
その方が早いよ
漏れの場合、変数の該当個所を捜して流れにおかしなところがないかチェックしていくと
偶然スペルミスを発見することが多い
おいおいこんなに豪快にスペルミスしててなんで気付かないんだ俺wwwみたいな
0190名前は開発中のものです。
2006/08/26(土) 02:42:02ID:ooq+ksENt,e,w,kなどを多用する傾向にあるが、よく見かけるiは何故かほとんど使わない
あと日本語をローマ字にしたものは基本か。これは慣れてるせいか間違えにくい。予約語とかぶらない点も良い
0191名前は開発中のものです。
2006/08/26(土) 03:20:00ID:FHxHYIGgスクリプトを自分で見たとき、なんか汚く感じるから、使いたくないんだよなぁ
0192名前は開発中のものです。
2006/08/26(土) 07:19:57ID:v7Lx316Yむしろ回復する必要があるのかどうか、が問題だ。趣味だろ?仕事でやってるわけじゃない
んだろ?スティーブン・キング原作、映画ダーク・ハーフにこんな名台詞がある。
「書けなくなったらどうすればいいか?書くしかない」
主人公はプロの小説家である。書きたくなくなっても仕事なんだから無理にでも書くしか
ないのだ。お前はタダでやってるんだろう?それを完成させたとしても、誰にもほめても
らえない、コンテストに出したらダメ出しレスが数個ついただけ、Vectorに登録したらあっと
いう間に順位がガンガン下がっていく、自サイトのアクセス数は相変わらずの閑古鳥サイト
ってなるかもしれないよ?すると、素人が趣味でやるモチベーションは「俺は今誰もやって
ないようなすごいことをやっている。これはなんとしてでも世に出さなければならない。
これが完成するまでは死ねねえ!」ってことちゃうの?でなきゃ2、3年もかけられないよ。
ぶっちゃけWindows以前の某PCでゲーム作って雑誌に載ったことがある。それはゲーム
の自動販売機タケルで販売されたし(賞金のみで印税とかないけどね)、今でもROMサイト
探しまくればダウンロードできる。オールマシン語(アセンブリ言語)で、2年くらいかかった
かな。あの時は「コナミならまだしも、素人でここまでできるのは俺しかいねえ!」って思って
た。今みたいに素人の秀作フリーソフトがバンバンある時代じゃなかったんだよ。そんな
でもないソフトなら、2、3年もかけられなかろうが1ヶ月でできるものでも途中で飽きて
放置しようが構わなくね?
>>183
だっからさあ!今追加した部分だけでもコードレビューしてから走らせろって!
>>184
え、なんで?趣味でやってるんだろ?なんで「心を鬼にして没にする」の?これだから
完璧主義者は。
>>190
そんなに神経質なのに日本語のローマ字表記か。その方が間違いやすいと思うが。
katsuoなのかkatuoかか、とか。
0193179
2006/08/26(土) 07:40:50ID:HcJ9dhDoまとめると、まずは
設定した期限内に出来るような、力量にあったものを作る事、
バグについては、イージーミスを誘発するような書き方自体に留意していく事。
作成中は、
ときにはPCを離れ適度に運動したりマスターベーションしたりして気分転換を図り
ママーリとした姿勢でのぞむ事。
これらを頭において作成していきます。
でも、ここで助言をもらえたことが、一番やる気につながったような気がします。
みなさん、ありがとうございました。
0194名前は開発中のものです。
2006/08/26(土) 12:17:55ID:FHxHYIGgどこを立て読み?
0195名前は開発中のものです。
2006/08/26(土) 13:19:10ID:ooq+ksENローマ字使うと汚くなるってのはあるな。kazu++よりnum++の方がいい
0196名前は開発中のものです。
2006/08/26(土) 14:47:57ID:kTZ74ODZ妹旗=1
視認性も抜群でスペルミスも0
0197名前は開発中のものです。
2006/08/26(土) 17:42:56ID:un/ei8Xr0198名前は開発中のものです。
2006/08/26(土) 20:10:45ID:rYAFjXGI0199名前は開発中のものです。
2006/08/26(土) 20:25:29ID:ooq+ksEN0200名前は開発中のものです。
2006/08/26(土) 20:55:01ID:hAtEPjfR="へローワールド
mes
stop
0201名前は開発中のものです。
2006/08/26(土) 21:33:20ID:EPK2ytAo0202名前は開発中のものです。
2006/08/26(土) 22:45:18ID:rYAFjXGImes ヘローワールド
stop
分かりやすい…かも…?
0203名前は開発中のものです。
2006/08/26(土) 22:50:53ID:HriD/eJ1=20
mes +
mes *
mes - +
stop
0204名前は開発中のものです。
2006/08/26(土) 23:36:20ID:L/8DWhQy0205名前は開発中のものです。
2006/08/27(日) 00:21:21ID:hewMfiMAエラー出たんだけど
0206名前は開発中のものです。
2006/08/27(日) 00:47:50ID:LlnEdtL3「ま こ」とかだと使える
つーか、本当に使えるとは思ってなかった。ヘルプで確認したらアルファベットか日本語って…
おにーたま氏の愛国心に感動した。
0207名前は開発中のものです。
2006/08/27(日) 01:01:52ID:c31TVZBe#module
#defcfunc 足し算 int かず,int カズ
return かず+カズ
#global
goto *ラベル
stop
*ラベル
mes 足し算(10,5)
stop
これ動くしwww
0208名前は開発中のものです。
2006/08/27(日) 01:09:43ID:l8dUdVir0209名前は開発中のものです。
2006/08/27(日) 01:42:09ID:n9vbPGeu#define 止まれ stop
#define 足す ++
は動くが
#define 関数 #defcfunc
#define 戻る return
とかはエラーが出るな・・・
さすがに全部日本語にするのは無理かw
■ このスレッドは過去ログ倉庫に格納されています