トップページgamedev
1001コメント296KB

HSP - Hot Soup Processor [7]

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/06/10 04:28ID:cbXY3kVC
前スレ
  HSP - Hot Soup Processor
   http://game.2ch.net/gamedev/kako/1005/10053/1005332663.html
  HSP - Hot Soup Processor [2]
   http://game.2ch.net/test/read.cgi/gamedev/1035428757/
  HSP - Hot Soup Processor [3]
   http://pc2.2ch.net/gamedev/kako/1043/10436/1043609896.html
  HSP - Hot Soup Processor [4]
   http://pc2.2ch.net/test/read.cgi/gamedev/1047082415/
  HSP - Hot Soup Processor [5]
   http://pc2.2ch.net/test/read.cgi/gamedev/1058507713/
  HSP - Hot Soup Processor [6]
   http://pc5.2ch.net/test/read.cgi/gamedev/1078660876/

関連サイト
  ONION software (本家)
   http://www.onionsoft.net/
  HSP CENTER
   http://hspcenter.com/
  HSP ML
   http://garde.esprix.net/hsp-ml/
0371名前は開発中のものです。04/07/09 19:48ID:bufBX0Vb
どこを別のウィンドウでやりたいんだ
0372名前は開発中のものです。04/07/09 20:30ID:QP1jsMXM
だからこれはHSPのウィンドウからマウスが出たら計ってくれないじゃん?
それを他のウィンドウとかゲームとか操作とかしながら常に計ってくれるようna
0373名前は開発中のものです。04/07/09 20:39ID:bufBX0Vb
*main1
ginfo 0
x=prmx : y=prmy
color 255,255,255:boxf 0,0,99,23
color 0,0,0:pos 0,0:mes "X="+x+"/Y="+y
getkey a,1
if a : goto *main2
await 5
goto *main1
*main2
end

こういうことをいってんの?
0374名前は開発中のものです。04/07/09 21:00ID:QP1jsMXM
おしい!けど違う。それは他のウィンドウやファイル操作しようとしたら消えてしまう。
0375名前は開発中のものです。04/07/09 21:06ID:bufBX0Vb
もともとそういう仕様ちゃうんか。。。

onclick *click
*main1
ginfo 0
x=prmx : y=prmy
color 255,255,255:boxf 0,0,99,23
color 0,0,0:pos 0,0:mes "X="+x+"/Y="+y
await 5
goto *main1
*click
end
0376名前は開発中のものです。04/07/09 21:08ID:QlzJ/HhZ
レスもらっといて、おしい!じゃねーヨ。
おまいの説明不足だろ。
368の質問といいリア厨以下?
0377名前は開発中のものです。04/07/09 21:14ID:jpMqo0Gr
まあそうでしょうな
だが気にするな
0378名前は開発中のものです。04/07/09 21:17ID:d0zXeIj1
>>370

HSP以外のウィンドウで処理できるものを作りました。
これで完璧です

;--------------------
#include "llmod.as"
mes "対象のウィンドウをクリックしてください"
repeat:wait 1:stick a:if a&256:break
loop:ginfo:pm=prmx,prmy
dllproc "WindowFromPoint",pm,2,1:mes "hWnd:"+dllret
pm=dllret:dllproc "GetDC",pm,1,1:mes "hdc:"+dllret
hdc=dllret:mref bm,67:repeat
ginfo:x=prmx : y=prmy
color 255,255,255:boxf:color 0,0,0:pos 0,0:mes "X="+x+"/Y="+y
pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020:dllproc "BitBlt",pm,9,5
wait 5:loop
;---------------------------
0379名前は開発中のものです。04/07/09 21:34ID:bZYm//1m
人の手を借りまくってコンテストに応募とか?
0380名前は開発中のものです。04/07/09 21:58ID:gTxmdHxb

ちょっと改造してやった。
キャプチャソフト
自由に使いたまい。

;--------------------
#include "llmod.as"
mes "対象のウィンドウをクリックしてください"
repeat:wait 1:stick a:if a&256:break
loop:ginfo:pm=prmx,prmy
dllproc "WindowFromPoint",pm,2,1
hwnd=dllret:pm=hwnd:dllproc "GetDC",pm,1,1
hdc=dllret:mref bm,67
pm=hwnd:dim rect,4:getptr pm.1,rect
dllproc"GetClientRect",pm,2,1
screen 0,rect.2,rect.3
pm=bm.4,0,0,rect.2,rect.3,hdc,0,0,0xCC0020:dllproc "BitBlt",pm,9,5
redraw
stop
;---------------------------
0381名前は開発中のものです。04/07/10 01:10ID:KWaKpCVn
HSPでMicrosoft SAPIを使ってテキストを喋らせるのはどうやるんですか?
0382名前は開発中のものです。04/07/10 13:00ID:pwR4qrgx
コンテストなんて興味ない。ただ自分が使いやすいソフトが作りたいだけ
0383名前は開発中のものです。04/07/10 13:25ID:NDQ8qWEL
おしい!けど違う
0384名前は開発中のものです。04/07/10 13:33ID:gc5EpECZ
>>381
http://www.kct.ne.jp/~okuda/comlab/TextToSpeach/TextToSpeach.html

#include "rrmod/com/obsolete.as"
の一行を追加

LOLLIPOP ver3.00 β12をソースと同じフォルダに解凍しておく
http://yokohama.cool.ne.jp/chokuto/download/index.html

とりあえずこれでしゃべる
OSによってインストールされてるTTSエンジンが違うから
何か入れないとダメな場合もある
http://falsh2ch.hp.infoseek.co.jp/TTSengines.htm
0385名前は開発中のものです。04/07/10 16:39ID:ghQod0F3
#include "llmod.as"  ;llmod.asを使えるようにする?
mes "対象のウィンドウをクリックしてください"
repeat  ;ループ開始
wait 1  ;0.01秒待つ
stick a  ;何か押されたらaに1を代入
if a&256:break  ;aと256がともに正しければループ抜け出す?
loop  ;ループ繰り返す
ginfo  ;prmx.prmyにマウスの位置を代入
pm=prmx,prmy  ;pmにマウスの位置を入れる?
dllproc "WindowFromPoint",pm,2,1  ;WindowFromPointにマウスの位置を渡す?
mes "hWnd:"+dllret  ;?
pm=dllret  ;?
dllproc "GetDC",pm,1,1  ;?
mes "hdc:"+dllret  ;?
hdc=dllret  ;?
mref bm,67  ;?
repeat  ;ループ開始
ginfo  ;prmx.prmyにマウスの位置を代入
x=prmx  ;xにprmxを代入
y=prmy  ;yにprmyを代入
color 255,255,255  ;色を白に
boxf  ;画面を白色に塗りつぶす
color 0,0,0  ;色を黒に
pos 0,0  ;カレントポジションを0,0に
mes "X="+x+"/Y="+y  ;XとYを表示
pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020  ;?
dllproc "BitBlt",pm,9,5  ;?
wait 5  ;0.05秒待つ
loop  ;無限ループ繰り返し
初心者なのでよく分からない所があります。教えて下さい。
038638104/07/10 16:50ID:8YC4WY/H
>>384
激しく感謝
0387名前は開発中のものです。04/07/10 16:51ID:NDQ8qWEL
> aと256がともに正しければループ抜け出す
まるで翻訳サイトの直訳みたいだね
0388名前は開発中のものです。04/07/10 16:53ID:wCy6cDas
× stick a ;何か押されたらaに1を代入
○ stick b ;押されているキーを2進数を単位に取得する
× a&256:break ;aと256がともに正しければループ抜け出す?
○ a&256:break ;256と同じビットが1なら抜ける

○ #include "llmod.as" ;llmod.asを使えるようにする?
○ pm=prmx,prmy  ;pmにマウスの位置を入れる?

  dllproc "WindowFromPoint",pm,2,1  ;WindowFromPointにマウスの位置を渡す?
説 WindowFromPointにマウスの座標を渡して、カーソルの下にあるウィンドウのハンドルを取得
  mes "hWnd:"+dllret  ;?
説 カーソルの下にあるウィンドウハンドルを表示
  pm=dllret  ;?
説 ウィンドウハンドルをpmに代入
  dllproc "GetDC",pm,1,1  ;?
説 カーソルの下にあるウィンドウのデバイスコンテキストを取得
  mes "hdc:"+dllret  ;?
説 デバイスコンテキストを表示
  hdc=dllret  ;?
説 hdcにデバイスコンテキストを代入
  mref bm,67  ;?
説 HSPが持つBMSCR構造体をbmに割り当てる
  pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020  ;?
説 HSPのウィンドウからカーソルの下にあるウィンドウへコピーするように設定
  dllproc "BitBlt",pm,9,5  ;?
説 ビットブリット(BitBlt)を行う。gcopyと同様の機能。
0389名前は開発中のものです。04/07/10 17:25ID:ghQod0F3
>>388
説明どうも。
でもほとんど分からなかったり・・・汗

F1押しても出てこなかったり説明が変だったりして難しい
0390名前は開発中のものです。04/07/10 17:54ID:ghQod0F3
>>369
マニュアル読んだけど
-2147483647〜2147483647 10進整数
$0〜$FFFFFFFF 16進整数(0xでも可)
%0〜%111111... 2進整数(0bでも可)
'A' 文字コード(1バイト)
+,-,*,/ 加算,減算,乗算,除算
&,|,^ 論理演算(and,or,xor)
\ 割り算の余り
=,<,>,! 条件式(同じ,小さい,大きい,同じでない)
==,<=,>=,!= 条件式2(同じ,以下,以上,同じでない)
<<,>> 左、右方向にビットシフト

しかなかった。これだけですか?
0391名前は開発中のものです。04/07/10 18:21ID:NDQ8qWEL

演算子と関数は チョト チガーウ
039237804/07/10 19:56ID:9WTV9sSx
ネタなのであまり気にしないように
↓他のレスとかぶってるけど解答
stick a  ;aにキーコード取得
if a&256:break  ;※@aに256が含まれていたらループを抜ける
pm=prmx,prmy  ;pm.0にprmx pm.1にprmyを代入
dllproc "WindowFromPoint",pm,2,1  ;WindowFromPoint=pmの座標にあるウィンドウのHWNDを求める
mes "hWnd:"+dllret  ;HWNDを表示。気にしなくてもよい
pm=dllret  ;pmにdllret(返り値)を代入
dllproc "GetDC",pm,1,1  ;HWND(pmに代入された値)からHDCを求める
mes "hdc:"+dllret   ;HDCを表示。気にしなくてもよい
hdc=dllret  ;hdcにdllret(返り値)を代入
mref bm,67  ;bm=ID:0のウィンドウのBMSCRのポインタ
pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020  ;※Apm.0にHDCpm.1に0以下0,100,18,bm.4,0,0,0xcc0020を代入
dllproc "BitBlt",pm,9,5  ;画像をコピー

※@
aを二進数にした場合
左クリックされた(256がaに代入される)→a=10000000
右クリックされた(512がaに代入される)→a=100000000
左&右を同時にクリックされた(256+512がaに代入される)→a=110000000
ifの&条件は8ビット(8桁)目が1だった場合という意味
例)
10000000;実行される  11111111;実行される
00000000;実行されない  01111111;実行されない
※A
pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020は
pm.0=hdc : pm.1=0 : pm.2=0 : pm.3=100 : pm.4=18
pm.5=bm.4 : pm.6=0 : pm.7=0 : pm.8=0xCC0020
と同じ意味で、
pmの内容はBitBltに送るデータ(HSPで言うp1,p2,p3,p4,・・・・と同じ)
0xCC0020は頭に0xがついているので16進数の扱い     0xCC0020 = 13369376
0393名無しさん@そうだ選挙に行こう04/07/11 07:49ID:Rk2V9Rp9
さて去年はいろいろあってコンテスト出せなかったけど
今年もやってくれたから出したい所。
0394 ◆HOTsoUpxjY 04/07/11 10:30ID:DdfpPQJL
>>368 >>390
sinならマクローリン展開とか
平方根ならニュートン法とか何か使って
モジュールを自作すればいいかも
面倒ならそういうDLLを探すとか〜
0395 ◆HOTsoUpxjY 04/07/11 10:46ID:DdfpPQJL
今探したらちょうどHSPWIKIに
「HSPコンテスト:ショートプログラム:数学・物理編:sin/cos」ってあったよ
0396名前は開発中のものです。04/07/11 21:54ID:/JWLGNZC
おいおい!もう応募してる奴いるのかよ。こりゃ最後までにはとんでもない応募数になりそうだな。
0397名前は開発中のものです。04/07/11 23:00ID:ZIs9hoN/
コンテストの作品にリバーシがあるが
14才で作れるなんて大したモンだ。
0398名前は開発中のものです。04/07/11 23:56ID:9DUNAGkh
しかもそのリバーシは強いぞ。油断すると負ける。
今までやったHSP製リバーシの中では最強レベルじゃないかと。
ただ、思考時間がちょっと長いがな・・・。
0399名前は開発中のものです。04/07/12 20:03ID:/j8cWC5m
すげーな。尊敬してしまうわ。俺30過ぎだけど。
0400名前は開発中のものです。04/07/12 20:10ID:gvw1JXEZ
年齢と才覚って別に関係ないよ
0401名前は開発中のものです。04/07/12 20:22ID:MhF3X/Gv
経験の少ない奴でレベルが高い→天性の才能
経験の多い奴でレベルが高い→経験・知識・etc...
(※上には当てはまらなかった人のみ)

前者はいずれかなり上にいくんだろうな・・・飽きなければ
0402名前は開発中のものです。04/07/12 20:25ID:wXVm5haw
399はそういう意味で言ったんじゃない気が…
0403名前は開発中のものです。04/07/12 20:31ID:/j3+rOli
もともとC言語プログラマでHSP歴が短いだけ
0404名前は開発中のものです。04/07/12 20:35ID:MhF3X/Gv
14歳でHSP歴1年なのにか。
0405名前は開発中のものです。04/07/12 21:16ID:gvw1JXEZ
長くやってりゃ技術力が高いってもんなの?
じゃあ、うすa
0406名前は開発中のものです。04/07/12 21:19ID:9bKY8Y1v
378を使ってクリックしたウィンドウで座標を常に表示するんじゃなくてクリックしたウィンドウでそこでクリックしたときの座標を表示するように
したいと思って
改造したんだけどなぜか表示されなくてサブルーチンが深すぎますってわけのわからないエラーが出ます。
サブルーチンなんか使ってないのに
0407名前は開発中のものです。04/07/12 21:19ID:9bKY8Y1v
#include "llmod.as"
mes "対象のウィンドウをクリックしてください"
repeat
wait 1 :stick a :if a&256:break
loop
ginfo :pm=prmx,prmy
dllproc "WindowFromPoint",pm,2,1
mes "hWnd:"+dllret
pm=dllret
dllproc "GetDC",pm,1,1
mes "hdc:"+dllret
hdc=dllret
mref bm,67
*saisyo
repeat
stick a
if a=256:goto *hyouji
wait 5
loop
*hyouji
ginfo
x=prmx
y=prmy
color 255,255,255
boxf
color 0,0,0
pos 0,0
mes "X="+x+"/Y="+y
pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020
dllproc "BitBlt",pm,9,5
wait 5
goto *saisyo
0408名前は開発中のものです。04/07/12 21:21ID:MhF3X/Gv
repeatはbreakで抜けろ〜♪
0409名前は開発中のものです。04/07/12 21:26ID:9bKY8Y1v
サブルーチンエラーなくなりました
0410名前は開発中のものです。04/07/12 21:29ID:9bKY8Y1v
ginfo
pm=prmx,prmy
dllproc "WindowFromPoint",pm,2,1
mes "hWnd:"+dllret
pm=dllret
dllproc "GetDC",pm,1,1
mes "hdc:"+dllret
hdc=dllret
mref bm,67
をコピーして*houjiのところに貼り付けたらなんかできました
0411名前は開発中のものです。04/07/12 21:47ID:d6Lfxib4
>>405
いや、つ〜か年齢的なものが凄いって話じゃないの
αカットとかもしてたらすごいな

14歳の時何してたっけ…
0412名前は開発中のものです。04/07/12 23:15ID:NnchSN47
>>411
チンコばかりいじってたな・・
0413名前は開発中のものです。04/07/12 23:52ID:1XHAxn/e
>>411
Live2ch使いながらRPGツクール2000とHSPして、そしてこのスレの>>413を取ったな・・
0414名前は開発中のものです。04/07/13 00:03ID:0zEjAb+8
ようこそ厨房。がんばれよ。
俺はテグザーやザナドゥで遊んでいた。
0415名前は開発中のものです。04/07/13 01:17ID:CiNvsXsI
14才の頃はBASICでゲーム作ってた・・・
486の33Mhzだった・・・
0416名前は開発中のものです。04/07/13 01:45ID:g6EadT8G
>>411
HSPの速度で、枝狩りしないほうが逆にすごいと思う。
件のゲームは見てないけど
041741404/07/13 03:23ID:0zEjAb+8
10歳くらいのときならMZ-80のS-BASICでゲーム作ってたな…
ゲームといっても数字当てとかそんなんだが。
0418名前は開発中のものです。04/07/13 03:49ID:TK4JM/yp
・・・で、今は2ちゃんねるで引きこもり?
はたちすぎれば・・・ってやつ?
0419名前は開発中のものです。04/07/13 04:46ID:Lz5YzU5q
おまえの2ちゃんねるはヒッキーがデフォかよ
0420名前は開発中のものです。04/07/13 07:39ID:vFIB3iKW
古いなw
042141404/07/13 08:14ID:OJ67xHS1
残念ながら会社員。
只今通勤中。
0422名前は開発中のものです。04/07/13 09:16ID:dh7V/bQH
ここって結構オサーンもいるんだな。リア厨工ばっかだと思ってたけど。
0423名前は開発中のものです。04/07/13 09:44ID:zmOKJOhH
Σ ビクッ

歳など関係ないさ。HSP暦って項目も別にイランと思う。
家内に迷惑かけない、金のかからない、怪我で会社を休む心配のない
そして何より面白い、理想的な趣味さ。
0424名前は開発中のものです。04/07/13 13:30ID:70PMAd5J
HSPでオセロというのはわりとソースも公開されて配布されてたりするし、
HSPは逆コンパイルもできてしまうので、本当にオリジナルソースなのかは
かなり疑問だったりするんだが、こんな風に考えてしまう漏れの心は
汚れきっているんだろうな…

嗚呼、ガキの頃に戻りたい…なんて毛先も思わないけどな藁
0425名前は開発中のものです。04/07/13 14:20ID:RNdlPERl
君ら時間の無駄ですよ
0426名前は開発中のものです。04/07/13 16:46ID:rue16gpO
378をゲーム画面でやろうとするとチカチカ表示されます。
きちんと表示できないですか?
0427名前は開発中のものです。04/07/13 19:01ID:MZbLq6+n
>>426
#include "llmod.as"
mes "対象のウィンドウをクリックしてください"
repeat:redraw 0:wait 1:stick a:if a&256:break
loop:ginfo:pm=prmx,prmy
dllproc "WindowFromPoint",pm,2,1:mes "hWnd:"+dllret
pm=dllret:dllproc "GetDC",pm,1,1:mes "hdc:"+dllret
hdc=dllret:mref bm,67:repeat
ginfo:x=prmx : y=prmy
color 255,255,255:boxf:color 0,0,0:pos 0,0:mes "X="+x+"/Y="+y
pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020:dllproc "BitBlt",pm,9,5
redraw 1:wait 5:loop
0428名前は開発中のものです。04/07/13 20:04ID:TX6McS+x
コンテスト裏評価板開幕

本家では作者に好ましくないコメントや評価はデリられるようでえ¥す
0429名前は開発中のものです。04/07/13 20:49ID:mMShfxAI
* ヲチ、ネタなどはスレ違い
悪口や影口なら別のスレでやって
0430名前は開発中のものです。04/07/13 21:06ID:SBxoQ0CZ
>>428
カエレ!!
0431名前は開発中のものです。04/07/13 21:25ID:BKMGRDcG
>>427
僕もそれためしたけど変わらなかった
どうやら無理のようですね
0432名前は開発中のものです。04/07/13 22:07ID:xIR/daWO
>>431
気づけよ・・・
0433名前は開発中のものです。04/07/14 14:50ID:B/jQfSrz
>>432
何をですか?
0434名前は開発中のものです。04/07/14 20:02ID:HnoZ8VO/
>>433
気づけよ・・・
0435名前は開発中のものです。04/07/14 21:01ID:ZeqkhIM1
>>434
考えても何も気づきません。
たねあかししてくださいm(_)m
0436名前は開発中のものです。04/07/14 21:07ID:+9Ns+GPF
  http://s03.2log.net/home/char/image/2004070601.jpg
  http://s03.2log.net/home/char/image/2004070602.jpg
  http://s03.2log.net/home/char/image/2004070603.jpg

0437名前は開発中のものです。04/07/14 21:40ID:1N5yJlO9
誤爆?
0438 ◆HOTsoUpxjY 04/07/14 21:54ID:kNHBvJ3h
>>436
「種」あかし…
0439名前は開発中のものです。04/07/14 21:56ID:m1Qe+XBt
 _, 、_
(;゚Д゚)・・・・
0440名前は開発中のものです。04/07/14 21:59ID:k1p0G+4L
工エエェェ(´д`)ェェエエ工工
0441名前は開発中のものです。04/07/14 22:06ID:1N5yJlO9
    _, ,_  パーン
 ( ‘д‘)
   ⊂彡☆))Д´)
0442名前は開発中のものです。04/07/14 22:09ID:jXt69r5k
ラクスたんが出ないんなら種2は見ない
0443名前は開発中のものです。04/07/14 22:26ID:4pVci+Gw
Seed2って3月の時点でもう決まってたんだよね。
Zの映画化も。
0444 ◆HOTsoUpxjY 04/07/14 22:32ID:kNHBvJ3h
キラがいないSEEDなんて考えられない
0445 ◆HOTsoUpxjY 04/07/14 22:36ID:kNHBvJ3h
>>426>>435
こんなんでいい?

#include "llmod.as"
mes "対象のウィンドウをクリックしてください"
repeat:wait 1:redraw 1:redraw 2:stick a:if a&256:break
loop:ginfo:pm=prmx,prmy
dllproc "WindowFromPoint",pm,2,1:mes "hWnd:"+dllret
pm=dllret:dllproc "GetDC",pm,1,1:mes "hdc:"+dllret
hdc=dllret:mref bm,67:repeat
ginfo:x=prmx : y=prmy
color 255,255,255:boxf:color 0,0,0:pos 0,0:mes "X="+x+"/Y="+y
pm=hdc,0,0,100,18,bm.4,0,0,0xCC0020:dllproc "BitBlt",pm,9,5
wait 1:redraw 1:redraw 2:loop
0446名前は開発中のものです。04/07/14 23:23ID:RJzW/d25
ガンダムはもうえーよ。そろそろ起動戦士ザクにしようぜ。
0447名前は開発中のものです。04/07/14 23:30ID:1N5yJlO9
安全戦士コンドム
0448名前は開発中のものです。04/07/15 03:22ID:IOD3Sm5H
>>447
南国
0449名前は開発中のものです。04/07/15 03:45ID:lNb54aN9
カードゲームを作りたいのですが、一番重要なカードの管理部分で詰まってしまいました。
配列変数なども使ってやってみたのですが、変数には1つの数値しか入れられないので、
その変数に名前、属性、数値、を持たせる方法がわからないのです。
それぞれの配列変数を作ろうとも思いましたが、それぞれをリンクさせる方法も思いつかないので・・。
ああ・・あとちょっとで思いつきそう!とずっと悩み続けて明け方になってしまいました・・。

説明が意味不明かもしれませんが、どうかよろしくお願いします。
0450名前は開発中のものです。04/07/15 03:54ID:3ULQ3Ryg
まずは国語の勉強しなさい。次に算数な。終わったら聞きに来い。
0451名前は開発中のものです。04/07/15 04:19ID:n9N+kaVJ
>>449
管理方法を変えれ

ex.
魔法1:ファイアボール /攻撃力2 /消費MP5
魔法2:ライトニングボルト /攻撃力3 /消費MP8
魔法3:ブリザード /攻撃力4 /消費MP12

魔法名:ファイアボール /ライトニングボルト /ブリザード
攻撃力:2 /3 /4
消費MP:5 /8 /12
0452名前は開発中のものです。04/07/15 05:22ID:lNb54aN9
>>451
dim magic_data,3
dim attack_data,3
dim mp_data,3

でやると、magic_data.0 = attack_data.0 = mp_data.0
にする方法がわからないんです・・・。すみません。


大変質問しにくいのですが・・・変数に文字を入れるのはどうすれば良いのでしたっけ・・。
一通りマニュアルには目を通したのですが、strくらいしか見つかりませんでした。
str magic_data.0 = fire ? ""で囲んでみたりもしてみたのですが・・。
0453名前は開発中のものです。04/07/15 05:57ID:3ULQ3Ryg
もう一度言う、国語の勉強をして来い
0454名前は開発中のものです。04/07/15 06:00ID:URSz5/iV
sdim magic_data 64, 3
magic_data.0 = "fire"
magic_data.1 = "Lightning"
...
のことか?

あと、
>magic_data.0 = attack_data.0 = mp_data.0
はどうしたいんだ?
配列のインデックスで判断するのはだめなのか?
0455 ◆HOTsoUpxjY 04/07/15 06:40ID:YMJF4DAf
screen 0,160,160
title "0〜2を入力"

sdim 魔法名,16,3
dim 攻撃力,3
dim 消費MP,3
魔法名="ファイア","ブリザド","サンダー"
攻撃力=4,6,8
消費MP=1,2,3
防御力=1

*in
cls
a=0
input a
button "push",*out
stop

*out
color 255,255,255
boxf
color 0
if (a<0)|(a>2) : goto *in
pos 0,60
mes "魔法名"+魔法名.a
mes "攻撃力"+攻撃力.a
mes "消費MP"+消費MP.a
d=攻撃力.a-防御力
mes "ダメージ"+d
stop
0456 ◆HOTsoUpxjY 04/07/15 06:46ID:YMJF4DAf
>>449
配列使うしかないに決まってるでしょ、
一括管理って、添字に変数使えばいいだけ

後々シャッフルする事を考えれば
カードに番号を振っておくといいね

全カード枚数分の要素を持った
配列を宣言しておくという事さ
0457名前は開発中のものです。04/07/15 06:48ID:lNb54aN9
>>454
sdimでしたか。。マニュアル読み直してきます。

>magic_data.0 = attack_data.0 = mp_data.0
すいません、「配列のインデックス」の意味も理解してません○| ̄|_

見捨てないで・・。
0458名前は開発中のものです。04/07/15 06:50ID:lNb54aN9
>>455-456
あ、レス書いてました。
ありがとうございます。とても参考になります。
0459 ◆HOTsoUpxjY 04/07/15 06:56ID:YMJF4DAf
>>457-458

おはよう、清々しい朝です。

カードゲームは配列が分かれば
難易度は高くないジャンルだと思う

カードという明確な「かたち」があるから
コーディングにとどまらず
画面のデザインからルールの設定まで
割りと決めやすいんじゃないかな
0460名前は開発中のものです。04/07/15 07:44ID:bt3SwMn1
>>449
>その変数に名前、属性、数値、を持たせる方法がわからないのです。
>それぞれの配列変数を作ろうとも思いましたが、それぞれをリンクさせる方法も思いつかないので・・。

それぞれの配列変数を作るので正解だ。リンクはアルゴリズムの問題。
例えばトランプの場合、数値は1から13まである。マーク(?)は4種類
ある。クラブを0、スペードを1、ハートを2、ダイヤを3で表すとする。
「0番のカードはハートの8である」ことを表すには、
number.0=8
mark.0=2
で十分だ。
0461 ◆HOTsoUpxjY 04/07/15 08:03ID:YMJF4DAf
>>460
たしかに一意のID番号も必要だろうね
ただcard.0〜52の一次元配列でいいと思う
スートは13で割れば求められるから
0462名前は開発中のものです。04/07/15 08:32ID:dz4jKn0i
>>459-460
おはようございます。

なんかこう・・・もうちょっとで出来そうな頭の中がもやもやしてます。
大きなヒントありがとうございます!(答えを言っているのかもしれませんが(苦笑
0463名前は開発中のものです。04/07/15 09:23ID:dz4jKn0i
>>455に書いてあるスクリプトを真似て、

;///// カードの管理 /////
dim CARD_ID,60;カードの番号
sdim name,16,60;カードの名前
dim attack,60;カードの攻撃
dim element,4;カードの属性

;///// カードの設定 /////
name="フレア","ゴブリン","ワイバーン"
attack=1,2,3
element=0,0,0

のように書き、

mes "カード名"+name.0 や mes ""+name.0+""

等で表示させようとしても、name.0には0が収納されてるようになります。
途中でclsなどを使うと初期化されてしまうのでしょうか・・・。
0464名前は開発中のものです。04/07/15 10:42ID:y0BMcOcB
これでやってみたが、ちゃんと表示されたぞ。
;///// カードの管理 /////
dim CARD_ID,60;カードの番号
sdim name,16,60;カードの名前
dim attack,60;カードの攻撃
dim element,4;カードの属性

;///// カードの設定 /////
name="フレア","ゴブリン","ワイバーン"
attack=1,2,3
element=0,0,0

mes "カード名"+name.0
mes ""+name.0+""
stop

変数名を間違えたりはしてないか?(nameをnemeとか書いてたり)
clsで変数がクリアされる事は無い。同じ変数名で再度dimやsdimしたときだけ
初期化される。
0465名前は開発中のものです。04/07/15 17:58ID:bt3SwMn1
>>463
ちなみに、識別番号0のカードは名前がname.0で、攻撃がattack.0で、属性
がelement.0である(識別番号は0〜59)という意味にしたいんだったら
dim element,60だ。
0466名前は開発中のものです。04/07/15 18:18ID:tN646g0a
今帰宅しました。

>>464
最初から見直したら原因がわかりました!!
ボタンのラベルで変数の設定の部分をジャンプして飛ばしていました・・。
ありがとうございます!

>>465
火、風、森、水
にしたいので、4までで良いと思います。
>>460のトランプからヒントを得ました!
できなかったら dim element,60 も試させてもらいます。
感謝〜。
0467名前は開発中のものです。04/07/15 18:34ID:tN646g0a
>>465
今考えていて思ったのですが、
やはり dim element, 60 じゃないと無理かもしれません。
0〜19=火 のように分ければいいんですよね。
4しかないと、4番目のカードまでしか属性が無い事になりそうでした・・。
0468 ◆HOTsoUpxjY 04/07/15 18:58ID:ez5KYzUa
>>466-467
>火、風、森、水にしたいので、
>4までで良いと思います
ほ、ほすぷっ!
…型とクッキーを別々に管理すればいいの
0469 ◆HOTsoUpxjY 04/07/15 18:59ID:ez5KYzUa
sdim 属性名,8,4
dim カード属性,5
属性名="火","水","風","土"
カード属性=0,1,2,3,0
repeat 5
カード番号=cnt
e=カード属性.カード番号
c=カード番号+1
mes ""+c+"枚目の"+"カード属性="+属性名.e
loop : stop
0470 ◆HOTsoUpxjY 04/07/15 19:04ID:ez5KYzUa
>>455に戻ると
この「手作りクッキー」式では「型」がないので
内容が重複していてもカードが何枚あっても
全部入力しないといけない訳です↓

魔法名="ファイア","ファイア","サンダー"
攻撃力=4,4,8
0471名前は開発中のものです。04/07/15 19:11ID:tN646g0a
>>468-470
ほ・・ほう、すっごい参考になります!
僕の無脳じゃどうやって応用していいか・・(笑
ヘルプ見ながら見直してきます!
■ このスレッドは過去ログ倉庫に格納されています