>>929 毎度どうもです。。
よくよく考えればそうですなぁ。。
あとリールが中途半端に止まるのは自己解決。。
変数aの値を変えればいいだけだった・・・
さてさて、、リールを3つ(ズレもないように)止めるまでできたので そろそろ絵柄の制御(BIG,REG,子役の成立)とかを土日(22,23)迄にできたらいいなぁ。 と検討中。。 とりあえず明日は台の画像にリールを合成できるように・・・(実は今日やってるけどうまくいかない・・・)
はずめまして いやーHSP触ってみたがやっぱりむじゅいなり。漏れVB信者(といってもヘボアプリくらいしか作れんけど) なんで、他の言語に手を出すのは違和感感じますなぁ。 みんなスロゲーHSPで作ってるみたいですけど、よくできますね・・・。 漏れ最近アステカにはまってるのでVBなんかで作ってみたいわけなんですが・・・。 いかんせん0からの開発は難しすぎる・・・OTL きっとこのスレからまた、良スロゲーが出ると思ってます。期待してます。 皆さんがんがってください。
いやはや・・・発言伸びてますね。
それに引き替え、うちのソフトの作成は・・・詰まってばかり(泣)
ふと現実逃避にスロ打ちに行って思った。
「暇があるならソースを読め」か・・・その通りかもしれない・・・・
勉強もせず当たって砕けろ見たいな作り方は、いい加減に止めたほうがいいのかも。
まぁ、とりあえず現時点での「衣の生地芯」を置いておきます。
http://www.geocities.jp/wool100per/koromono_kiji.html ようやくボーナスゲーム一式入れて見栄えはよくなったのですが・・・・
速いパソコンでないと現実的なゲームにならないかも。
もう一度作り直しを念頭に入れてみるか・・・・
934 :
シェンロンφ ★ :04/05/17 13:00 ID:???
さてさて、絵柄役の制御ですが、 リールの座標を指定してそれが画面表示内に入ったらコインを追加する という手法を取ろうとおもうのですが良い方法が浮かばない・・・
>>936 作り直しは視野に入れてたのでそうしてみます・・・orz
まぁ、一度は通る道として腹くくりますか・・・
いつもサンクスです・・・
>>935 発想自体は同じなのですが、一度リール配列を、配列(変数)に格納してはどうでしょう。
具体的には、1=赤、2=青、3=バー、4=ベル、5=リプ、6=スイカ、7=チェリーのように決め、
reelhairetu.0.1=1,5,7,5,3,1,4,6,5,2,…
reelhairetu.0.2= …
reelhairetu.0.3= …
のように格納します。
回転中(又は停止時)に、枠内の絵柄が何であるかがわかるようになると思います。
>>938 うむうむ・・・
せっかく考えていただいたのに申し訳ないのですが一応
>>937 のquest氏の意見にもあったように
一度リールを作り直してみようかと。。
絵柄を一つのデータとして最初から変数にしておいて、
それを配列化して回してみるという手法を一度やってみようかと。。
ちと考え中なのですが、
gcopyで読み込んだものを変数化することって可能でしょうか?
例えば、
aka7=gcopy 2,1,1,140,60
とか。。
940 :
90 :04/05/18 01:33 ID:xYKkvLA2
基本的に画像データを変数に格納することはできませんです。
(厳密に言えば可能だけど、gcopyで扱える形式では無くなる)
その役割に当たるのがbufferでゴンス。
7 ←こんな感じに使う絵柄を1つずつ並べた画像を作ったbufferに
七 あらかじめロードしておき、「上から何番目の絵柄か(0〜6)」を
BAR 配列変数にリール配列を作っておきます。(
>>938 の101氏参照。)
(RP)
☆ あとはbufferをメイン画面にgcopyする時にy座標始点を
△ 絵柄の縦幅×絵柄番号とすれば、1行でまとまりますよ。
♪ おそらく、このスレにいる人の半分以上がこの手法かと…。
>>940 どもです。。
そうか、、bufferか。。
とりあえずリール配列は完成。
あとはbuffer形式に書き換えればOKか。。
とりあえず今日はこれが終了するくらいまでかな・・・。
明日は回して止める。(1回やってるから何とかなるだろう。。)
うほ、キャップ持ちが普通にカキコしてる スロ板も奥が深い(w questさんがんばって〜
944 :
90 :04/05/19 03:40 ID:6k48bA+4
>>942 ソース見たべさ〜。絵柄1つに1枚のbufferを使ってるわけですな。
しかし、配列を作るところで少し混乱してる模様?
マウスでリール配列を編集できるツールがあるので、良ければ
使ったってください。(まだあぷろだに在るかと)
notedelって、メモリからは消してくれないんですかね? というのも、noteselで対象にした変数に、"BIG\n"や"REG\n"をボーナスが揃った度に記憶させ、 10個を超えないようにnotedel 10で消しているんですが、 sdimで宣言した文字数を超えると(BIG\nは5文字なので、64文字を宣言していたら13回目のBIGで) オーバーフローしてしまうのです…。 メモリを大きく取って置く事で回避できそうですが、無限回にするためにはnotedelは向いていないのでしょうか? 配列変数を利用して、noteselのように地道にシフトさせている所もあるのですがどうも不細工に…。 数十個のデータをシフトさせて記憶させるスマートな方法はあるのでしょうか?
ちなみにnoteselを使っていないところのシフトのさせ方です。 tmp3=0 repeat 3 tmp1=19 tmp2=18 repeat 19 a.tmp1tmp3=a.tmp2.tmp3 tmp1-- tmp2-- loop tmp3++ loop a.0.0=left;0には最新を記憶 a.0.1=center a.0.2=right こんな感じで必死です(汗w left、center、rightの値をそれぞれa.0に入れ、古いデータをひとつずつシフトさせてます(a.20まで)
947 :
90 :04/05/19 07:50 ID:6k48bA+4
>>942 例のツール、まとめページにうpしといたので
良ければ使ってくんろ。
>>945 >noteselで対象にした変数に、"BIG\n"や"REG\n"をボーナスが揃った度に記憶させ、
この作業はどうやってるの?noteaddを使ってればオーバーフローは
ありえないハズなんだけど…。パラメーターでシフトも可能だし。
>>947 即レスありがとうございます。
a="BIG\n"+a
のあと、
notesel a
notedel 10
ってやってました。
noteaddで追加&シフト出来たんですね。
解決出来そうです。
…が、これって容量を自動的に増やしてくれるようですが、どんどんメモリを食いそうな気が…。
10個分なら10個分のみの容量で、シフト&格納するためには
>>946 のような方法を取るのが最適ですか?
履歴の最初の位置と履歴のサイズを管理して配列の要素コピーをしない方法で履歴 つくろうかと思ってます。 dim rireki,10 rirekipointer=0 rirekisize=0 とかにして(この例は数値ですが)履歴ができたらrirekisize++にし、 履歴がrireki.9まで行ったら次の履歴はrireki.0に書きこんでrirekipointer++と すれば10個の履歴を配列要素コピーなしで管理できるので、こんな感じで実装しようと思ってます。
遅レス・・・時間ねぇ・・・(⊃д`)・゚・
>>866 サミーARは好きです、ディスクとかハイリミとか。
でもとりあえずコンセプトは「ギャンブルコンボ+ナイツ」です。
色々試したい事はあるんです。が・・・
もうすぐ次スレ立てないと・・・ >>リール描画について 自作PG「test」のリール部分を一部開放(コピペしても動かないがw;) buffer 10,1,1:picload "pic/con_egara.bmp";←通常リール ;リールサイズ初期設定 picsize_x=130:picsize_y=60;yy_L=0;dim reel_L,29 reel_L=2,5,6,7,8,7,6,2,5,6,7,8,7,6,2,5,6,7,8,7,6,2,5,6,7,8,7,6,2;←なんで29コマなのか?は秘密 ;リールバッファ ;(左) x=0:y=0:yy=0 buffer 11,picsize_x,picsize_y*29 repeat 29 pos 0,x:gcopy 10,1,((reel_L.y)*60-120),picsize_x,picsize_y;x=x+picsize_y:y=y+1 loop pos 0,0;gcopy 11,0,0,picsize_x,picsize_y*3 stop スロ絵柄をまとめて一つのbmpにしています。(pic/con_egara.bmp) で、空リールを用意して(buffer11)とりあえずサイズ決定。 上から順番に入れていくわけですが、入れる時に絵柄のどの部分かを決めてあげる。 本当ならば絵柄1つにバッファ1つを付けるのがやりやすいけどバッファに個数限界があるので なるべく少なくしたい、ので絵柄番号ではなくリール位置情報をリール配列に埋め込んだ。 まぁ私独自な考え方なので理解不能でしょう_| ̄|○コンナノモアルヨテイドデ...
952 :
90 :04/05/19 09:04 ID:6k48bA+4
>>948 「1個目に新データを挿入(add)」、「11個目を削除(del)」を
毎回1セットでやれば10個分の容量を保てるんじゃない?
quest氏のポインタ方式もアツい。これはゲーム履歴管理以外の用途でも
汎用的に使う考え方なので、要チェックや!(懐かしい)
ディスクの文字を見て思い出した。そういや、カイジスロって
最初は陸奥一番星+ディスク+キャッツってコンセプトで作ってたのに
いつのまにか配列がキャッツ→サイドラになってたり…。何やってんだか。
>>949 うーん。
すいません。
rirekipointerはどこに使用するのでしょうか?
もしよければ具体的なソースをお願いします。
今日はバイトもないので、専門学校の授業終わって即行スロ屋へ。
・・・・魔法蛙にやられますた・・・。
さてさてスロ開発のほうですが、
>>944 の90氏のご指摘の通りリール配列に苦戦してます・・・
アドバイス通り配列編集ツールをうpろだに取りにいくも発見できず・・・。
HSPの配列について小一時間勉強してみますわ・・・
956 :
280S :04/05/19 16:38 ID:VXHRuezo
おばんです!。(スレの活性化おめれとう!。......
>>953 適当にコーディングしてみると、こんな感じでしょうか?
;初期設定
#define RIREKI_MAX 10 ; 履歴保持数
dim rireki,32,RIREKI_MAX
rirekipointer=0
rirekisize=0
;役成立判定部分
if(yaku=0){ ; BIGが揃った!
if(rirekisize<RIREKI_MAX){ ;履歴保持数を超えていない場合
rireki.size=""+gamecounter+" BIG"
rirekisize++
} else { ;履歴保持数を超えた場合
rirekipointer++
if(rirekipointer>=RIREKI_MAX) { rirekipointer=0 }
rireki.rirekipointer=""+gamecounter+" BIG"
}
}
上のつづきです。 ;履歴表示 if(rirekisize<RIREKI_MAX){ ;履歴保持数までいっていない場合 ;一番古いのは0で一番新しいのがrirekisize repeat rirekisize mes ""+rireki.cnt loop } else { ;履歴保持数までいっている場合 ;一番古いのはrirekipointer+1で一番新しいのがrirekipointer repeat rirekisize tmp=cnt+rirekipointer+1 if(tmp>=RIREKI_MAX) { tmp-=RIREKI_MAX } mes ""+rireki.tmp loop }
適当に打ったので間違えてました if(rirekisize<RIREKI_MAX){ ;履歴保持数を超えていない場合 rireki.size=""+gamecounter+" BIG" → rireki.rirekisize=""+gamecounter+" BIG"
>>957 おいらと配列の使い方がほぼ同じみたいなのでサンプル載せときますね。
///reelhairetu,3,21に格納
for i,0,21,1
reelhairetu.0.i = reel1.i
reelhairetu.1.i = reel2.i
reelhairetu.2.i = reel3.i
next
///reelhairetu,3,21からリール配列のバッファを作成
//// ---------前準備 ////(ソースの先頭で定義)
#define C_CHIP_SIZE_X 137 //// リール絵柄1つ分の画像横サイズ
#define C_CHIP_SIZE_Y 60 //// リール絵柄1つ分の画像縦サイズ
buffer 3,C_CHIP_SIZE_X*3,C_CHIP_SIZE_Y*21,0 //// リール配列画像描画用バッファ
/// ↑このbuffer命令をscreenにすると動作が判り易いです。
//// 前準備--------- ////(ソースの先頭で定義)
for i,0,21,1
for t,0,3,1
pos t*C_CHIP_SIZE_X,i*C_CHIP_SIZE_Y
gmode 1:gcopy 2,0,reelhairetu.t.i*C_CHIP_SIZE_Y,C_CHIP_SIZE_X,C_CHIP_SIZE_Y
next
next
>>961 についての説明
おいらのソースからのほぼそのまま転載です。
上段「///reelhairetu,3,21に格納」部分は、reelhairetu.?.xに入れたリール配列を
reelhairetu,3,21にまとめる処理です。配列は数字のついた変数と思えばいいと思います。
下段「///reelhairetu,3,21からリール配列のバッファを作成 」部分は
リールチップの画像とリール配列を格納したreelhairetu,3,21変数から
リール配列の画像(buffer)を作成する処理です。bufferを初期化している部分を
screen命令にすると処理が目で見えるようになり判り易いです。
リール配列の画像(buffer)を作成した後は以前のように描画に関しては
そのbufferからコピーすればOKです。
>>958 なるほど。何となく理解できましたがこんな感じでしょうか?
rireki.0=@
rireki.1=A
rireki.2=B
…
rireki.9=I
ここまで行ったら、次はrireki.0が最新、rireki.1〜rireki.9までは今まで通り
rireki.0=J
rireki.1=A
rireki.2=B
…
rireki.9=I
次はrireki.1が最新、それ以外は今まで通り
rireki.0=J
rireki.1=K
rireki.2=B
…
rireki.9=I
964 :
90 :04/05/20 03:43 ID:zT/FEvo1
あっと。言い忘れ。
>>952 (90氏)
noteadd¬edelをセットで使ったら、11個目以降のデータが消えてくれました。
これにより10個分の容量で保てました。
ありがとうございます。
なんかバケやがった…OTL >noteaddとnotedelをセットで使ったら…
967 :
90 :04/05/20 04:45 ID:zT/FEvo1
>>966 それはよかったのう。(信長様口調で)
しかし、猿スレもついに4本目ですか。メデタイ。
そういや、
>>956 (280S氏)、オシゴト忙しい?
>シェンロンφ スレたて乙です。 >101さん そうです。noteaddとかのほうが楽そうなんで、あんまり役に立たないかもしれませんね(^^;
バイト帰宅〜。
>>961 の285氏
どうもっすー。
>おいらと配列の使い方がほぼ同じみたいなので
いやぁ、実はかなり参考にさせてもらってたりします。。ふふふ。。
一応、学校でも弄ってたんですけど、
エラーは出ないがコンパイルできない・・・・orz
ソースの順番とかあるんですかねぇ、、
つうか・・・このリールを回すのに何日費やしてるんだ俺・・・
当初は「一度やったから楽勝だろ〜」って感じだったのに・・・
>>964 の90氏
どもですー。。
早速ダウソして試してみましたー(学校で)
ソースが表示されるのではなく、書き出されたファイルを読み込むんですねー、、
(いやもういっそうのこと全てツールに頼ろうか・・・しかし勉強にはならないかも・・・)
俺は果てしなくサルに遠い男です・・・
おはようございまッス(`・ω・´)
>>969 リール表示→動かして止める部分はある意味メインなのでしっかり作っといた方が
後々楽ですよ。がんがって下さい。
>エラーは出ないがコンパイルできない・・・・orz
>ソースの順番とかあるんですかねぇ、、
おいらのソースは1本だけなので順番とかは無いのですが、おいらのソースの事じゃないのかな?
dsoundex(プラグイン)のインストールして無いとか?
もしおいらのソースの話だったらdsoundex使ってるのでこれHSP環境に組み込まないと
コンパイルできないッス。
>>971 うーん、、私のソースです。。
そして何か弄って改造してみたらgcopyのところにエラーでたし・・・
バイトから帰宅後またいじって見ますか。。
975 :
280S :04/05/22 14:20 ID:jEW/7Op8
>>974 はじめまして。(たまたまソースを拝見しましたので参考までに。
1.tate= と tate3= を 入れ替えると上下に動いて見えます定義位置はループ外
のほうがいいですよ(遅くなるので変化しない物を毎回再定義しない)。
2.tate=5,6,4,0,6,4,1,5,6,4,3,6,4,2,5,6,4,6,3,4,0 から gcopy 2,0,tate.num*60,136,60
の方が簡単ですよ(60が固定値なら変数に割り当てるとさらにスッキリ)。
がしかし致命的なのは同じ場所で絵柄が変化する事です。
完成たのしみにしていますガンガッテくらはいマセマセ。
>致命的なのは同じ場所で絵柄が変化する事です。 実は作ってるときに薄々これ感じてました。。。 さて・・・・ これをどう克服するか。。 単にposを変化しても意味無いし・・・ 強引にこのまま行くか・・・
#define REELBASE_PICNAME "reel.bmp" ; リール絵柄画像の名前 #define REELBASE_BUFFER 3 ; リール絵柄画像バッファ #define REEL_BUFFER 4 ; リール画像バッファ #define REELPIC_W 80 ; リール絵柄の幅 #define REELPIC_H 35 ; リール絵柄の高さ dim reel1,24 ; 左リール絵柄配列格納用 dim reel2,24 ; 中リール絵柄配列格納用 dim reel3,24 ; 右リール絵柄配列格納用 ;リール絵柄配列の定義/リール絵柄番号:青7(0)、扇(1)、リプレイ(2)、兜(3)、海苔(4)、チェリー(5)、赤7(6) reel1=2,3,1,3,2,0,2,3,1,6,5,4,3,2,1,0,1,3,2,4,5,2,3,1 reel2=2,6,3,5,2,5,3,4,2,1,3,6,2,1,3,0,1,2,5,3,5,2,6,3 reel3=3,5,0,2,3,1,4,2,3,1,6,5,2,3,1,0,2,3,1,5,2,3,5,0 buffer REELBASE_BUFFER : picload REELBASE_PICNAME ;リール絵画像の読みこみ buffer REEL_BUFFER,REELPIC_W*3,REELPIC_H*24 ;リール配列用バッファを定義 ;リール絵柄をリール配列バッファに並べる repeat 24 gsel REEL_BUFFER pos 0,(24-cnt)*REELPIC_H : gcopy REELBASE_BUFFER, 0,reel1.cnt*REELPIC_H, REELPIC_W,REELPIC_H pos REELPIC_W,(24-cnt)*REELPIC_H : gcopy REELBASE_BUFFER, 0,reel2.cnt*REELPIC_H, REELPIC_W,REELPIC_H pos REELPIC_W*2,(24-cnt)*REELPIC_H : gcopy REELBASE_BUFFER, 0,reel3.cnt*REELPIC_H, REELPIC_W,REELPIC_H loop
;リールをウィンドウに描画(reel_?_xは各リールのx座標、reel_t_yは各リールのy座標)
>>977 は配列を使ってリール配列をつくるサンプルソースです。
リール配列画像を読みこんで表示するときとの違いはgcopyの第1引数だけです
作ったリール配列を表示するときのサンプルは以下のようになります。
gsel 0 : pos reel_l_x, reel_t_y : gmode 0 : gcopy REEL_BUFFER, 0,reel1pos, REELPIC_W,REELPIC_H*3
gsel 0 : pos reel_c_x, reel_t_y : gmode 0 : gcopy REEL_BUFFER, REELPIC_W,reel2pos, REELPIC_W,REELPIC_H*3
gsel 0 : pos reel_r_x, reel_t_y : gmode 0 : gcopy REEL_BUFFER, REELPIC_W*2,reel3pos, REELPIC_W,REELPIC_H*3
979 :
979 :
04/05/25 16:59 ID:GejY6AMo 979