5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【別館】サルには出来なかった?スロゲー開発【2】

1 :1:05/02/28 17:02:21 ID:CKUFL/TS
たびたび落ちて
存在価値を否定されているサルスレですが
こりずに又立てました。

別館ですから本館の竣工までのつなぎと考えていますが
このまま落ちなければ利用してください。

:サルスレ用保管庫(仮)
ttp://rerebo.hp.infoseek.co.jp/

:フリー開発環境リンク(仮)
ttp://fortunehill.ld.infoseek.co.jp/

:フリーアップローダリンク(1rK.net)
ttp://www.1rk.net/

2 :( ´∀`)ノ7777さん:05/02/28 17:03:00 ID:dp286ED+
kl

3 :ぱんだぎらい:05/02/28 17:03:30 ID:DXOW38R9


4 :( ´∀`)ノ7777さん:05/02/28 17:05:07 ID:bBGm2EE4
ヨン様ファンの俺としては2を取るより4を取る事に執念を燃やしてる・・・


ヨン様GET!!!

5 :280S ◆280s76Tag. :05/02/28 18:05:31 ID:iPmd0b1w
; HSP3β4でメモリーの不具合が改善されたので過去に上げたタイマー割り込みのサンプルメインで作画・割り込みでカウンター表示を上げます。(1/2)
#uselib "user32.dll"
#func SetTimer "SetTimer" int, int, int, int
#func KillTimer "KillTimer" int, int
dim Scr,3 :dim Buf,3 :dim Tid,3 :dim Tms,3 :
dim Index,3 :dim Seg8x,16 :dim Seg8y,16 :dim Seg8s,16 :
dim Seg8e,16 :dim Seg8n,16 :dim Seg8w,16 :dim Seg8h,16 :
dim Seg8o,16 :dim Seg8b,16 :dim Seg8t,16 :dim Seg8c,16 :dim Seg,16,3 :
Scr(0)=0,2,3 :Buf(0)=5,6,7 :Tid(0)=1,2,3 :Tms(0)=1,1,1
oncmd gosub *Over_Time,0x113 :onexit gosub *Ende_Exec
buffer Buf(0) ;:picload "data/900/img/font_000.bmp"
font msmincho,30 :color 0,0,255 :repeat 10 : pos 16*cnt,2 :mes str(cnt) :loop
font msgothic,30 :color 255 :repeat 10 : pos 16*cnt,32+2 :mes str(cnt) :loop
screen Scr(0),320,200 :SetTimer hwnd,Tid(0),Tms(0),0
Seg8x(0)=10 ,100 :Seg8y(0)=0 ,0 :Seg8s(0)=100 ,10
Seg8e(0)=12 ,345 :Seg8n(0)=3 ,8 :Seg8w(0)=16 ,16
Seg8h(0)=32 ,32 :Seg8o(0)=0 ,32 :Seg8b(0)=Buf(0),Buf(0)
Seg8t(0)=0 ,0 :Seg8c(0)=0 ,0
*Main_Loop
await 100
color rnd(255),rnd(255),rnd(255)
line rnd(320),rnd(170)+30,rnd(320),rnd(170)+30
goto *Main_Loop
end

6 :280S ◆280s76Tag. :05/02/28 18:08:33 ID:iPmd0b1w
;(2/2)
*Over_Time
if wparam == Tid(0) {KillTimer hwnd,Tid(0)
repeat 16 :Index=cnt :if Seg8c(Index) != -1 {gosub *Disp_8seg} :loop
SetTimer hwnd,Tid(0),Tms(0),0}
return
*Disp_8seg
if Seg8c(Index) == 0 {Seg(Index,0)=1 :Seg8c(Index)=Seg8s(Index)
if Seg8s(Index) > Seg8e(Index) {Seg(Index,0)=-1} }
if Seg8s(Index) != Seg8e(Index) {Seg8c(Index)+=Seg(Index,0)}
for ii,Seg8c(Index),Seg8c(Index)+Seg(Index,0),Seg(Index,0) :Seg(Index,1)=ii
for jj,Seg8n(Index)-1,-1,-1 :Seg(Index,2)=Seg(Index,1)\10
pos jj*Seg8w(Index)+Seg8x(Index),Seg8y(Index)
gmode 1,Seg8w(Index),Seg8h(Index)
gcopy Seg8b(Index),Seg(Index,2)*Seg8w(Index),Seg8o(Index)
Seg(Index,1)=Seg(Index,1)/10
next
await Seg8t(Index)
next
if Seg8e(Index) == Seg8c(Index) {Seg8c(Index)=-1}
return
*Ende_Exec :KillTimer hwnd,Tid(0) :end

7 :280S ◆280s76Tag. :05/02/28 18:26:57 ID:iPmd0b1w
 :フリー開発環境リンク(仮)
にサンプル欄に本日開発分のソースと実行ファイルのサンプルを追加しました。

8 :( ´∀`)ノ7777さん:05/03/01 01:46:03 ID:QpZRvqwn
無駄と知りつつ保守age!

9 :101 ◆IntTEmehas :05/03/01 09:28:59 ID:h7yZOX6c
>>1
おつ。

回転部分からイチから見直しています。
次の組み合わせで一番安定するものを教えてください。

【1】await の値
【2】dllproc "Sleep",prm,1,D_KERNEL アリ・ナシ
【3】redraw アリ・ナシ
【4】redrawナシの場合、バッファに一旦書いてからコピーするかどうか
【5】速度自動検索アリ・ナシ(アリの場合その方法も)

今回、リールに重ね合わせもしようと思うので、redrawを使用しているのですが安定しません。
awaitは1でタイマー部は、
time0=time1
time
time1=stat
step=(((time1-time0)*80*60*21*100/60000)/100)\(21*60)
で、stepが送り値です。
>>5,6はすごい安定してますね。ちょっと調べてみます。

10 :( ´∀`)ノ7777さん:05/03/01 15:49:42 ID:E4NHXxzm
>>9
 HSP3β4から await の内部処理が変更されたので今一状況が把握できていません
また当方の環境(WinXPSP2)で数種類のBASIC系言語で実験した結果、別に起動されたプロセスや
OS起動からの内部状況によって同じソフトの挙動が(特にalphaBlend処理速度)変化してしまいます。
(OS再起動で元の状態に戻る)

 上記サンプルは#oncmdで割り込み処理をしています、今後LCD・LAMP・FLASH等を割り込み処理に
追加してメインでリール回転の構造で問題が発生するか検証していきたいと思っています。
>>7のサンプルはマスク付き(バッファ書込)リール回転とカウンタを配置した物です。


:HSP3β4で個人的な致命的な問題。

.文字列配列の格納が出来ない:a,64,16 :bsave "a.dat",a:でa(1)しか保存されないが仕様らしい。
(現在noteselで誤魔化し)

.onerrorで強制終了してしまう。
(対処方なし)

.stop以降も評価されてしまうのでデバッグが難しい。
(とりあえず/* */でくくる:Cの構文で使用できるREM・・・// /* */)

11 :101 ◆IntTEmehas :05/03/01 16:50:45 ID:h7yZOX6c
>>10
もしよかったらテスト・採点をしてもらえますか?
少しでも引っかかる感じ等あったら教えてください。

12 :( ´∀`)ノ7777さん:05/03/01 16:52:26 ID:h7yZOX6c
すいません。
張り忘れました。
http://rerebo.hp.infoseek.co.jp/test.lzh

13 :280S ◆280s76Tag. :05/03/01 17:55:05 ID:pNq6M8sM
>>12
;テスト用に下記編集を行いました。
*mainloop
title "inter="+inter+" step="+step+" speed="+speedPm+" Rpm="+Rpm
step=(((timer1-timer0)*Rpm*E_y*21*100/60000)/100)\(21*E_y)

getkey key,65:if key {Rpm++:if rpm >= 100 {Rpm=1}}
getkey key,83:if key {Rpm--:if rpm <= 1 {Rpm=99}}

gmode 1,34,34
pos 210,335 :if leftm=1 {gcopy 5,210,335}else{gcopy 5,0,400}

await 1
goto *mainloop

.軽快の回転しています。(個人的な以前からの懸案部分を除いて)
.repeat〜loopよりgoto *mainloopの方が将来有効かと。(ループから抜けてawait直後に戻れる)
.gmodeで取得サイズを指定してgcopyの方が楽かと。
.盤面マスクを6回行っていますが上下2回とかの方が軽いかと。
.盤面に演出を重ねる場合最後にマスクを1回掛ける方が便利かと。
.ridorawサイズより随時バッファーの必要位置コピーの方が柔軟かと。
.システム状態変数で今の処理内容を持たせた方が便利かと。
#machine=7 :1=回転中:2=液晶:4=ランプ などと(machine & 1)とか利用する。

14 :101 ◆IntTEmehas :05/03/01 18:17:57 ID:h7yZOX6c
>>13
ありがとうございます。

・gotoの有用性とは、repeat〜loop内のgosubでは代用できないですか?
(今回は出来るだけgosubを使わないようにしたい)

・マスクの件は、今後整理したいと思っています。また、ドット枠の部分も、boxfを使っていますが、今後の複数の重ね合わせに耐えられるかどうか、敢えて重い処理をさせています。
(無駄な箇所をチェックしておいて、徐々に軽くして行こうと考えています。)

・redrawよりバッファとの事ですが、一度、別バッファに描画したあと、その部分をメイン画面にコピーするのですね。これも試してみましたが、現在のredrawとの違いは見られなかったので、暫定的にredrawにしています。
ですが、柔軟性を考えると、別バッファ方式の方がいい気がしますね。

・状態変数は、game_jで一応監視しています。&演算は使えそうですね。

15 :101 ◆IntTEmehas :05/03/02 08:40:09 ID:+9eamaXi
定期的にネタフリ。
今更ながら「なか」氏のソース見ました。
今までは動かなかったので。

DirectXを使っているみたいですね。
hspdxですが、使い勝手はどうですか?
通常描画より高速ならそっちにしようかと思っているのですが。
(あくまでネタフリです…)

16 :( ´∀`)ノ7777さん:05/03/02 15:29:27 ID:kj2yTvXg
保守

17 :( ´∀`)ノ7777さん:05/03/03 00:39:12 ID:9luHuHLR
age

18 :280S ◆280s76Tag. :05/03/03 11:00:57 ID:jJPLzw86
>>14
 相変わらず「お茶ひいてるサルスレ」ですが。...

.Hsp3ではボタン等にgosubの使用が許されネストも考慮不要となったのでgotoで戻る必要は
なくなりましたがHsp2.61では必要な場合があるかもしれません。

.カレントウインドウの判別方。

#uselib "user32.dll"
#func GetForegroundWindow "GetForegroundWindow" int

screen 0,320,200 :Handle=hwnd
repeat
GetForegroundWindow
if Handle == stat {
stick Key
if Key & 256 {dialog "HSP" :end} }
await 1
loop

ピュ〜〜〜ン・・・ガッチャン!

19 :280S ◆280s76Tag. :05/03/03 17:30:05 ID:M5p7dshe
>>15
 HSP3β4サンプルに液晶演出を追加しリール回転・8セグ・液晶の同時実行を試しています
個人的には問題ないと思いますが
よろしければ新品のPCで動作確認してもらえると嬉しいです。...

 ttp://fortunehill.ld.infoseek.co.jp/sample/hsp3slot.lzh

 前にも伺いましたが簡単・効果的なテーブル教えて
ほしい。...

20 :101 ◆IntTEmehas :05/03/03 18:34:27 ID:EPHDEqGJ
>>19
非常に快適です。
液晶部のリール回転も含めて、ひっかかり等ありません。
正直、すごいです。

テーブルは、プログラム内部で処理をするか、直接データを取得させるかの違いがあると思います。
効果的な、というのは目的によって違うと思います。長所・短所ありますし。
簡単な、というのはやっぱり内部で処理をするコントロール制御ではないでしょうか。

21 :280S ◆280s76Tag. :05/03/04 05:05:22 ID:+wQ5bO0i
>>20
 ありがとうございます。(今後機能の追加でどうなるか解りませんが...

:ところで、最新のPCスペックって...すごいんでしょうね!。

:通常時体感回転を[1]とした場合SetTimerが空で1msで呼ばれている場合
感速度が[1.5〜2]倍になってしまう。(逆にありがたいのですが...

:基本的なテーブルは Table="043210090・・・,111・・・"で[0-5]が標準的な滑り
[6-9]がトリッキーな制御21以降もOP制御データと言う考え方は以前から変化していませんが
先にテーブルツールを作成するために
 .ツールを見ただけで直感的に理解しやすい (役構成と制御動作
 .編集が簡単 (多少テーブルの量が多くても殆ど自動で作成)
 .結果の確認が簡単 (一覧?
これも以前と同じですね。...神の降臨をまつ!

ピーガチャ プーガチャ ......

22 :お手伝い:05/03/04 18:51:27 ID:rV2g7SjG
ほす

23 :101 ◆IntTEmehas :05/03/05 02:08:18 ID:qUEX/EFs
常駐プログラムのせいかわかりませんが、場合によってはひっかかりがあります。
自分のも280S氏のも。
でもquest氏の作品はそういう影響を受けないみたいですばらしいです。

>>21
ツクール系でしたら、テーブル入力はGUIで直感的に操作でき、
「こことこことここに止まる」と指定して、あとはプログラム内で禁則処理をさせるのが良さそうですね。
まぁこれも以前と同じです…。

24 :280S ◆280s76Tag. :05/03/05 10:00:18 ID:aUATsdLx
>>22
.お手伝い ありがとうございます。

>>23
 .回転状態を気にしだしたらキリが無いとやっと学習した所なのです
気になると言っていては前回同様深みに嵌るので今回はHSP3のリリース状況を見ながら
一通り完成させてから考える方向で進行中です。
(いまだに一つも完成させた事が無い:自慢?)

ピーガチャ プーガチャ ......

25 :( ´∀`)ノ7777さん:05/03/05 15:27:05 ID:riPwdnMt
age

26 :( ´∀`)ノ7777さん:05/03/06 00:48:11 ID:ZRk1QjT3
このスレまた落ちたら別の場所に立てません?

個人的に四苦八苦しているのですが
かなり参考にさせて貰ってますので正直落ちられると辛いものがあるので…

27 :280S ◆280s76Tag. :05/03/06 01:47:31 ID:OGiJOzj/
.HSP3β5がリリースされました・
 onerrorは機能するようになった物のとび先にEND命令を記述するとランタイムエラーが発生する。

.サンプル(hsp3slot.lzh)にトップ・サイドランプの点滅を評価実装しました。

.相変わらず「チラシの裏」状態ですね。......

28 :( ´∀`)ノ7777さん:05/03/06 18:43:30 ID:ssOee+pp
age

29 :280S ◆280s76Tag. :05/03/07 03:03:32 ID:+PO0dXp8

.サンプル(hsp3slot.lzh)にELVision(盤面画像重ね合わせ)を評価実装しました。
 ttp://fortunehill.ld.infoseek.co.jp/sample/hsp3slot.lzh

30 :( ´∀`)ノ285:05/03/07 15:07:09 ID:og/5p8wd
新スレ立ちましたね>>1乙です。

>>29
重ね合わせはとても綺麗に出来てます。
しばらく回してると時々処理落ち(カクカク)します。
CPUモニターで見てみると100%でした。
停止動作(すべり)中に他のリールが止められるのは何気に凄いですね。ちょっと楽しいw


リール回転を液晶みたいな処理にするのを妄想中。。。(以前一度チャレンジして失敗)

31 :( ´∀`)ノ7777さん:05/03/08 00:22:15 ID:RHb4UozI
age

32 :280S ◆280s76Tag. :05/03/08 06:03:36 ID:Ny0kwFuW
>>30
 おひさしぶりです。

.>重ね合わせはとても綺麗に出来てます。・・・皆さんや( ´∀`)ノ285氏のノウハウを盗んでおります。

.処理落ちしますか・・・HSP3の開発状況とあと2〜3機能評価実装の状況から調整ですかね
 wait・sleep・settimerの値全て(1)です。

.当方のCPU負荷は数パーセントですが何が異なるのかwait値を上げれば解決しそうですが
 最良点と影響を与えるプロセスの究明が必要。
(RapidQでAlphaBlendを行うと別に起動されているプロセスの影響を受けるようでPC起動直後
 遅い回転が1〜2時間後に起動すると1.5〜2倍の速度に変化しCPU負荷も前者が100に対し
 後者は10程度・・・なにがなんやら:IEコンポーネント?)

.滑り中に他のリール止められますか?・・・描画処理が間に合わないのかも?


.>リール回転を液晶みたいな処理にするのを妄想中。・・・カイジ?・・・又スゴイの見せて下さい。

33 :( ´∀`)ノ7777さん:05/03/08 23:17:04 ID:G52xMhbV
あげ

34 :( ´∀`)ノ285:05/03/08 23:24:06 ID:drab51HL
>>32
液晶みたいなリールじゃなくて、リールの描画をタイマー使って
30fpsなり60fpsなりにすれば回転中の負荷が減るかな〜と。
色々試してみましたが既に有るソースの改造では上手くいかない・・・
1から専用に作り直す必要があるかも?と判り元気がorz

負荷100%になるのはおいらも一緒でした。
32氏の政宗なんかは30%前後と非常にCPUに優しく動作も機敏で理想はアレなのですが・・・。
とりあえずおいらのすろげ〜は全停止時のみwait値を多めに変更する事でお茶を濁してます。
(回転中100%は変わらないのですが10〜30%が間に入る様になるので熱を持ち難い)

http://money3.2ch.net/test/read.cgi/slot/1110153911/9
常時ageで600台まで下がると危険らしいです・・・ageときますね

35 :( ´∀`)ノ7777さん:05/03/08 23:39:20 ID:a8EC0BDT
イヤミを言われてアタッマきた

36 :280S ◆280s76Tag. :05/03/09 04:57:42 ID:8f7Zh0SA
>>34
.>液晶みたいなリールじゃなくて、・・・今一イメージが沸かないのですが形になったら見せてください。


.今日は進捗が無い、何故かと言うと久々にお出掛けして「雷電」を打ってみたから
誰も打っていないので「糞台」と思ったが5KでSB=22:NB=2:RB=3出たので嬉しかった。
(プチストックみたいで2〜3連荘がメインで300〜400Gで当選した)

.又チラシの裏ですか。

37 :280S ◆280s76Tag. :05/03/09 16:34:52 ID:IqPtbecS
.今日も昨日に味をしめお出かけ、580Gの銭形を30K投資で1464GまでRT旅行しかし
 ここからが凄い3G連はないものの10G以内でBIG7連
 初めての経験でした(今まで最高4連)
 最高天井1470Gで単発経験から諦めていたので
 うれしかった。

.と言うチラシの裏でした。(目的はageという事でゆるされたし)

38 :( ´∀`)ノ7777さん:05/03/10 05:21:33 ID:ern+Am6n
age

39 :( ´∀`)ノ7777さん:05/03/10 07:28:04 ID:k0icDzR4
あげ

40 :280S ◆280s76Tag. :05/03/10 07:55:50 ID:ur4mbrxc
.サンプル(hsp3slot.lzh)のプロセス優先度をリアルタイムに設定してみました。
 CPUを無理やり奪っているので安定している気がするのですが?。
 (高でもいいと思う: スロゲー・タスクモニタ起動時CPU使用率8〜11%でした)

 ttp://fortunehill.ld.infoseek.co.jp/sample/hsp3slot.lzh

18 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)