トップページgamedev
987コメント223KB

HSP - Hot Soup Processor [2]

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/10/24 12:05ID:???

       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 前スレ、関連サイトは >>2-5 あたり
    ヽ ──── '
0211あぼーんNGNG
あぼーん
0212名前は開発中のものです。02/11/26 16:34ID:Wfo1t5cU
>>210
うん、stgとかactとかのサンプル見てみたかった
0213あぼーんNGNG
あぼーん
0214名前は開発中のものです。02/11/26 19:40ID:b9i5U0YH
結局ただのユーザー集め企画だろ。
結果が成功か失敗かは一目瞭然だけどね。
0215あぼーんNGNG
あぼーん
0216名前は開発中のものです。02/11/26 23:21ID:eQNBxXXi
>>214=Peek
ひがむなよ(藁
0217あぼーんNGNG
あぼーん
0218名前は開発中のものです。02/11/27 12:35ID:c4f+do7v
>>212
激しく同意
0219あぼーんNGNG
あぼーん
0220名前は開発中のものです。02/11/27 19:05ID:+/jX1eFX
格ゲーなんかの
コマンド入力の判定ってどうやんだろ?
実際にやられているようないい方法ないか?
俺がやるとどうもレスポンスが悪くてダメだ。
0221あぼーんNGNG
あぼーん
0222名前は開発中のものです。02/11/27 21:04ID:c4f+do7v
>>220
とりあえずソース晒してみれ。
0223あぼーんNGNG
あぼーん
0224名前は開発中のものです。02/11/27 22:19ID:ljrYRzS2
sdim com,256 : sdim com2,256
*main
stick key,15
getkey zkey,90
if zkey {
if zren : zkey=0 : else : zren=1
}
else : zren=0
;------コマンド処理-------------------------
if key^15<15&(mode=0) : mode=1
if mode {
time++
if time>10 : time=0 : com2=com : com="" : mode=0
if key!key2&(key^15<15) {
time=0 : com+=""+key : com+="/"
}}
key2=key
if com="8/12/4/"&zkey : com2="成功":com="":mode=0;波動拳コマンド
;-----------------------------------------------
redraw 2
color 255,255,255 : boxf
color : pos 20,150 : mes "コマンド"
pos 100,150 : mes ""+com+"\n\n\n"+com2
redraw 1 : await 16
goto *main
とりあえずはじめにやってみた方法。
つか、格ゲー的なコマンド入力を判定するのに必要な要素がわからない・・・
確実なのは、規定時間たったら失敗程度。
0225名前は開発中のものです。02/11/28 04:27ID:FRDBpgI0
それでいいんじゃないの?
もっと細かくやりたかったら早すぎてもNGにすればいいんでは
0226あぼーんNGNG
あぼーん
0227名前は開発中のものです。02/11/28 16:05ID:pykLnbp/
HSPって画像表示するにも楽でいいなー
あと構造体とかポインタ使えればなー
0228あぼーんNGNG
あぼーん
0229名前は開発中のものです。02/11/28 18:23ID:uYoL9Iom
構造体もポインタも結構難しいもんだからな。
0230あぼーんNGNG
あぼーん
0231名前は開発中のものです。02/11/28 22:34ID:HDHoTizq
リファレンス読むのだりーな
良解説サイトない?
0232あぼーんNGNG
あぼーん
0233名前は開発中のものです。02/11/29 00:03ID:sXlrhso2
ぷにしみゅれーたの物体データファイル.pniを作って配布しているサイトはないものか
XXXなデータとかホスィ
0234あぼーんNGNG
あぼーん
0235名前は開発中のものです。02/11/29 07:55ID:hcXR98Ks
a
0236あぼーんNGNG
あぼーん
0237名前は開発中のものです。02/11/29 11:11ID:QKN4kWIl
未だに自動なのか手動なのか判断つかん
0238あぼーんNGNG
あぼーん
0239名前は開発中のものです。02/11/29 20:14ID:vyEKC1ne
ゲームとかのアイテム画面?
これの五十音順並び替えってやっぱり、並び替えテーブルがつくってあんのかな?
普通にやったらかなり時間がかかるような。
0240あぼーんNGNG
あぼーん
0241名前は開発中のものです。02/11/29 23:27ID:HyNmdZhi
b
0242名前は開発中のものです。02/11/29 23:26ID:SYJYKZvr
b
0243あぼーんNGNG
あぼーん
0244名前は開発中のものです。02/11/30 01:12ID:Bo/e7XOf
c
0245あぼーんNGNG
あぼーん
0246名前は開発中のものです。02/11/30 01:49ID:CsUaI1XH
d
0247名前は開発中のものです。02/11/30 09:37ID:SLpyg/jf
>>237
おそらく自動だと思うが、このスレだけ特別なAAというのは不気味だ。
0248あぼーんNGNG
あぼーん
0249名前は開発中のものです。02/11/30 20:44ID:xT8ZrrPS
e
0250名前は開発中のものです。02/12/01 11:33ID:uRfVA6SM
>>247
ヤシは、なぜかHSPに私怨を抱いているようです。
0251名前は開発中のものです。02/12/01 12:23ID:jz8IvXiA
やっと荒氏はあぼーんされたようだな
YATで安心宇宙旅行だな
0252あぼーんNGNG
あぼーん
0253名前は開発中のものです。02/12/01 13:17ID:lBNqtkJN
イントロとループ部を別にしたwavを、
イントロが終わった直後に切れ目無くループ部を鳴らす方法ってあるかな?
025491002/12/01 16:17ID:iHwu2XrZ
>>253
こんなの? intro.wavとloop.wavは各自でよろしく。

onexit *finish
mci "open intro.wav alias intro"
mci "open loop.wav alias loop type MPEGVIDEO2";DirectShowで開く
mci "set intro time format ms";時刻形式をミリ秒に指定
mci "status intro length":length=stat;長さ取得
mci "play intro";イントロ再生
repeat:mci "status intro position";現在の再生位置取得
if length=stat:break:else:await 1:loop;再生位置が最後まで来たらbreak

mci "play loop repeat":stop;ループ部再生
;DirectShowなので、自動ループがかかる

*finish
mci "close all";最後にちゃんと閉じないとえらい事になる可能性アリ。
0255あぼーんNGNG
あぼーん
0256名前は開発中のものです。02/12/01 20:23ID:+kAW6UHg
get !
0257名前は開発中のものです。02/12/01 21:08ID:/DWG3zSA
>>254
おー、MPEGVIDEO2で開くと自動ループになるのか
知らんかった。>>253じゃないがありがd
0258あぼーんNGNG
あぼーん
025991002/12/02 22:22ID:BIRupp/i
>>257
正確には「自動ループにする事ができる」ね。

ここを見ると詳しい、というか情報元。
ttp://www.bekkoame.ne.jp/i/mr.manri/MCI/
0260あぼーんNGNG
あぼーん
0261名前は開発中のものです。02/12/03 07:55ID:4iEuJynl
いまさあ、ゲラゲラ笑いながら見てるんだけど、、、
やっぱ何書いてあるのかさっぱりわからんわ。このあらしはすごいや(藁
しかし本当にすげえな。こんなに荒らされてる掲示板というのも見たことないや。
どうなってるんかねえ。よほど高速な回線でつながっているのだろうか。
ここは普段から人がいないから、高速でレスポンスが帰ってくるというのも
原因の一つだろう。しかも一晩中はりついてないとこの量は書き込めないよね。


嵐にまけないようにかたまってレスしようぜ。HSP野郎たちあつまれーーー!
0262あぼーんNGNG
あぼーん
0263名前は開発中のものです。02/12/03 10:16ID:uAKJBYSy
集合。
0264名前は開発中のものです。02/12/03 12:48ID:IPUU+umt
マリオカートみたいなの作ろうとして奮闘中
3Dって全然知らないから大苦戦
難とかそれっぽく走れるものが出来たけど、壁のあたり判定でまた苦戦
うーん・・・
キャラとかマップとか追加できるのにしてやろうと思ってるけど、
いつ完成するんだろ・・・
0265あぼーんNGNG
あぼーん
0266名前は開発中のものです。02/12/03 15:16ID:QGRHuI+f
>>264
がんばれ
0267名前は開発中のものです。02/12/03 15:22ID:z2HfB1Od
>>261
で、どこを縦読みすればいいんだ?
面白いのはわかったから、なるべくsageてこうぜ

>>264
応援しかできないが、がんがれ。
0268あぼーんNGNG
あぼーん
0269あぼーんNGNG
あぼーん
0270名前は開発中のものです。02/12/04 13:32ID:SLQBDQC+
文字列変数
[abcdefg]

[abcdfg]
のように1文字だけ削除する事できるスマートな方法ありませんか?
027127002/12/04 13:59ID:SLQBDQC+
できました。
0272名前は開発中のものです。02/12/04 15:02ID:fOXJofKU
荒氏いない今がチャンス!
0273名前は開発中のものです。02/12/04 17:00ID:RLFLqCym
>>271
スマートな方法教えてクレクレ
0274あぼーんNGNG
あぼーん
0275名前は開発中のものです。02/12/04 17:25ID:o7j8KqAt
>273
スマートじゃない方法ってどんなのだ?
WinAPIを使わず地道にやる方法のことを言うのか?
0276あぼーんNGNG
あぼーん
0277名前は開発中のものです。02/12/04 19:44ID:HkhjIyYr
s="abcdefg"
n=4
strlen l,s
memcpy s,s,l-n-1,n,n+1
poke s,l-1,0

mes s
stop

これより速い方法キボンヌ
0278あぼーんNGNG
あぼーん
027991002/12/04 21:12ID:QKGWw3mg
別に速くしたわけでもなく、モジュール化してみた。

#module
sdim d,256,1

#deffunc onedel val,str
mref s,24:mref d,33
repeat 1
instr n,s,d,0:if n=-1:break;抜く文字を検索し、無かったらbreak
strlen l,s;長さを調べる
memcpy s,s,l-n-1,n,n+1;抜く文字以降の文字列をコピー
poke s,l-1,0;抜いた後に余った文字列を消す
continue 0:loop:return

#global

onedel "抜かれる文字列変数","抜く文字列"
で使える。
028091002/12/04 21:35ID:QKGWw3mg
上のモジュールの全角対応型

#module
sdim d,256,1

#deffunc onedel val,str
mref s,24:mref d,33
strlen o,d
repeat 1
instr n,s,d,0:if n=-1:break;抜く文字を検索し、無かったらbreak
strlen l,s;長さを調べる
memcpy s,s,l-n-o,n,n+o;抜く文字以降の文字列をコピー
poke s,l-o,0;抜いた後に余った文字列を消す
continue 0:loop:return

#global
0281あぼーんNGNG
あぼーん
0282名前は開発中のものです。02/12/04 23:04ID:HHwzSOAu
>>277,279-280
勉強になりますた
0283あぼーんNGNG
あぼーん
0284名前は開発中のものです。02/12/05 16:20ID:sFD0WyM4
>>280
その sdim d,256,1 て実行されるのか?
確かされなかった気が・・・

てか、sdimいらないと思うのだが・・・
0285名前は開発中のものです。02/12/05 16:55ID:Hv20fIgz
>>284
内部的には変数情報のポインタを書き換えてるだけみたいだから、いらないな。
0286あぼーんNGNG
あぼーん
0287名前は開発中のものです。02/12/06 06:14ID:gjGy9xAA
あぼーんされてもまだやるかコノッ
0288あぼーんNGNG
あぼーん
0289名前は開発中のものです。02/12/06 10:33ID:oMuhz68O
>>287
だぁかぁらぁ〜っ、あーいう馬鹿共は報知しなさい、呆痴。
0290あぼーんNGNG
あぼーん
0291名前は開発中のものです。02/12/06 12:32ID:JDp0qOWa
HSPは変数の宣言や定義しなくてもいきなり使えるけど
他人のソース見るとき解かり辛くてしょうがない
やめれ
0292あぼーんNGNG
あぼーん
0293名前は開発中のものです。02/12/06 13:23ID:CHj/t0Id
 ( ,,)
  ( ,,)
 [ ̄]))
  =
0294名前は開発中のものです。02/12/06 13:23ID:CHj/t0Id
 (  ,,)
  ( ,,)
 [ ̄]))
   ̄
0295名前は開発中のものです。02/12/06 14:17ID:pA5EQlvP
>>291
それが長所でもあり短所でもあるが
変数名typoとかがわかりにくいから、
漏れも宣言型のがいいなぁ
0296名前は開発中のものです。02/12/06 14:32ID:gjGy9xAA
配列変数の書き方.じゃなくて[]にならないかなぁ
,と. 見分け辛くて
0297あぼーんNGNG
あぼーん
0298名前は開発中のものです。02/12/06 15:21ID:Wl9neGkj
>>291
確かに他人に見せるソースには、
変数表は必須だ罠。
ソースの先頭あたりにコメント内にズラズラと、
列記しておけば解かり辛いのは軽減されるハズではあるが…

どちらかというと、コンパイル時に変数名を間違えても
エラーにならないのが問題。
0299あぼーんNGNG
あぼーん
0300名前は開発中のものです。02/12/06 15:34ID:PxcUl6Hv
条件式でいきなり初見の変数が評価されたり演算されてたり・・・
0301名前は開発中のものです。02/12/06 17:18ID:2kq23lGR
x=0
y=0
int key

screen 0,100,100
repeat
redraw 0
cls
pos x,y
mes "●"
stick key,15
if key&1 : x-=1
if key&2 : y-=1
if key&4 : x+=1
if key&8 : y+=1
if x<0 : x=0
if x>90 : x=90
if y<0 : y=0
if y>90 : y=90
redraw 1
await 1
loop

なんでredraw使ってるのにちらつくんだろ(ノД`)
あとなんで右端まで行くと途切れちゃうんでしょか
0302名前は開発中のものです。02/12/06 17:21ID:Ppy2/Myo
>>301
cls 使ってるから。
color 255,255,255 : boxf を使うと吉。

あと頼むからsageてくれ
030330202/12/06 17:24ID:Ppy2/Myo
追記。
> 右端で途切れる
それはHSPってかWindowsの仕様。
ウィンドウサイズを広げると吉。
0304名前は開発中のものです。02/12/06 18:01ID:EP/eWYb8
>>302-303
サンクス、うまくいったYO
screen 3,100,100にしてウィンドウサイズ変えようとしたら何故かフリーズした(;´Д`)
clsの用途がわからなくなったなぁ
0305名前は開発中のものです。02/12/06 18:03ID:EP/eWYb8
あ、ウィンドウサイズ広げるってのはパラメタのほうのことか
0306あぼーんNGNG
あぼーん
0307名前は開発中のものです。02/12/06 19:35ID:G3MFblkz
#define WX 200 ; ウィンドウサイズX
#define WY 200 ; ウィンドウサイズY
#define BX1 60
#define BY1 70
#define BX2 80
#define BY2 90
#define SIZE 16 ; キャラサイズ
x=0 ; キャラ座標X
y=0 ; キャラ座標Y
int key ; 取得キー
screen 0,WX,WY
repeat
redraw 0
color 0,0,0 : boxf
color 255,255,255 : boxf BX1,BY1,BX2,BY2
pos x,y
color 255,255,255 : mes "●"
0308名前は開発中のものです。02/12/06 19:35ID:G3MFblkz
stick key,15
if ( (x+SIZE>BX1) & (y+SIZE>BY1) ) & ( (x<BX2) & (y<BY2) ) {
title "Hit"
} else {
if key&1 : x-=1
if key&2 : y-=1
if key&4 : x+=1
if key&8 : y+=1
if x<0 : x=0
if x>(WX-SIZE) : x=WX-SIZE
if y<0 : y=0
if y>(WY-SIZE) : y=WY-SIZE
}
redraw 1
await 1
loop
当たり判定つけてみたんですけど
一度くっつくと動けなくなってしまいます
また、こうしたら良いとかいうのありますか?(配列?)
0309あぼーんNGNG
あぼーん
0310名前は開発中のものです。02/12/06 19:55ID:3rWhYw+7
>>308
あたりまえだろ・・・
あたってたらタイトルバーを"hit"に
あたってなかったらキー操作になってんじゃん。
■ このスレッドは過去ログ倉庫に格納されています