HSP - Hot Soup Processor [6]
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/03/07 21:01ID:XxrmN16J( ,,,)
.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 前スレ、関連サイトは >>2-5 あたり
ヽ ──── '
0663名前は開発中のものです。
04/05/21 12:00ID:GxmUKizO0664名前は開発中のものです。
04/05/21 17:58ID:Cy3Rl9hhその逆で、stickで特定のキーを押していないことを判断するにはどうすればいいのでしょうか?
if a&32 : else : ほにゃらら
これよりも効率のいい方法があれば教えてください。
0665名前は開発中のものです。
04/05/21 18:02ID:yg3RAL01効率悪いか?
0666名前は開発中のものです。
04/05/21 18:07ID:Cy3Rl9hhなんか回りくどい気がして、if命令の中で直接できる式がないかと思ったんです。
にしても、普段は一見過疎気味なのに、
質問があると即答してくれるここは割りとROMな人が多い板ですね。
僕もですが。
0667名前は開発中のものです。
04/05/21 18:15ID:jeBk4Dd6じゃダメ?
0668名前は開発中のものです。
04/05/21 18:16ID:WWCKm6bQ他の言語でもそれが普通だと思われます。
現に自分はそれでやっているので。
0669名前は開発中のものです。
04/05/21 18:21ID:Cy3Rl9hhそれいただき!
0670名前は開発中のものです。
04/05/21 18:35ID:AmENF4VP#define settimer ll_callfunc void, 0, hProc: ll_ret sttimer
#define gettimer ll_callfunc void, 0, hProc: ll_ret timer: timer -= sttimer
#const SAMPLE 10000000
ll_libload hDll, "kernel32"
ll_getproc hProc, "GetTickCount", hDll
mes ""+SAMPLE+"回"
settimer
repeat SAMPLE: stick key, 0, 0: loop
gettimer
mes "stick: "+timer+"ms"
settimer
repeat SAMPLE: getkey key, 13: loop
gettimer
mes "getkey: "+timer+"ms"
stop
0671名前は開発中のものです。
04/05/21 19:25ID:0raRFZZo0672名前は開発中のものです。
04/05/21 20:23ID:WTc2ntyUHSPで可能ですか?操作できなくてもいいので・・・
0673名前は開発中のものです。
04/05/21 20:28ID:Cy3Rl9hhすごい差だな・・・。
0674名前は開発中のものです。
04/05/21 22:42ID:rqTgmeE1N88-BASICの頃は質問ばっかりしながら数当てゲームを改良してRPG風にしてました。
ちょうど去年の夏のことですw
確かに、HSPで去年と同じゲームを作れそうな気がします。
>>660>>662
そうですか・・・
将来その手の職につくかはわかりませんが、今は楽しむことを考えてプログラミングしてみたいと思います。
0675名前は開発中のものです。
04/05/21 22:50ID:kmNojWO40676名前は開発中のものです。
04/05/21 23:10ID:UczegKFw全然違う。
#defineは置き換えだ。
0677名前は開発中のものです。
04/05/21 23:13ID:UczegKFwプログラム中に「20」とか出てきてもそれが何を意味してるかわからないから。
また、最大値みたいに多数の場所で同じ値を使うときなども楽に変更できる。
0678名前は開発中のものです。
04/05/21 23:14ID:kmNojWO4サンクス。。
んで、本題なんだけど、
#define baf buffer
baf 2
baf 3
baf 4
こういう書き方って出来るのかなぁ。。
0679名前は開発中のものです。
04/05/21 23:14ID:AmENF4VPA
stop
はコンパイル時に
mes "ABCDEFG"
stop
になる
0680名前は開発中のものです。
04/05/21 23:17ID:GxmUKizON88を触ってた世代なのにまだ将来とか言える年齢なのか?
0681名前は開発中のものです。
04/05/21 23:18ID:kmNojWO4bufferじゃなくてIDを置き換えればいいんだ。
#define id 2
repeat 3
buffer id
id=id+1
loop
0682名前は開発中のものです。
04/05/21 23:19ID:A1poc0IN0683名前は開発中のものです。
04/05/21 23:40ID:UczegKFwそれだと実行時に
2=2+1になる。
単純な「文字の置き換え」なんだって。
実行前に行われる。
0684名前は開発中のものです。
04/05/21 23:44ID:AmENF4VPbuffer cnt
loop
で良いんじゃないのか?
0685名前は開発中のものです。
04/05/22 00:02ID:AP2s4cWporz・・・・
>>684
いやぁ、、これを配列に利用したいんですよ・・・
複数の絵を順次に表示させるプログラムを作りたいんです。。
0686名前は開発中のものです。
04/05/22 00:20ID:uDs2RaiG配列の番号を格納する変数を用意すればいいんでないかい?
#defineってのはただ単純に置き換えるだけ。
どちらかといえば可読性や拡張性を上げるためにつかわれている。
0687名前は開発中のものです。
04/05/22 04:53ID:V1O6b4Hw>>680
おいおい、N88は学校施設ではまだ現役のところもあるらしいぜ
あとオヤヂのお下がりで使ってるとかな
ま、人それぞれってこった
0689名前は開発中のものです。
04/05/22 12:00ID:3ET/hOwFActiveBasicでN88は現役。
0690名前は開発中のものです。
04/05/22 13:59ID:QIB7NWXd0691名前は開発中のものです。
04/05/22 14:14ID:AP2s4cWp0692名前は開発中のものです。
04/05/22 14:23ID:Idk7kY4vb = 0
if a = 1{
if b = 1{ mes "TRUE and TRUE" } else { mes "TRUE and FALSE" }
} else {
if b = 1{ mes "FALSE and TRUE" } else { mes "FALSE and FALSE" }
}
stop
0693名前は開発中のものです。
04/05/22 14:24ID:+J9AvGEZif (条件式) {
if (条件式) {
}
}
0694名前は開発中のものです。
04/05/22 14:44ID:AP2s4cWp>>693
thx..
0695659
04/05/22 19:52ID:UoLTjU62ボタンをクリックするとa+1するようにしたいのですがどうすればよいでしょうか?
0696名前は開発中のものです。
04/05/22 20:34ID:R5OhOSlAstop
*b
a++
title "a="+a
stop
0698名前は開発中のものです。
04/05/22 20:54ID:Idk7kY4vどういうこと?
0699名前は開発中のものです。
04/05/22 20:55ID:k1mVWFJo0701名前は開発中のものです。
04/05/22 21:00ID:Idk7kY4vどうにもなりません。
0703名前は開発中のものです。
04/05/22 21:01ID:QIB7NWXd0704名前は開発中のものです。
04/05/22 21:34ID:k1mVWFJo0705名前は開発中のものです。
04/05/22 22:02ID:Z1wRA7760706名前は開発中のものです。
04/05/22 23:42ID:kPBNgTxYパラパラアニメの要領で次々に画像切り替えてはリージョン画像作りだすソフト作ったんですが
これを動かした時にHSPを起動させてスクリプトを書く黒い画面を表示させてると画像の端に白いフチが出来る。
壁紙を真っ黒な奴にしても出ないのに何故かHSPの画面をバックにすると出るんですよ。
HSPの画面ってただの真っ黒い画面に見えるけど何かやってる?常に更新し続けてるとか?
0707名前は開発中のものです。
04/05/23 01:02ID:JfHx0bW0if(a=1)
{
mes"test"
}
こういう書式で書けないのか・・・
ifの条件式の直後に{書くの好きじゃないんだよな・・・
0708名前は開発中のものです。
04/05/23 09:49ID:0MNtEX/6多分なんか問題があるんだろうけど。
0709名前は開発中のものです。
04/05/23 09:55ID:Z1lcpfE70710659
04/05/23 13:07ID:EhKKz116aの数値が2だったらチョキ
aの数値が3だったらパー
と表示したい場合、どうすれば良いのですか?
0711名前は開発中のものです。
04/05/23 13:12ID:qh8DbMvdif a=2 *tyoki
if a=3 *pa
stop
*gu
ぐーを表示
stop
*tyoki
ちょきを表示
stop
*pa
ぱーを表示
stop
0712659
04/05/23 13:24ID:EhKKz1160713名前は開発中のものです。
04/05/23 13:43ID:5EkJbtd8このスレの住人に全部作ってもらうつもりか?
BASICかじってたなら、変数と if文くらい使えそうなもんだが
0714名前は開発中のものです。
04/05/23 15:46ID:ATgfMPsUグー・チョキ・パーを横にならべた画像を用意
x座標を幅の変数倍ずらしてコピー
配列をうまく使うとifを使わない短いソースで書ける
#ただし可読性は落ちる
0715名前は開発中のものです。
04/05/23 17:30ID:0MNtEX/6小学生だな?
俺も小学生の頃は"が打てなくて入門さえ断念した記憶がある。中学に入る頃は打てるようになったが。
0716659
04/05/23 18:24ID:EhKKz116*Selection
himself=0:enemy=0
mes "何をだすか選んでください。"
pos 0,80
button "グー",*g
pos 70,80
button "チョキ",*c
pos 140,80
button "パー",*p
stop
*g
cls
himself+1
goto *enemy2
stop
*c
cls
himself+2
goto *enemy2
stop
0717659
04/05/23 18:26ID:EhKKz116cls
himself+3
goto *enemy2
stop
*enemy2
gettime enemy,7
enemy=enemy/400+1
if himself=1:mes "あなたはグーを出しました。"
if himself=2:mes "あなたはチョキを出しました。"
if himself=3:mes "あなたはパーを出しました。"
if enemy=1:mes "敵はグーを出しました。"
if enemy=2:mes "敵はチョキを出しました。"
if enemy=3:mes "敵はパーを出しました。"
if himself = enemy :mes "あいこです。"
goto*Selection
stop
ここまで作ったんですが、条件式だけだと"勝ち"と"負け"までは決められなそうなんで>>714さんの書き込みを参考に作り直してみます。
>>715
OKじゃないし厨房ですが、書く文章が小学生並みなので「そういう事を聞いてんじゃない!」
なんて書くとまた怒られたりしそうなんで
0718名前は開発中のものです。
04/05/23 18:32ID:vgxi9T0O0719名前は開発中のものです。
04/05/23 19:30ID:0MNtEX/60720名前は開発中のものです。
04/05/23 19:34ID:Fkppfkynif (himself=1)and(enemy=2):mes "あなたの勝ちです。"
if (himself=1)and(enemy=3):mes "あなたの負けです。"
if (himself=2)and(enemy=1):mes "あなたの負けです。"
if (himself=2)and(enemy=3):mes "あなたの勝ちです。"
if (himself=3)and(enemy=1):mes "あなたの勝ちです。"
if (himself=3)and(enemy=2):mes "あなたの負けです。"
0721名前は開発中のものです。
04/05/23 19:46ID:SSNSRIM2sdim hand, 7, 3 : hand = "グー ", "チョキ", "パー "
mes "あなた 相手"
repeat 9
a = cnt / 3 ; 0:グー 1:チョキ 2:パー
b = cnt \ 3 ; 同上
c = a-b+3\3 ; 差から結果を求める
mes hand.a+" vs "+hand.b+" → "+result.c
loop
stop
0722名前は開発中のものです。
04/05/23 20:39ID:0MNtEX/6是非最後まで遊んでみてください!特に>>659さんに!
ttp://gamdev.org/up/img/608.zip
0723659
04/05/23 20:53ID:EhKKz116条件式を増やすこともできるんですね。
とても参考になります。ありがとうございました。
>>721
凄い・・・と思うんですが、僕にはうまく理解できませんでした。
短くするとなるとやっぱり内容が難しくなるんですね・・すいません。
>>722
・・・・・・・・
いや、面白かったよ。普通にw
0724名前は開発中のものです。
04/05/23 21:37ID:kLAO5Vbcscreen ,64,72
randomize
button "グー",*judg
button "チョキ",*judg
button "パー",*judg
sdim hand, 7, 3
hand = "グー","チョキ","パー"
*re
rnd ene,3
stop
*judg
if(stat-ene==0) {message="あいこ": goto *@f}
if((stat-ene==-1) || (stat-ene==2)) {message="勝ち": goto *@f}
if((stat-ene==-2) || (stat-ene==1)) {message="負け": goto *@f}
*@
dialog "自分:"+hand.stat+"\n相手:"+hand.ene+"\n"+message+"です",0,"結果"
goto *re
stop
0725名前は開発中のものです。
04/05/24 08:41ID:zGYeQlqsじゃんけんというか
3パターンの・・・
0726名前は開発中のものです。
04/05/24 14:51ID:x+eeLccx日本語で『こんにちはと、言う。』と入力すれば
ダイアログに『こんにちは』と出るプログラミング言語登場!!
PNGもサポートしてるので、かなりおすすめです!!
また、【『http://www.xxxx.xx/』を、『index.htm』へ、HTTPダウンロード。】
とすれば自動的にダウンロードできる優れ物です!!
↓日本語プログラミング言語『ひまわり』
http://hima.chu.jp/index.htm
↓日本語プログラミング言語『ひまわり』スレッド
http://pc5.2ch.net/test/read.cgi/tech/1083053283/l50
0727名前は開発中のものです。
04/05/24 15:03ID:oMZF01wYま た ひ ま わ り か 。
0728名前は開発中のものです。
04/05/24 16:04ID:OWj17g2hツールバーでコンポーネントを選んでフォームに配置していけば
簡単にGUIアプリケーションを作れるプログラミング言語登場!!
JPEGもサポートしてるので、かなりおすすめです!!
また、【IdHTTP.Get('http://www.xxxx.xx/index.htm');】
とすれば自動的にダウンロードできる優れ物です!!※1
↓ビジュアルプログラミング言語『Delphi6 Personal Edition』
http://www.borland.co.jp/delphi/personal/
↓ビジュアルプログラミング言語『Delphi』
http://pc5.2ch.net/test/read.cgi/tech/1083053283/l50
0729名前は開発中のものです。
04/05/24 16:40ID:xLd83XnE0730名前は開発中のものです。
04/05/24 17:26ID:1CA+dbww0731名前は開発中のものです。
04/05/24 17:45ID:Pq9YHV4oここじゃなくてム板の方な。
0732名前は開発中のものです。
04/05/24 17:46ID:npejv8oYメール出す奴いるんだろうな…。
0733名前は開発中のものです。
04/05/24 17:54ID:Pq9YHV4oだろうな。
それに加えウィルスメールやジャンクメールも来るんだから、凄い量なんだろうな。
ただでさえ忙しいのに、それで5日レスなかったくらいで騒ぐのもちょっとあれだと俺は思う。
0734名前は開発中のものです。
04/05/24 19:18ID:1CA+dbwwおにたま氏も会社を設立してバイトでも雇わないといけないレベルになったりしてな。
でも無料だから無理なんだよな。おにたま氏も大変だな・・・。
0735名前は開発中のものです。
04/05/24 20:39ID:npejv8oY義務とかほざいてる勘違い小僧はいったい何様だ。
0736名前は開発中のものです。
04/05/24 20:58ID:8oxO2+jvHSP使ってる人、がんばれ。馬鹿に負けるな。おにたま氏もがんばれ。
HSPユーザじゃないけどできることがあったら手伝うよ。
0737名前は開発中のものです。
04/05/24 21:17ID:GTVh4I4h0738名前は開発中のものです。
04/05/24 21:22ID:U1TwhzCj0739名前は開発中のものです。
04/05/24 21:28ID:ZMrgJPYB0740名前は開発中のものです。
04/05/24 21:33ID:ghvbhkGhどこにあるのですか?
0741659
04/05/24 21:36ID:gg7ZH38Jmes "じゃんけんゲーム"
*Selection
himself=0:enemy=0
mes "何をだすか選んでください。"
pos 0,80
button "グー",*g
pos 70,80
button "チョキ",*c
pos 140,80
button "パー",*p
pos 0,120
mes "いくら賭けますか?"
input kake
mes "現在の所持金"+score+""
stop
*g
cls
himself+1
goto *enemy2
stop
*c
cls
himself+2
goto *enemy2
stop
*p
cls
0742名前は開発中のものです。
04/05/24 21:40ID:oMZF01wYって、板違いレススマソ。
0743659
04/05/24 21:41ID:gg7ZH38Jcls
himself+1
goto *enemy2
stop
*c
cls
himself+2
goto *enemy2
stop
*p
cls
0744659
04/05/24 21:41ID:gg7ZH38Jgoto *enemy2
stop
*enemy2
if kake>score: mes"所持金足りないですよ・・・"goto*Selection
gettime enemy,7
enemy=enemy/400+1
if himself=1:mes "あなたはグーを出しました。"
if himself=2:mes "あなたはチョキを出しました。"
if himself=3:mes "あなたはパーを出しました。"
if enemy=1:mes "敵はグーを出しました。"
if enemy=2:mes "敵はチョキを出しました。"
if enemy=3:mes "敵はパーを出しました。"
if himself = enemy :mes "あいこです。"
if (himself=1)and(enemy=2):mes "あなたの勝ちです。":score+kake*2
if (himself=1)and(enemy=3):mes "あなたの負けです。":score-kake
if (himself=2)and(enemy=1):mes "あなたの負けです。":score-kake
if (himself=2)and(enemy=3):mes "あなたの勝ちです。":score+kake*2
if (himself=3)and(enemy=1):mes "あなたの勝ちです。":score+kake*2
if (himself=3)and(enemy=2):mes "あなたの負けです。":score-kake
if score<1 :mes "所持金が無くなりました・・・":wait 200:end
goto*Selection
stop
テキストボックス内に、数字以外の文字を入力すると警告等が出るように設定したいのですが、どうしたら良いでしょうか?
0745名前は開発中のものです。
04/05/24 21:47ID:1CA+dbwwダメか?
0746名前は開発中のものです。
04/05/24 21:58ID:FJunE+hKHSPだとめんどくさい。
結果だけで判断するならまだ楽だが、
入力できないようにするようにするには。
アップダウンボタンでも使えば?
0747名前は開発中のものです。
04/05/24 22:20ID:G9f4sTM7if kake=0 : ;エラー
こんな感じ?
0748659
04/05/24 22:32ID:gg7ZH38Jアップダウンボタンですか、それだと高い金を賭けるとき面倒になってしまいますね。
>>745
>>747
何も足されなかった時にエラーがでるようにすればよかったんですね、参考になりました。
どうもです。
0749名前は開発中のものです。
04/05/25 00:01ID:Dkl44/LG#include "llmod.as"
input num, 100, 25
mref bmscr, 67
prms = bmscr.41, -16 ; bmscrは41+オブジェクトID
dllproc "GetWindowLongA", prms, 2, D_USER
prms.2 = dllret|$2000 ; ES_NUMBERを追加
dllproc "SetWindowLongA", prms, 3, D_USER
stop
0750名前は開発中のものです。
04/05/25 04:54ID:wY1cejR7hspcmp.dllが使われてるって事はわかったんですが、それ以降はさっぱりで。
0751名前は開発中のものです。
04/05/25 11:34ID:PIA7wuHD多分普通のコンパイラと変わらない。
#で始まるプリプロ処理して
マクロ処理して、コンパイル。
まあ、吐くのは中間ソースだけど。
普通にコンパイラとかググってみれば?
0752名前は開発中のものです。
04/05/25 19:55ID:wY1cejR7コンパイラがどうなってるかというよりも、ソースファイルをどう渡せば
コンパイルしてくれるのかなって事です。
他のコンパイラって大抵exeなんですけどHspはDLLですし。
エディタ作ってるんですけど、この辺が分からなくて。
0753名前は開発中のものです。
04/05/25 20:04ID:/5RPlK+u0754名前は開発中のものです。
04/05/25 20:23ID:dOxDxRoAexeもdllもおおまかに言ってしまえば、そう変わらない。
自分自身で動けるか、他から動かされないとダメなのかの違い(くらいに今は思っておいていい)
コンパイラがexeのものはそれ単体で動くけど、
hspcmp.dllはそれ単体で動かないからHSPed.exeあたりから呼ばれて動く。
コンパイル動作そのものはあまり変わらない。
もちろん>>752が作ろうとしているエディタから呼んでもいい。
0755名前は開発中のものです。
04/05/25 20:25ID:kbRTJWXv0756名前は開発中のものです。
04/05/25 20:35ID:Dkl44/LGhspcmpのマニュアルのCサンプルをHSPのソースに翻訳+一部追加・削除・改変
#include "hspcmp.as"
sdim hsp_file, 128
sdim objname, 128
sdim errbuf, 32000
dialog "as", 16
if stat = 0: mes "Canceled.": stop
getpath hsp_file, refstr, 8
getpath objname, hsp_file, 1: objname += ".ax"
hsc_ini hsp_file
hsc_objname objname
hsc_getmes errbuf
hsc_comp 1, 0
st = stat
hsc_getmes errbuf: mes errbuf
if st: stop
execmd = "hsp2 "
if hsp_fullscr: execmd += "*"// フルスクリーンモード時
if hsp_debug: execmd += "@"// デバッグウインドゥ表示時
execmd += objname
exec execmd
stop
0757名前は開発中のものです。
04/05/25 21:45ID:wY1cejR7あれ、hspcmpのマニュアルってあるんですか?
出来ればCのサンプルの方も見てみたいんですけど。
どこにあるか教えて頂けないでしょうか。
0758名前は開発中のものです。
04/05/25 23:35ID:VMuSuymo日本語で『こんにちはと、言う。』と入力すれば
ダイアログに『こんにちは』と出るプログラミング言語登場!!
PNGもサポートしてるので、かなりおすすめです!!
また、【『http://www.xxxx.xx/』を、『index.htm』へ、HTTPダウンロード。】
とすれば自動的にダウンロードできる優れ物です!!
↓日本語プログラミング言語『ひまわり』
http://hima.chu.jp/index.htm
↓日本語プログラミング言語『ひまわり』スレッド
http://pc5.2ch.net/test/read.cgi/tech/1083053283/l50
0759名前は開発中のものです。
04/05/25 23:45ID:Dkl44/LG命令リファレンス+Cサンプルって感じだけどね。
HSPのディレクトリ\docs\hspcmp.txt
0760名前は開発中のものです。
04/05/25 23:50ID:So+hH3tj最近HSPやりはじめたから条件式でついつい==使ってしまう・・・
0761名前は開発中のものです。
04/05/26 00:01ID:KDANy8eR0762名前は開発中のものです。
04/05/26 00:27ID:k4U2HB8xサンクスです。
■ このスレッドは過去ログ倉庫に格納されています