素人の俺にHSPで経営シミュを作らせるスレ
■ このスレッドは過去ログ倉庫に格納されています
0144143
2006/10/27(金) 16:36:08ID:QcGJJ2q50145名前は開発中のものです。
2006/11/04(土) 18:16:18ID:25HznFV00146名前は開発中のものです。
2006/11/11(土) 08:51:53ID:M0Jny10u0147名前は開発中のものです。
2006/11/11(土) 17:08:06ID:kedsRl650148名前は開発中のものです。
2006/11/11(土) 22:44:04ID:ShlMCNT9キャラグラフィックはフリー素材を
使えばいいと思うんだが、アイテムの説明画面?に
表示するアイテム画像とかどうすればいいんだ?
そこまで作ってから考えるべきか?
0149名前は開発中のものです。
2006/11/12(日) 05:00:01ID:AhKnmAxD0150148
2006/11/12(日) 06:50:49ID:mVQEJYwP0151名前は開発中のものです。
2006/11/13(月) 12:30:07ID:ct4aPG8D0152名前は開発中のものです。
2006/11/14(火) 00:16:18ID:EwPFJo2Jrepeat:redraw 1 : await 90 : redraw 0 : color 255,255,255 : boxf : color
pos 0,0 : if i=0{mes buf+"ノ"} : if i=1{mes buf+" シ"} : i++ : if i>1{i=0}:loop
0153名前は開発中のものです。
2006/11/14(火) 14:36:52ID:RjdBxu9Gアトリエの工房みたいなもんかな
0154名前は開発中のものです。
2006/11/14(火) 18:52:35ID:yowIx03Z今PCないからテストしてないけど
if cnt \ 2 = 1 {
mes buf+"ノ"
} else {
mes buf+" シ"
}
elseの使い方ってこれでいいんだよね
下は×?
if cnt \ 2 = 1 { : mes buf+"ノ" : }
else { : mes buf+" シ" : }
0155名前は開発中のものです。
2006/11/14(火) 19:20:22ID:x04N9JY7動くから×ではないけど
上の方が見やすくていいと思う
短く書きたいなら、僕ならこう
if cnt&1 : mes buf+"ノ" : else : mes buf+" シ"
0156名前は開発中のものです。
2006/11/14(火) 20:38:59ID:yowIx03Z差し支えなければcnt&1の部分解説お願いします
&ってandだよね
0157名前は開発中のものです。
2006/11/14(火) 21:02:01ID:ig36nVur0158名前は開発中のものです。
2006/11/14(火) 21:04:24ID:IQ3Eag2Q0159名前は開発中のものです。
2006/11/14(火) 21:05:58ID:ig36nVurHSPも弄ったことないです。ごめんなさい><
0160名前は開発中のものです。
2006/11/14(火) 21:53:18ID:x04N9JY7ttp://hspcenter.com/hspdt/faq.html
0161名前は開発中のものです。
2006/11/14(火) 23:28:03ID:EwPFJo2J0162名前は開発中のものです。
2006/11/15(水) 02:48:17ID:8+MckJX/思わぬところで勉強なりました
0163名前は開発中のものです。
2006/11/17(金) 11:57:52ID:6d9OxFnQ次は仕入れとか実装してみる
0164名前は開発中のものです。
2006/11/17(金) 13:15:56ID:v3TMPpCE0165名前は開発中のものです。
2006/11/17(金) 20:36:21ID:6d9OxFnQ0166名前は開発中のものです。
2006/11/18(土) 08:41:16ID:oZ2QyxGG0167名前は開発中のものです。
2006/11/19(日) 12:21:58ID:4uMp8sxg0168(@u@ .:;) ◆8LosfbQlKQ
2006/11/19(日) 13:37:08ID:WN5JCh4Q0169名前は開発中のものです。
2006/11/28(火) 17:03:35ID:AK/68WOMプロ野球チームを作ろうのHSP版でも作ろうかと思ってるんだけど
0170名前は開発中のものです。
2006/11/28(火) 18:56:31ID:AK/68WOM新すれ立てたほうが良いかな
0171名前は開発中のものです。
2006/11/28(火) 19:22:15ID:8XY9D2eQ0172名前は開発中のものです。
2006/11/29(水) 14:23:33ID:bb5sq1ANレミュオールってのやったことないからまずはそれをやってみるか。
0173名前は開発中のものです。
2006/11/29(水) 15:20:16ID:iJf+TSrZ0174名前は開発中のものです。
2006/11/30(木) 22:48:30ID:9uu6+Dg8感想:HSP初心者が作れるっていうレベルじゃねぇぞ!!犬と猫の中の人は神
0175名前は開発中のものです。
2006/12/01(金) 00:09:54ID:MCAZlnf20176名前は開発中のものです。
2006/12/01(金) 02:52:34ID:W+7L5AdD・背景を配置 ・メイン画面の配置 ・メッセージウィンドウの配置
・進行時間を表示 ・所持金の表示 ・体力等のメーターを表示 ・各種ボタンの配置
■システムを作る
---簡単---
・時間の進行と停止を切り替えるボタン ・セーブボタン ・ゲーム起動時のロード機能
・特定の時間帯にイベント発生 ・メーターの増減
---複雑---
・年数と月日のカウント ・所持金の増減
・素材Aを入手→保存庫に保管→更に素材Bを入手→素材Aが入った保存庫に保管という機能
・素材Aと素材Bを消費して商品Aを生みだす(↑ができれば簡単だけど)
とりあえずこんぐらいまで作りたいんですが、---複雑---以降がどうしてもわからないです。
特に"素材"をデータとして扱う方法が・・・
0177名前は開発中のものです。
2006/12/01(金) 08:40:31ID:8B34RAOm0178名前は開発中のものです。
2006/12/01(金) 08:48:12ID:byTwT/4O>・年数と月日のカウント
rpeat
rpeat 13,1
rpeat 30,1
DAY =cnt
loop
MONTH = cnt
loop
YEARS = cnt
loop
か
*MAIN
DAY++
if DAY = 31 {
MONTH++
DAY = 0
}
if MONTH = 13
YEARS++
MONTH = 1
}
goto *MAIN
0179名前は開発中のものです。
2006/12/01(金) 08:49:55ID:byTwT/4Oと素人考だけど
0180名前は開発中のものです。
2006/12/01(金) 12:53:37ID:qUetlNT51度に全てを考えないで、そうやって少しずつ作っていくと先が見えそうだ。やる気湧いてきた。
0181名前は開発中のものです。
2006/12/01(金) 18:05:22ID:+8ltbVQz>・素材Aを入手→保存庫に保管→更に素材Bを入手→素材Aが入った保存庫に保管という機能
#enum 素材A=0
#enum 素材B
#enum 素材C
#enum 素材終
#enum 個数=0
#enum 値段
#enum 重量
#enum 素材データ終
dim 素材,素材データ終,素材終:dim itemno,素材終:dim itemnotmp,素材終
itemcnt=0:item="素材A","素材B","素材C":itemhlp="素材Aなんたら","素材Bなんたら","素材Cなんたら"
素材(値段,素材A)=100,10:素材(値段,素材B)=500,30:素材(値段,素材C)=12300,128
pos 50,300:repeat 素材終:button gosub item(cnt),*label:loop:button gosub "ソート",*label2:pos 0,0:mes "保存庫"
stop
*label
if 素材(個数,stat)=0{itemno(itemcnt)=stat:itemcnt++}
素材(個数,stat)++
*label3
color 00,00,150:boxf 0,0,400,100:color 250,250,200:pos 0,0:mes "保存庫("+itemcnt+"種)":color 50,250,250
repeat itemcnt:no=itemno(cnt):if 素材(個数,no){:mes item(no)+"("+素材(個数,no)+"個) "+"("+素材(値段,no)+"円) "+"("+素材(重量,no)+"kg) "+itemhlp(no)}:loop
return
*label2
no=0
repeat 素材終:if 素材(個数,cnt){itemno(no)=cnt:no++}:loop
gosub *label3
return
素材にナンバー付けてそれを基準にデータの入れる場所を決める
0182名前は開発中のものです。
2006/12/01(金) 18:08:31ID:+8ltbVQz0183名前は開発中のものです。
2006/12/02(土) 00:41:23ID:NRVGt8VYアイテム名考えるの('A`)マンドクセ
130個考えたけど目標は1000個以上。
何か参考になるもの無いかな?
0184名前は開発中のものです。
2006/12/02(土) 01:25:07ID:6lLy8HZD0185名前は開発中のものです。
2006/12/02(土) 01:31:35ID:wsN8L4DQ0186名前は開発中のものです。
2006/12/02(土) 07:31:49ID:gETkzVn4進行時間表示/3つのボタン(クリックしたらメッセージ出るだけ)
>>176を参考にして、やっとここまでできた。
今は『特定の時間帯にイベント発生』って機能を製作中・・・
アイテム云々は置いといて、進行時間によって何かが起こるのを観察して楽しめるとこまで作ってみる
0187名前は開発中のものです。
2006/12/03(日) 11:54:09ID:47x4EUzqとりあえず130個あればテストするには十分だよ。
システムができてから、ここで募集するとかしてはどうか。
つーかアイテム全部自分で考えるのは無理だって
0188183
2006/12/03(日) 19:12:41ID:HObPtVA1人身売買か…。それは人道的にどうだろうな…。
アイテム種類別に分けてるけど、種類的には家畜に入りそう。
ちょっと考えときます。
>>187
そうしますか。
生産システムと従業員の雇用解雇も出来たし、
あとは探索と情報表示だけだ。
情報表示が恐ろしく厄介だけど。
0189名前は開発中のものです。
2006/12/05(火) 19:01:44ID:YkARYP460190名前は開発中のものです。
2006/12/06(水) 18:25:59ID:BK9i+BKV色んな陣営(勇者、魔王etc)とアイテムを売買したり、時には一緒に冒険したりするゲーム。
レビュー見て興味持った時には既に廃盤で、実際にプレイしたことはないんだが。
俺も完成するかはおいといて作ってみようかな。
0191名前は開発中のものです。
2006/12/07(木) 08:36:54ID:sKK7y4kn0192名前は開発中のものです。
2006/12/09(土) 05:54:04ID:c5vxJkglどうプログラムすればいいかとかまだ全く分からんけど、
タイトル
↓
設定
↓
ゲームオープニング
↓
画面レイアウト
↓
ゲームメニュー設定
↓
ゲーム内容
↓
エンディング
みたいな流れで組んでいけばいいのかな。
普通はどういう風に開発していくものなんだ?
それぞれかもしれんけど。
0193名前は開発中のものです。
2006/12/10(日) 11:38:38ID:LI/htFPqここでいろいろ質問してもいいのですか?
0194名前は開発中のものです。
2006/12/10(日) 14:04:01ID:MJRVooD6好きなところから作れば。
普通はゲーム本編でなくてはならないところから。
それ以外が出来ていてもゲームとして成立しないが、出来ていればたとえタイトルが
一枚絵でオープニングが無いとしてもゲームとして成立するから。
>>193
質問するのは自由だけど、返事が返ってくるかは君しだい。
初心者でも努力してるやつにはアドバイスくれるよ。
0195193
2006/12/10(日) 23:11:18ID:LI/htFPqプレイヤーは駅やバス停、歩道橋や自転車置き場などを設置して、良好な人の流れを作り上げ都市(町村単位かな)を
発展させていきます。
時には、オフィスビルや学校など、人が多く流れそうな建物を誘致して
利益効率のより交通経路などを作っていきます。
似たようなゲームはよくあると思いますが、このゲームの特徴は一人一人の動き
家から出てバス停まで歩き、バスに乗って駅に向かい、電車に乗ってマップ外にでる。
が一つ一つ見えることです。
とまあ、企画は良いのですが、プログラム未経験者なので、今はかなりしょぼいものしかつくれてません。
とりあえず、ボタンを押すと人と家が生成できて、人が適当に歩き回り疲れたら家まで行って
休むとまた適当にあるくというのを、かなりしょぼいグラフィックで作りました。
これからバスを作って、歩きよりも早くなる場合バスを選択して目的地まで移動するPGを作ろうと思うのですが、
なかなか上手くいきません。
0196名前は開発中のものです。
2006/12/11(月) 16:55:01ID:g5c9JN0Pいや、イメージするゲームの流れどおりに作ったほうが、分かりやすいのかなーと思って。
そもそもゲームの部分だけ作るなんて芸当できないしな。
全角スペースあるときちんと動かないとかさっき知ったしな。
俺が今やってるの見るとビビルぞ。素人すぎて。パラメータとか全然分からん。
ところでマジ初心者質問なんだけど、例えば
if a=0 goto *nannchara
if a!0 mes"aは0じゃなーい。"
と
if a=0 goto *nannchara
else : mes "aは0じゃなーい。"
って、コンピュータの出力的には同じなの?
処理が若干違うのはまぁ分かるんだけど(ホントか?
0197名前は開発中のものです。
2006/12/11(月) 17:39:14ID:s+DRZTYCHSPって論理演算子も = なんだな。
動作的には比較が一回増えるだけ。出力は一緒。
>>195
道とか距離はどう定義してるの?
ただ単に直線距離で移動するなら
人の移動速度v1, バスの移動速度v2, 距離関数d(X, Y)
人の現在地X、目的地Y、現在地最寄のバス停の位置A、目的地最寄のバス停の位置B
として
d(X, Y)/v1 と {d(X,A)+d(B,Y)}/v1+ d(A,B)/v2
を比較するだけなんじゃないかと思うが。
もし道が定義されてて、複数の経路から最短路を求めたいなら
ダイクストラ法とかを参考にするのがいいんじゃないだろうか。
的外れなこと言ってたらすまん。
0198名前は開発中のものです。
2006/12/11(月) 17:59:41ID:7P1PTF8HHSPが内部で最適化してくれるなら同じになる。
その辺は公式かHSPスレで聞いたほうがいいよ。
つーか素人は細かいこと気にしすぎると先に進まんぞ(俺も良くある)
気にせずどんどんやれ。
>>195
「うまくいきません」じゃあ何も分からんよ。
質問する時はこうやったんだけどうまくいきませんっていう風にしないと。
考え方がそもそも違うのか、プログラムの凡ミスかとかあるし。
そのプログラムをアップして見せたほうが、回答が得られると思う。
0199名前は開発中のものです。
2006/12/11(月) 19:19:50ID:g5c9JN0P早いレスサンキュ。
他の文を使っても同じ出力できるんだね。
else を &を使って表せたりするわけね。
こんなことは実際必要になるとは思わないんだけど、
根本的な理解がまだ足りてないから色々不安なんだよ。
考え方があっているのかとかね。
例えると
両方ともりんごに見えるけど本当にりんごに見えるであってるのか?
という感じ。本当そういうレベルで試行錯誤してる。
0200名前は開発中のものです。
2006/12/13(水) 05:13:49ID:+IY7VWQGゲーム内の日付進行とか、選択肢でパラメータかえるとか全然ワカンネ。
そもそも選択肢はどう表現するかわかんね。
とりあえずなんか出来そうなのに。まぁまだ1週間だしあせることないんかな。
0201名前は開発中のものです。
2006/12/13(水) 17:21:33ID:+IY7VWQGあーんもーなんなんだよー。
0202名前は開発中のものです。
2006/12/13(水) 17:25:35ID:No1qNqZY簡単な選択肢だったら、HSPだとボタン簡単に出せるからそれで処理分ければいいんじゃない。
ループネスト32回ってなんだよwやりすぎだろ。普通は5回でも多いと思う。
0203名前は開発中のものです。
2006/12/13(水) 18:27:30ID:+IY7VWQGrepeat
randomize
客=rnd(49)
if客=0 { :あ=10000 :b=6 :c=c+1 :d=(E-d)*2 }
if (客>0)&(客<8) { 上と似たようなの }
if (ry
if f+1>20) & (f+1<100) { if cnt=f-1 : break }
f f+1>=100 { if cnt=100-1 :break}
else{if cnt=20-1 :break}
await 10
loop
中略)
repeat
stick a
if a&288 :goto *一番上
if a&128 :end
await 10
loop
ざっくりだけどとこんなかんじでやってみたんだけど、
最初のリピート部分が終わって1ターン。
で下の部分でもどって2ターン目みたいな感じでやってみたんだけど、
こういうのはダメなんか?で、32回目くらいに止まる。
処理をなんかクリアするみたいなことをやるんだろうか。
犬と猫のソフトのイメージだとこういう感じでやるのかと思ってたけど、
違うやり方があるのかな。
0204名前は開発中のものです。
2006/12/13(水) 18:46:01ID:No1qNqZYうーん何を作ってるのか良く分からんのだけど、君の言うターンってなに?
あと犬と猫のソフトとか単語がわからなすぎ。
とりあえずHSPの解説サイトなんて山のようにあるんだから全部よんでみれば。
0205名前は開発中のものです。
2006/12/13(水) 21:53:12ID:sk2j2lQyおいおい、repeatから抜けないで違うrepeat行こうとしてるじゃんw
repeat
stick a
if a&288 :break
if a&128 :end
await 10
loop
goto *一番上
少なくてもこんな感じにする必要がある
0206名前は開発中のものです。
2006/12/13(水) 22:43:59ID:+tp3Sxo6http://sports2.2ch.net/test/read.cgi/entrance2/1156582008/67
芸能人極秘画像流出!!
0207名前は開発中のものです。
2006/12/14(木) 05:41:12ID:ueTWahwsできたよー。ありがとー。
一回抜けなきゃいかんのか。
しかし、どこかの初心者用講座HPに描画で抜けないrepeat文があったけど
あれはどうしてダイジョブなのかという疑問がわいてきた。
>204
本当はゲーム内時間で1分ごとに処理みたいのにしてみたいけど、
よくわからんから、一日とか1週間とか大きく括くって「ターン」って意味。
一日区切りで60日経過させるという処理どころか、
30日で終わっちゃうよてな具合で弱ってた。
あと犬と猫ソフトってフリーのゲーム作ってるところ。
同人ゲー板にスレもある。フリーの経営シミュでは
「レミュオールの錬金術師」っていうのが評価されてる。
>206
いまいち
0208名前は開発中のものです。
2006/12/14(木) 11:23:17ID:8QOdNZRm疑問はその場で解決したほうがいいんじゃない?
0209名前は開発中のものです。
2006/12/14(木) 17:03:10ID:3iBOdELPちょっと書き方悪かったか・・・
>一回抜けなきゃいかんのか。
別のrepeatに行くのが問題じゃなくて
repeatから抜けないで、同じrepeatを使用している場合、どんどん階層が深くなっていく
repeat 初回
repeat 2回目
repeat 3回目
repeat 4回目って感じでネストが深くなる(32?で限界)
loop
loop
loop
loop
>あれはどうしてダイジョブなのかという疑問がわいてきた。
onclick とかbuttonで、gotoするとネストが初期化される
*A
clrobj:tim=gettime(7):c++
repeat
tim2=gettime(7):if tim2>=tim{timtim+=tim2-tim}else{timtim+=tim2+1000-tim}
title "回数"+c+" TIME"+timtim+" ネストレベル"+looplev
if timtim>=1000{timtim=0:break}
await 10
loop
pos 0,0:button goto "next",*A
repeat:await 10:loop
0210名前は開発中のものです。
2006/12/15(金) 11:10:20ID:MyYSLXkaHSPってちょっとメンドインだな。
確か内部的にループが数えられてるから、それを一回初期化しないといけないって事か。
0211名前は開発中のものです。
2006/12/16(土) 06:05:44ID:CfFsNPhM大して出来てないけど作ってるということで状況を。
アトリエっぽいのを目指してる。
0212名前は開発中のものです。
2006/12/17(日) 03:33:43ID:R/iauPc40213名前は開発中のものです。
2006/12/26(火) 09:29:56ID:RaAnfkoW遅レスだけど
>209
よくよく考えてみれば当たり前なんだけど、
その時はREPEATを処理することが良くわかってなかった。(いまでもまだまだだけど)
repeatを重ねることが悪いのではなくて、
それがきちんと処理されていないから怒られたんだってことだよね。
>onclick とかbuttonで、gotoするとネストが初期化される
なるほど。そういう仕組みなのね。わかったyo
あと下の部分が何を表してるのかはまだ良くわからんです。
0214名前は開発中のものです。
2006/12/26(火) 09:30:53ID:RaAnfkoW今、ゲームの処理?部分を少しいじってみてるんだけど、
プログラム的には100の処理を100回繰り返すのと
最初から10000回で処理させるのってどちらがいいとかってあるの?
ゲームを一日ずつ進めるのじゃめんどいので、
四半期1ターンくらいにしようと思って
repeat
repaet
a=rnd(49) {
以下略
}
await 10
loop
if cnt=100 :break
await 10
loop
この文が本当に大丈夫かはおいといて、上みたいにしたんだけど、
処理に思った以上に時間がかかって、ゲームにならん。一回20秒くらい?
単純に日にち分倍にすることも考えたんだけど、
それだと、ランダムの分バランスがおかしくなる可能性が高くてやめた。
ランダムのパイは実際はもっと大きくするつもりだし、
最初のリピート部分にまだ色々というか
根幹になるようなものを付け足そうと思ってたんだけど、
なにか根本的にやろうとしてることがダメなんだろうか。
0215名前は開発中のものです。
2006/12/26(火) 11:11:43ID:Jm3/1jX20216名前は開発中のものです。
2006/12/26(火) 15:24:31ID:RaAnfkoW最後のだけawait 1 にして他消したら遅くない。
awaitって結構時間食うのか。 アリガトン
0217名前は開発中のものです。
2006/12/27(水) 06:07:08ID:EwS9Q8be表示する際には自然数のままにしたくて、
a=b-b\1
mes "+a+"
という感じにして見たんだけどだめといわれた。
どこがダメなのか全然わからん。
0218名前は開発中のものです。
2006/12/27(水) 14:32:42ID:ACX3YALq\は実数(小数点数)には使えない
a=int(b)
mes ""+a
0219名前は開発中のものです。
2006/12/27(水) 15:35:44ID:zRGqmIMM日本語でおk
0220名前は開発中のものです。
2006/12/27(水) 22:20:17ID:EwS9Q8beそうだったのかー。アリガトン。できたよ。
ただこれやると、前日比が小数点分ずれるのが難点か。
まぁ、最終的なバランスはあとでいいか。
つか、やり始めて、ふつーにやってたゲームが
実はスゲーんだなっていうことはわかった。
自分の頭の中にあることをどう表現すればいいかが、
さっぱりわからん。あれはどういう風に表現すんだろうとか。
0221名前は開発中のものです。
2007/01/26(金) 18:54:57ID:+GdML/pJ一体どうなってんのかしらねぇが>>181はスゴイ。
0222名前は開発中のものです。
2007/01/30(火) 04:16:41ID:dYY64/WX例えば
if a=b {
if cnt=a :break
}
という文を一行に表示できないかな?
:これつければいいのかと思いきやダメっていわれた。
if の{ }がよくわかんね。
if a=1{ b=2 :c=3 :d=4}
とかはできたのに。
0223名前は開発中のものです。
2007/01/30(火) 14:13:40ID:XSb3Ha1Pif a=b {if cnt=a {break}}
たぶん : だと
if a=b {if cnt=a {break }
な感じで、}が一つ足りない状態になる
0224名前は開発中のものです。
2007/01/30(火) 16:04:26ID:dYY64/WX一行にできたよ。アリガトン
何故かはまだわからないけど、
ifのbreakの時は:じゃなくて
{}を使うと憶えておくよ。
今ボタン勉強してるんだけど、
標準のじゃなくて、ゲームであるような、
アイコンを押すみたいなのって、
標準の絵、カーソルがあわさった時、押された時の絵
みたいな感じで絵を三つ用意して、
それを一つ一つ設定するというやり方になるの?
どう表現するかはさっぱりだけど。
0225名前は開発中のものです。
2007/01/30(火) 17:02:56ID:XSb3Ha1Pいやいやw(俺も223の解釈は間違いだがw)
breakが問題じゃなくて
: と { で ifの閉じ方が違うからだよ
{}使わなくても
if a=b :if cnt=a :break
これでもいい
if ; は次の行に移るとifが終わる
if { は } で終わる
if a=b {if cnt=a :break}
ってやると、if cnt=a :は行が変わらないと終わらないのに } が先に見つかってしまう
でも } では終われないので、if以外では{}が使えないとエラーが出る
(これはコンパイラの仕様というかバグと言うか・・・)
>みたいな感じで絵を三つ用意して、
3つ用意する事もあるだろうし
一つの絵を表示する時に加工したりもある
0226名前は開発中のものです。
2007/01/30(火) 23:56:11ID:dYY64/WXあーなるほど。なんとなくわかったよ。
{}で括らなくてもいいのか。ifは。。。。
ということは複数行になるような時は、
{}使う方が見やすくできるということか。
>一つの絵を表示する時に加工したりもある
絵に何らかの加工もプログラムでできるのか…。プログラムエライな。
シムシティとかみたいなアイコンボタンにしてみたくてね。
0227名前は開発中のものです。
2007/01/31(水) 04:06:17ID:soP7QZlkOTL マッタクワカラナス。
0228名前は開発中のものです。
2007/01/31(水) 04:58:41ID:pIpsohpY>シムシティとかみたいなアイコンボタンにしてみたくてね。
シムシティのアイコンボタンは知らないが、基本的にHSPで表示できる画像なら何でもボタンに出来る
ボタンオブジェクトの絵を差し替える方法もあるけど、ゲームなら自前で作った方がいいと思う
screen 1 :picload dir_exe+"\\sample\\demo\\hsplogo8.bmp" :screen 0 :sizex=80 :sizey=800/16 :bposx=200 :bposy=200
repeat :redraw 0 :color 0,60,60 :boxf
gosub *butsub
butcnt+stat:pos 0,0:color 250,250,250:mes "ボタン "+butcnt+"回"
redraw 1 :await 15 :getkey ml,1 :loop
*butsub
buton=0
if (mousex>bposx) and (mousex<(sizex+bposx)) and (mousey>bposy) and (mousey<(sizey+bposy)){
if ml{cntt=0:if ml!mlbak {buton=1}
color 50,100,150:boxf bposx,bposy,bposx+sizex,bposy+sizey:color 60,70,80:boxf bposx+1,bposy+1,bposx+sizex-1,bposy+sizey-1
pos bposx+2,bposy+4 :gmode 2 :gcopy 1,0,0,sizex,sizey :gmode 6,,,60 :gcopy 1,0,0,sizex,sizey
}else{cntt++
color 50,100,150:boxf bposx,bposy,bposx+sizex,bposy+sizey:color 60,70,80:boxf bposx+1,bposy+1,bposx+sizex-1,bposy+sizey-1
pos bposx+4,bposy+8 :gmode 6,,,255 :gcopy 1,0,sizey*(cntt/8\16),sizex,sizey
pos bposx,bposy :gmode 2 :gcopy 1,0,sizey*(cntt/8\16),sizex,sizey
if (cntt*6\512)<256{gmode 5,,,(cntt*6\256)}else{gmode 5,,,256-(cntt*6\256)}
gcopy 1,0,sizey*(cntt/8\16),sizex,sizey
}
}else{cntt=0
color 50,100,150:boxf bposx,bposy,bposx+sizex,bposy+sizey:color 60,70,80:boxf bposx+1,bposy+1,bposx+sizex-1,bposy+sizey-1
pos bposx+4,bposy+8 :gmode 6,,,255 :gcopy 1,0,0,sizex,sizey
pos bposx,bposy :gmode 2 :gcopy 1,0,0,sizex,sizey
}
mlbak=ml
return buton
もっと単純なのにした方がよかったかな・・・
何やってるか読みたい場合は一命令づつ改行してくれ
0229名前は開発中のものです。
2007/01/31(水) 05:05:02ID:soP7QZlk保存しました。これからできるだけ解読してみる。
0230名前は開発中のものです。
2007/02/02(金) 14:54:28ID:WMw4p0bPどこかまとめてあるところないのかな
0231名前は開発中のものです。
2007/02/03(土) 13:13:59ID:JGxVdJEW絵をずらしながら表示してアニメーションができるとか、
押した時の絵をすこしずらして、ちょっと色変えてるとか。
すごいな。
ただ、命令文もさる事ながら、つかわれてる変数がどうなってるのかもサパーリだ。
スクリーン1の意味からもうなんだかわからない。無いと止まるし。
0232名前は開発中のものです。
2007/02/03(土) 16:04:39ID:64JTsoCi>ただ、命令文もさる事ながら、つかわれてる変数がどうなってるのかもサパーリだ。
>スクリーン1の意味からもうなんだかわからない。無いと止まるし。
screen 1は、使ってる画像を分かりやすくする為に見えるようにしただけ(デバッグする時とかに有効)
普通はbuffer 1とかやって見えないウィンドウを作って、そこに画像を読み込んで
gcopy等を使って表示に使ってるウィンドウにコピーする
>if (mousex>bposx) and (mousex<(sizex+bposx)) and (mousey>bposy) and (mousey<(sizey+bposy)){
変数は、ボタンサイズ、ボタンポジションとシステムのマウス座標
ボタンの位置からボタンサイズ以内にマウスカーソルが有るかを比較してる
cnttはアニメーションのカウンタとして
mlはマウスの左クリック
mlbakは前回の左クリックの状態を保存(前回押されてない時だけボタン操作を有効にする為)
0233名前は開発中のものです。
2007/02/03(土) 17:41:30ID:b0e6Rts8絵を表示するってそういう風にやるものなのか。
絵はまだ詳しくやってないので勉強になった。
マウスの部分はなんとなくわかるんだけど、
やっぱり指定の仕方大変なんだなーと思った。
ボタン一つ一つに指定することになるんだよね。うーん。
そして今俺は何故か素数プログラムを組んでみたり。
一つ一つ憶えていくだけでも大変だ。
0234名前は開発中のものです。
2007/02/12(月) 16:54:40ID:nCPYMvzU経営シミュは見た目を気にせずコードに集中できて良さそうだと思ってるんだけど
0235名前は開発中のものです。
2007/02/14(水) 10:26:35ID:t2W674H8利用できるGUIあるならいいけど、意外とマンドクセかったりする
0236名前は開発中のものです。
2007/02/14(水) 13:16:48ID:ThETgi86ありえないラーメン屋でも想定して事実に即さないイベントばかり起こるようなタイプで
0237名前は開発中のものです。
2007/02/14(水) 20:17:38ID:ThETgi86とりあえずひな形でけた
http://www.nonchang.net/_test/GameDesigner/_simUI.html
ひな形であってあんまゲームになってない 我ながら操作しにくい
保存とかできないよ 実装するとしたらクッキーかな メンドクサス
せめて客くらいprototypeでオブジェクト化しとかんとな
あと作業員やタスク割も換算せんとな 開店中にどう仕込みするか
ひどく手抜きなターン制だ 判りやすさを維持しつつどうパラメータ増やすかだな
パラメータ影響もろくな計算式作ってないから滅茶苦茶だな
目標から逆算した計算式のバランス調整シミュも作っとかんと
絵くらい欲しいな
……経営シミュとか言える域まで作り込むのは手間だな
まあちまちま進めます
0238名前は開発中のものです。
2007/02/15(木) 14:19:18ID:2dOO1kLk複雑でなくコマンド選択して進めていくだけの単純なもの。
0239名前は開発中のものです。
2007/02/15(木) 17:51:21ID:ft9uO8DK0240名前は開発中のものです。
2007/02/16(金) 14:21:27ID:1JLdtjMW0241名前は開発中のものです。
2007/02/16(金) 17:37:03ID:/UuCzWDWそれで誰か困りそうなほどは人いなさそうだし。
実際に迷惑に感じる奴が出て来てから、移動考えればいいと思ふ
0242名前は開発中のものです。
2007/02/17(土) 22:30:29ID:TwbOAdY6時刻のカウントをするプログラム作ってみた。
初HSPでの本格的なプログラム。。
0243名前は開発中のものです。
2007/02/17(土) 23:20:55ID:TwbOAdY6目指すは>>239
■ このスレッドは過去ログ倉庫に格納されています