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

HSP - Hot Soup Processor [2]

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

       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 前スレ、関連サイトは >>2-5 あたり
    ヽ ──── '
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"に
あたってなかったらキー操作になってんじゃん。
0311あぼーんNGNG
あぼーん
031230202/12/06 20:15ID:Ppy2/Myo
>>308
http://game.2ch.net/test/read.cgi/gamedev/1005038280/140-142
に見本をうぷしといた。

HSPだから仕方ないけど、なるべく
作業によって、gosubしたほうが後で楽。
拡張しやすいように配列を使うと有効。
0313あぼーんNGNG
あぼーん
0314名前は開発中のものです。02/12/06 22:48ID:IQvk4cZy
>>312
進入不可にしたいときはどうすればいいんだろ
衝突チェックしてから座標移動しなきゃならないよね?

やっぱいろいろやってみなきゃだめだね
講座なんか見て理論上ではわかったつもりでも
実際は思うようにプログラム組めないんだなぁ
ということがわかりました

みなさんどうもありがとうございました
0315あぼーんNGNG
あぼーん
031691002/12/06 23:11ID:0t0VfH0P
さらに置き換えできるように改造。
#module
str s;操作する文字列
int l;操作する文字列の長さ
int n;抜く文字の位置検索用
int i;インデックス
sdim d,256,2;0"抜かれる文字列"、1"置き換える文字列"
dim o,2;0"抜かれる文字列の長さ"、1"置き換える文字列の長さ"
str t;文字列一時退避用

#deffunc strrep val,val
mref s,24:mref d,57:i=0
strlen o.0,d.0:strlen o.1,d.1

repeat 1
strlen l,s;操作する文字列の長さを調べる
instr n,s,d.0,i:if n=-1:break:else:n+i;抜く文字を検索し、無かったらbreak、あったらインデックス分を足す
sdim t,1,1;なんかこうしないと上手くいかない
memcpy t,s,l-n-o.0,0,n+o.0;抜かれる文字列以降の文字列を一時的に退避
poke s,n,0;抜かれる文字列以降を削除
s+d.1+t;抜かれる文字列より前にある文字列+置き換える文字列+抜かれる文字列以降の文字列
i+n+o.1:continue 0:loop:return;インデックス計算
#global
031791002/12/06 23:11ID:0t0VfH0P
使い方めんどくなってるのでサンプル
#include "strrep.as"
s="おはようございます\\nさようなら\\nこんにちは";抜かれる文字列
sdim d,256,2
d.0="\\n":d.1="\n";0"抜く文字列"、1"置き換える文字列"
mes s;置き換える前
strrep s,d:mes s;置き換えた後

stop
0318あぼーんNGNG
あぼーん
0319名前は開発中のものです。02/12/06 23:27ID:3bUcyKcn
実験的にO2でパズル組んでるけどo2.asそのまま使うと糞ですね、訳分からん仕様・・・。
素直にse命令のみで組んでます。

se命令で直接配列変数送れればいいんだけどね。
0320あぼーんNGNG
あぼーん
0321名前は開発中のものです。02/12/07 00:44ID:GCNdkRWg
めら盛り盛り盛り亜合点な!
このチョーシで頼むぜベイベー!わーお!
0322あぼーんNGNG
あぼーん
0323名前は開発中のものです。02/12/07 07:20ID:VzmrLDOV
なんでここって、こんなに「あぼーん」多いの?
0324あぼーんNGNG
あぼーん
0325名前は開発中のものです。02/12/07 11:34ID:vEyGHeAt
>>323
終了厨の仕業
0326あぼーんNGNG
あぼーん
0327名前は開発中のものです。02/12/07 16:42ID:yghKPDIS
ゼルダの伝説みたいなのってHSPで出来るのか?
どうよ?
0328名前は開発中のものです。02/12/07 17:16ID:tczHu7da
>>327
お前馬鹿だろ?
rpgツクールじゃねーんだぞ・・・
0329名前は開発中のものです。02/12/07 17:34ID:QN5Km6uG
>>328
3D使えるんだろーが?
馬鹿はそっちだろ。
0330名前は開発中のものです。02/12/07 17:36ID:tczHu7da
>>329
そんなことを聞くことに対して馬鹿といったんだが?
出来るに決まってるだろ。
hspで○○はできますか?とか言う質問、イラッとこないか?
0331あぼーんNGNG
あぼーん
0332名前は開発中のものです。02/12/07 17:50ID:uzjobifA
>>330
わざわざつかかってくるほうがイラっとくるな。
0333あぼーんNGNG
あぼーん
0334名前は開発中のものです。02/12/07 18:20ID:tI4HRBNH
>>314
進入不可の方法教えてくれ
0335あぼーんNGNG
あぼーん
0336名前は開発中のものです。02/12/07 18:43ID:4/oXf729
削除人でも博之でも誰でもいいから
荒らしなんとかしろよ。
削除無脳と
0337あぼーんNGNG
あぼーん
0338名前は開発中のものです。02/12/07 18:47ID:7PvpvcqD
不思議と慣れた
0339あぼーんNGNG
あぼーん
0340名前は開発中のものです。02/12/07 18:54ID:R3jlReN0
なぜかここのAAにはマターリさせられる・・・HSPスレにはちょうどいい薬か。
0341あぼーんNGNG
あぼーん
0342あぼーんNGNG
あぼーん
0343名前は開発中のものです。02/12/07 20:15ID:crxnY5nX
ここの板っていつもこんな感じなの?
0344あぼーんNGNG
あぼーん
0345名前は開発中のものです。02/12/07 21:11ID:Mk0XZjnW
この板って他の板に比べて軽く見られているんじゃないの?
0346あぼーんNGNG
あぼーん
034731402/12/07 23:03ID:R7dxKd7q
進入不可でけたー
0348あぼーんNGNG
あぼーん
0349名前は開発中のものです。02/12/08 12:52ID:A0uFhjoy
>>347
荒らしを進入不可にしてくれ
0350名前は開発中のものです。02/12/08 13:24ID:NvYQH9fX
HSPを馬鹿にしてる香具師を見返したい。
どうすればいいですか?
0351名前は開発中のものです。02/12/08 13:32ID:FcYjtYMB
>>350
「HSPってすげぇ」って思わせればよい。
0352あぼーんNGNG
あぼーん
0353名前は開発中のものです。02/12/08 14:43ID:K3BYwFtr
>>350
それ以上のもんつくってみろといえばいい。
0354名前は開発中のものです。02/12/08 17:08ID:myyKL0Pm
言語にこだわりすぎるのは(・A・)イクナイ!!
HSPは小規模開発にしか向かないからでかい事を
しでかしてやろうなんて考えないように。
自分で便利に使っていればよし。
0355あぼーんNGNG
あぼーん
0356名前は開発中のものです。02/12/08 17:22ID:tRotzITL
要はゼル伝GCは無理で、ビーマニなら簡単に作れるというわけだ。
0357名前は開発中のものです。02/12/08 17:24ID:ToBQkvhZ
HSPで再帰できまつか?
0358名前は開発中のものです。02/12/08 17:51ID:Z74e/DjV
まだそんな事逝ってイチャモン付けてるつもり?
最新ベータ調べてみたら?>お馬鹿さん
0359あぼーんNGNG
あぼーん
0360名前は開発中のものです。02/12/08 18:21ID:myyKL0Pm
>>357
HSPで回帰するメリットはほとんどない。
混乱するだけ。
自分でスタック管理シル!
0361あぼーんNGNG
あぼーん
■ このスレッドは過去ログ倉庫に格納されています