HSP - Hot Soup Processor [11]
1 :
名前は開発中のものです。 :
2005/12/02(金) 11:02:48 ID:/jDdeuWB ( ,,,)
.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは
>>2-8 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
2 :
名前は開発中のものです。 :2005/12/02(金) 11:04:33 ID:/jDdeuWB
3 :
名前は開発中のものです。 :2005/12/02(金) 11:05:06 ID:/jDdeuWB
4 :
名前は開発中のものです。 :2005/12/02(金) 11:05:34 ID:/jDdeuWB
Q&A Q HSPで○○は作れますか? A あなたの努力と根気次第です。じゃんけんからRPGまで、 ありとあらゆるゲームが作成可能です。 Q 構造体は使えますか? A 使えません。但し、Windows API を呼び出す事は可能です。 その際は、構造体の変わりに配列を使用します。 Q ポインタはありますか? A 文法上では正式にサポートされていませんが、 ll_getptr などの命令で変数のポインタを取得できます
1Z
乙
コンテストの結果が発表されてるのに今気付いた
おつ
9 :
名前は開発中のものです。 :2005/12/03(土) 19:59:29 ID:rO20EtDk
ところでコンテストで気に入ったものあった? 俺はTindows
10 :
名前は開発中のものです。 :2005/12/04(日) 00:13:20 ID:b6fW0eT1
誰もこのスレに気づいていない件について
HSPコンテスト、技術の高いものじゃなくてもいいから、 作りこんだものが増えてほしいな。
コンテストとしてどうこうとか抜きに 遊べるゲーム、使えるツールって何かあるかな
出しても必ず叩かれる
EDGEみつけるまではドットペインターアルファての使ってまつた。 コンテストに、バグありや調整不足はともかく、明らかな未完成品を出す神経がわかりませぬ。
>>1 >Q ポインタはありますか?
>A 文法上では正式にサポートされていませんが、
> ll_getptr などの命令で変数のポインタを取得できます
正式サポートされたと思うんだが(varptr,dupptr等)
そろそろHSPЭにも対応した方がいいと思う。
一般作品部門 最優秀賞No.233 d3module 前スレでの予想通りだった。まぁ順当勝ちかな
17 :
名前は開発中のものです。 :2005/12/05(月) 14:20:27 ID:80n1V2zv
>>9 CreateTown。
いい意味で、地味なゲーム。
ちょっと癒される。
18 :
名前は開発中のものです。 :2005/12/05(月) 20:03:19 ID:iweG7KL2
エンターブレインのゲームコンテストなら賞金でるから そっちへ送るやつもでてくるだろうな
ある程度完成形が見えると投げ出しがちな俺。
( ゚∀゚)人(゚∀゚ )人(゚∀゚ )...モレモモレモ!
>>17 あれは良いよな。
おまいら道路なくても公園さえあれば幸せなんだな、って感じ。
>>16 ソースを覗いてみたが、俺にはちんぷんかんぷんで訳がわからなかった。
ここにいる人達はかなり冷静に評価してるけど、みんなあれを理解できるのだろうか・・・
だとしたら、そんじょそこらのメーカーの作品なんか軽く上回る作品が今後どんどん出てくるんだろうな・・・
俺はユーザーでいいや、太刀打ちできねぇw
HSP3で使えるジョリーグッドな3Dプラグインを教えてください パワフルで簡単なやつがいいです
>>25 とりあえずはハードゲイ使っといたらどうよ
>>24 >そんじょそこらのメーカーの作品なんか軽く上回る
んなわけねー。標準命令で組む意義は分かるが、
メーカが使うC++&DirectXの方が機能的には百倍以上は上回ってる。
HSPの実行ファイルに埋め込んだテキストファイルを読み込むことは出来ますか?
スマソ28は無視して
>>24 ,27
どんなに凄く機能的なモジュールでも、使うやつがアフォならどうしようもない。
d3module遊んでみなっせ。結構遊べるよ。意外と少ない命令がコード音痴のおれにはありがたい。 面は制約が結構あるから、割り切ってワイヤフレームにパーティクルをアクセントって感じで遊んでいる。 CADで絵を起こして、ポイント拾って座標打ち込み…言いたいことは分かる、いーんだよこれも趣味サ。 陰線処理があればなぁ、って思うけど難しいんだろうね。
出来の良さ d3module>>>>(越えられない壁)>>hgimg>>>easy3d
漏れがd3見て思ったのが ノベル系スプリクタに雪降らせる演出ルーチン付けられるな、と思いまつた。 特に空を見上げて放射状に降って来るシーンとか作れそう。サンプルそのままだけど。
>>32 easy3dってあのhgimgより下?
結構今回の入選作にも使われてたようだけど…
使ったことないから知らんけど
Easy3Dの作者はHNを変えるべきだ
ハンドルネーム おちっこ ハンドルネームの由来 トイレが近いから(笑) 素晴らしいやん
トイレが近い? 漏れのナカーマ
>>32 んなアホな。HGIMGの方が性能的に全然上。
HGIMGはすごいよ、
>>32 みたいなことを書く神経が分からない。方向性が全く違うだろうに。
>>32 の人はは無神経というより、限られた時間を使って開発にとどまらずコードのメンテナンスを続けるという
つらさを単に知らないんだろう。プログラマなくてもそれぐらいおして計れよな、猛省すべし(#゚Д゚)
d3mはソースが見えているのと、デモが本当に秀逸。ソース公開には感謝したい。特に制約も無いみたいだしね。
>>39 それで出来ているもので示せよ、プログラマでなくても
人として当たり前だろ?
コンテストで大賞をとったものと、端にも棒にもかからないものでは
どちらが優れているかは分かるだろ。
hgimgは中途半端なものしか見たこと無い。
ちなみに、努力が評価されるのは小学生までだぞw
42 :
名前は開発中のものです。 :2005/12/08(木) 10:44:33 ID:AeGBEdiH
それは使う人側の問題であってhgimgが悪いんじゃないんじゃないか?
d3mじゃSTGすら作れまいに…
それぞれのプラグインを使って作られた作品で代表的なのって何がある?
プラグインの性能に限界はあるけど限界まで使って作った作品なんてほとんどないと思うんだが
46 :
名前は開発中のものです。 :2005/12/08(木) 21:05:06 ID:OVWCETrf
つSkratch It!
出来の良さってだけ書いてランク付けしてる時点で小学生だろ。 かまう必要なし
いるよな。図星突かれるとこうやって逃げるやつ
いるいる。反論できないから煽るんだよな。
前スレでもhgimgが良かったってのはあまり見ないだろ、他のプラグインに比べて。 じゃ、hgimgの良さを語ってよ?
話題が違うぞ。 プラグインの出来を一次元的に比較する事への批判に対し、 お前はロクに反論せず煽ったんだ。 お前との会話でhgimgへの援護は一切していないし、 IDが変わってお前が誰だかわからないから前の会話を続けようが無い。 hgimgについて語って欲しいならまず8日でのIDを教えてもらおうか。
┌─────────────┐ │こんな ぷらぐいんに まじに. | │なっちゃって どうするの │ └─────────────┘
3dmとの比較で良いのか?>hgimgのよさ
使うプラグインで作品の良し悪し論が展開されるってのがHSPらしいよな。 そしてその作品の出来具合でプラグインまで叩かれる始末。 提供する側の心労はいかばかりかと心底彼らに同情するよ。
流れぶったぎってごめん。 rndの前後にrandomizeを置いてランダムに数字を表示したいのですがうまく出来ません。 randomize : x=rnd(100) : randomize....... といった調子でやっているのですがどこがいけないのでしょうか。
>うまく出来ません 考えていた動作と実際の動作がどう違うのか詳しく書くこと。 >randomize : x=rnd(100) : randomize....... マニュアルのrandomizeの項をよく読むこと。
>考えていた動作と実際の動作がどう違うのか詳しく書くこと。 変数「x」と「y」にそれぞれ全く違う値を割り当てようとしましたが同じ値が割り当てられました。 >マニュアルのrandomizeの項をよく読むこと。 Windowsのタイマからと書いてあったので、ほぼ同時にやったので同じ値になったのでしょうか。
とある変数が定義されていない時の条件分岐ってHSPでは どうやるのでしょうか? if(x == null){ ・・・ みたいなことをやりたいのですが。 リファレンスを読んでもnullに当たるものが何か分からず 途方に暮れております。 なにとぞ御力添えをば。。
最初にゼロを代入しとけ
>とある変数が定義されていない時の条件分岐って その目的が良くわからないので代替法が思いつきません。 RPGツクールもどきで、ユーザに自由に変数名をつけさせたい、だとか、 スプリクト言語でも作っておられるのでしょうか? 変数は初めからゼロ等代入することで初期化しておいたほうが良いかと存じます。 思いつきで変数を扱うのは避けたほうがいいでしょう。
確かにスゴにね、大賞のベンチマークなんだ 因みに14096でした
ふりーむ!賞 として「うまい棒1年分」を贈呈 ワロタ
>>61 あるモジュールで
ある命令の最初の実行時にメモリをいくらか確保する必要があり、
その初期化命令を別に作りたくないとか、ユーザーに意識させたくない、とか。
if (x==null) :dim x,1024
みたいな?
>>60-61 えと、nullにあたるものは存在しないんでしょうか?
最初にゼロを代入して代用するとなると、
スクリプトを修正する場合に二度手間かかることになりますし、
モジュール内の変数の場合には
初期化するのが面倒なので避けたいのです。
>>61 さんは批判されているようですけど、
>>59 で書いたような記述は別に珍しいものではないと思うんですが(´・ω・`)
>最初にゼロを代入して代用するとなると、 >スクリプトを修正する場合に二度手間かかることになりますし、 >モジュール内の変数の場合には >初期化するのが面倒なので避けたいのです。 (´・ω・`) 知らんがな
ローカル変数でなければ初期化の自動化は無理。
>>58 そーそー、ちょっと考えればわかることだっただろ。
乱数を作るたびに初期化する必要は無いんだよ。
>>65 氏
貴方がなさりたい方法は、私は取りませんので、正直判りかねます。
そんな方法があるのか?と私の勉強不足を補うにも、一体何がなさりたいのか判らないので
調べる事も出来ません。面倒、と言われてしまっては、代替案を出す事も出来ません。
批判と取られたのであれば、そのつもりはなかったので非常に残念です。
私は、ここはあなたの行いたい処理を実現させるというより、
ごく一般的な見解、または答えを発見するための手引き、をお答えする場だと認識しています。
(親切にスプリクトを書いてくださる方もいらっしゃるようですが)
私は全くお力になれそうにもありませんので、これにて失礼させていただきますが、
もしその方法が見つかりましたら、簡単でいいのでこのスレに書き込みお願いいたします。
HSPではNULL状態の変数って概念はない。 この一言で十分じゃん
「ある変数が定義されてない時」ってなんだ? というか、HSPはコンパイル時に使用している全ての変数を定義するだろ?(配列の要素以外) その時点で定義されてないものはHSPの変数としては使えないんじゃないか?
d3mよりhgimgの方が高機能。 null・undefinedは欲しいよね。 0は普通の値として使いたいし。
最初に煽ったやつが悪いのだけど、煽りに煽り返す
>>47 ,
>>48 >>49 みたいなのは
このスレに来ないで欲しいなあ。
スルーすれば荒れないものを・・・。
>>73 貴方もスルーすればいい物を・・・
釣りですか?
今更掘り返してナニ言ってんだかな
>>77 は人と生活の時間帯が合わないニート。
恥ずかしいですね。
79 :
名前は開発中のものです。 :2005/12/11(日) 08:24:38 ID:ZhEp0Wr/
志村ー鏡、鏡!
今HSPの勉強を始めるなら、「2.61」と「3.0」、どちらを始めたらいいですか?
>>56 まずゲームプログラムの定石から知る必要があるな。
randomize : x=rnd(100) : randomize
なにそれ?普通そんなプログラミングしないよ。randomizeはプログラムの頭とか
ステージの開始の場所とかに置くんだよ。初心者向けの本買え。HSPのはお勧め
しない。あんなのテクニカルライターが書いた本じゃない!MZ-80の楽しく学ぶ
ベーシック。これ。今はインターネットの時代なので絶版本も手に入るはず。
ってかHSPのrndってマジ同じ値が出やすいよな。もうねxとyが違う値になるまで
ループしちまえ。
>>59 残念でした。HSPはそういう設計思想で作られておりません。HSPでやろうと
思ったらとっても凝った、素直でないプログラミングをしなきゃならない。
ってかもうVB使えばいかがですか?
まあ直球勝負で答えるとそれやめて別のアルゴリズム考えれば?ってことなんです
けどね(HSPの設計思想に合わせる)。
>>80 各種拡張プラグイン使いたいなら2.61。HSPIMG使って3Dやりたいなら3.0。
各種拡張プラグインの作者全員が3.0対応してあげようと思うほどボランティア
精神にあふれてるとはとうてい思えんな。
>>80 難しいところだけどあくまで俺的には、「今から始める」なら3.0の方がいいと思う。
確かにプラグインの問題はあるけど、特にプログラミング自体を始める場合に、
あの演算子の順序に慣れると困るから。3.0の方が自然な文法になってる。
56の用途ならrandomize命令は1回で十分。 randomize : x=rnd(100) : randomize....... こんな書き方したらrandomizeの中の人の値が同じなので 値が同じになるのは当たり前。 とりあえず56はrndとrandomizeで短いプログラム作って色々試して どんな仕様なのかを頭で覚えてからプログラムを作ったほうがいい。
ちゃんと説明するなら randomizeは「現在の時間」を元に乱数のパターンを作るので、 時間経過が無ければ初期化パターンも同じになってしまうのは当然。 てこと。
87 :
質問なんですが。。。 :2005/12/11(日) 14:20:00 ID:+X0tiGGP
プログラミング板から飛ばされてしまいました OTL 通信命令の SOCKOPEN で パラメータの"ソケットID"の意味がわかりません。誰か教えてください。
88 :
質問なんですが。。。 :2005/12/11(日) 16:39:20 ID:+X0tiGGP
誰か教えてくださいです。
なんでゲ板に来るんだよw
ここ逝けって言われた。。。 じゃぁいいです。
>>87 そのままの意味。
IDは変数に格納されてる。
わからなければマニュアル読んで。
>>87 ただの通し番号じゃないの
sndloadで言うとことの "読み込むバッファの番号"
sndload "a.wav",123
snd 123
sockopenでは
IDを変えれば同時に32個接続出来るって事かと
基本的には好きな数字で良いはず
てか…
最近のPCのRPGは知らないので古い名をを出しますが、 ダンジョンマスターってありましたよね。 あの、マップ内のアイテムをマウスで拾う、という判定は、一体どうやってるんでしょう? そもそも、同じ位置に複数のアイテムを置く、という処理はどうやってるんでしょう? どなたか概念で良いので教えていただけませんか。
94 :
名前は開発中のものです。 :2005/12/11(日) 23:59:21 ID:4vaC62qQ
>>93 そのダンジョンマスターは知りませんが
とりあえずそのゲーム画面のどこかをクリックしたら拾えるのでしょうか?
それなら、クリックをしらべれば
複数置くのは
Item1、Item2、…
などを作っているのでは?
X座標、Y座標があるなら
DIM Item,最大X座標,最大Y座標,最大同位置アイテム数(max)
と言う風にして、
(クリック判定)
repeat 最大同位置アイテム数
Itemno=Item.X座標.Y座標.最大同位置アイテム数-cnt
if Itemno!=0 :(その後の処理)
loop
(HSP2使いなので3ではどうなるかわかりませんが
すみません HSPでドラクエ作りたいのですが どこかに ソース 落ちてませんか?
>>93 簡単で良いからSTG作ってみることをお勧めする
単純に書くとこう
repeat 画面上に置ける最大アイテム数
if (アイテム座標.cnt>=マウス位置)&(アイテム座標.cnt+アイテムの大きさ<=マウス位置)
{
"GET!"
}
loop
★ 質問なんですが... 投稿者:質問なんですが... (05/12/12(月) 00:08) No.3798 softbank219196152103.bbtec.net ネット関係のソケット通信のことで、 ポートはわかるんですけど、ソケットIDとは何のことなのか、さっぱりわかりません。 「ソケット」で検索したら、たくさん出ましたけど、「ソケットID」で検索すると、 出なくなることからHSP専門の言葉だと思うのですが詳しく教えてください。 お願いします。 まるち?
98 :
名前は開発中のものです。 :2005/12/12(月) 14:57:15 ID:lEK+w2Ta
ヘッポコクエスト
100 :
93 :2005/12/12(月) 20:04:54 ID:RS1w9SU0
毎度のことながら思うんだけど 「ソースみないと作り方が見当もつかない」 ってレベルのひとはソースをみたら作り方がわかるんだろうか
個人製作ゲームのソースなんてよっぽど綺麗に書いてないと他人が見てもわからないようなのばっかだと思う
必要な部分だけ書き換えてオリジナルって言い張るつもりなんじゃ
それすらもできんだろ。 前にサイトで公開してるゲームのソースくれってメールが来たから、 送ってやったけど、自分には難しくてよくわかりませんでしたって返事が来たな。 書いた本人も1年も見ないとよくわからんくなるよ。
漏れも自分で書いたの1年寝かすと読めなくなるな。 ましてひとのソースなんて面倒臭すぎて解読する気になれない。 入門書のSTGですら面倒で投げた。 自分で考えたほうが早いし。
本要らんがな(`・ω・´)
本のサンプルはあんまし要らんな。 ゲームのサンプル載せるのも良いけど 仕様が不明確な命令のテキストを もうちょい掘り下げて欲しいな。 いちいち試して検証するの面倒だし。
×仕様 ○実装 それがHSPくry
ねえ、HSP3ってさFLASH読み込めたっけ?
市販並のSTGをつくろうと思ったらすごい難しい なめてたけどなかなかできるもんじゃないね
>>109 axobj Flash, "ShockwaveFlash.ShockwaveFlash", ginfo_winx, ginfo_winy
dialog "swf", 16
if stat == 0 : end
Flash->"LoadMovie" 0, refstr
Flash->"Play"
midiの読み込み時と連続再生時のプログラムの一時停止だけが不満。。。
mciがまさにそれだがな
検索検索って・・・。 感じ悪いな。
聞くことが調べることと勘違いしている小学生には良い薬
いつそんな流れになったんだ? …という違和感が生まれないところがHSPクオリティ
チトワラタw なんかいいな、あれw
120 :
数英知 :2005/12/15(木) 23:07:09 ID:9wedJLBl
m9(^Д^)プギャー
>>121 他人は自動検索ソフトでも
自動ソース作成ソフトでもありませんよ?
自分で調べて考えてもわからなかったとかなら別にいいんだがな・・・
123 :
117 :2005/12/16(金) 17:10:49 ID:uGJKcw0l
俺のがハイレベルだな
hsp3+hspdxfixでゲーム作ろうと思ったのですが キー押したら終了するだけの単純なプログラム組んで終了させると、 「問題が発生したためhsp3.exeを終了します」のエラーが 毎回出るのですが皆さんはなりませんか? フルスクリーンの時だけ発生するようなので バグっぽい感じがするんですが…。
>>126 これも悪い質問の例だな。
半年ROMってろ。
HSPJSIS.DLLのreadme誰か持ってたらupしてくれませんか? hmm.dll使えという突っ込みはしないでおいて。
>>126 質問したりバグ報告したりするときは、
HSP のバージョン、使用している OS、DirectXのバージョン
などを書くのが望ましい。
分かるなら、機器構成も書くとさらにいいだろうね。
>>128 hmm.dll以外にもジョイスティックを使うプラグインはあります。
…。
取説が欲しければmiaタソのサイト行けば落とせますよ。
そうそう… >○○は無しで 人を馬鹿にするのは楽しいですか? まともに答えてくれる者がいないことを前提とした 書き込みはあまり気分の良いものではないですね。 他の代替案を望まないのであるなら、 「なぜそれでなければダメなのか」「なぜそれではダメなのか」をしっかり書くべき。
132 :
128 :2005/12/17(土) 09:33:37 ID:UEmdEVTC
GJ!
>>130 HSPのオフィシャルサイトからmiaタソのサイト入ろうとしたが、入れなかったから潰れてると思った。
入手してきました。
133 :
128 :2005/12/17(土) 09:41:52 ID:UEmdEVTC
ところで
>>131 さん。
そのメッセージ私に対してのものですか?
もしそうだとしたらいくらでも反論できるんですが・・・。
そういうノリは本家でよろしクマドック
136 :
128 :2005/12/17(土) 11:40:59 ID:UEmdEVTC
相変わらず喧嘩ばっかなのね。
138 :
128 :2005/12/17(土) 11:48:40 ID:UEmdEVTC
>>131 の引用
>まともに答えてくれる者がいないことを前提とした
>書き込みはあまり気分の良いものではないですね。
このスレに関してはまともに答えてくれる者がいないことを前提とした方がいいみたいですね。
>>135 のような厨がすぐに発狂しますからね。
発狂して逆切れしてんのはお前だろクレ厨がボケ。 第一、130=131ってのは気付いてんのか低能君?
昨今の2chでは、なぜか韓国人が、日本人に対して「ファビョるなよ」 と逆切れする悪知恵つけたヤツが出てきてるから困る。>136のような
141 :
128 :2005/12/17(土) 12:33:38 ID:UEmdEVTC
142 :
128 :2005/12/17(土) 12:35:42 ID:UEmdEVTC
一応補足しておくけど141は130=131がわかってるってことね。 ID見れば誰だってわかるじゃん?
ちょっと苦しいなそれは 流石に
>>141 おまえは日本人の最下層に位置する人間ですがなにか?
145 :
128 :2005/12/17(土) 12:56:29 ID:UEmdEVTC
>>144 自分自身現在最下層の人間だと思っているよ。
自分が上層部だと思ったとたん努力をすることもせずただ堕ちていくだけだからね。
一つ解ったのは やはり人を見下したような書き方、聞き方をするヤシにはロクなのがいない、ということ。 レスの一つ一つにもそれが見て取れる。 火病ってるのはどっちなのか、と。 それと荒らしてごめんなさい ○| ̄|_
臭ーい!青臭ーい! 思春期真っ只中の青少年の香りがプンプンするよ!
149 :
128 :2005/12/17(土) 14:00:16 ID:UEmdEVTC
>>146 やっと
>>131 と確認できる人が来てくれた。
私にとって掲示板での質問とは聞きたい内容が相手に伝われば基本的にはよいと思うのです。
ですから、私は必要最小限の内容を書き表したのです。
レポートなり論文では文章の起承転結は重要だと思います。
ジョイパッドを使う必要がある。→どうすればよいか。→hmm.dllやHSPJSIS.DLLがある。
→これらを比較した結果HSPJSIS.DLLの使用が適切である。→よってHSPJSIS.DLLを使用する。
っといった具合。
さて、ここまで研究が進んだ段階でHSPJSIS.DLL以外のdllであるhmmなどの話題にされても
かえって面倒なことになるのではないでしょうか?
私はそういった事態を回避するために"hmm.dll使えという突っ込みはしないでおいて。 "と記したのです。
それが"人を馬鹿にするのは楽しいですか?"と言われたのです。非常に驚きました。
私自身"hmm.dll使えという突っ込みはしないでおいて。 "という文に人を馬鹿にする意図が無かっただけに
残念でした。
もともと以前のレスから質門に不備があるといった指摘が飛び交っていたこともあるでしょうが、
あなたの考えは被害妄想ではないかと思わざる得ません。
どうでしょう。あまり気分の良いものではないですね。
取り合えずここで誤解を解きたいと思います。
ネタだと信じたい
そうか。年末か。
アホのID:UEmdEVTCは他のスレでもアホだったw 81 名前:名前は開発中のものです。[sage] 投稿日:2005/12/17(土) 14:35:00 ID:UEmdEVTC 私の案なんですけど。 オートマトンを使って将棋板に並ぶ駒の状態にそれぞれ遷移させれば、将棋の手を全通り生成することができ、 某最強将棋ソフト「AI将棋」なんかより遥かに強い、絶対に勝つ将棋ソフトを作ることができると思います。 作る際に時間計算量の問題があるんだが・・・ 一儲けできそうじゃない?
(゚д゚) アホス・・・
お前らID:UEmdEVTCばっかり叩いて何やってんだよ。 いい加減にしないとID:UEmdEVTC泣いちゃうだろ。
>149 吹いたwwww
高度なネタだな
; 両者の程度の低さが伺える文章。
81 :名前は開発中のものです。:2005/12/17(土) 14:35:00 ID:UEmdEVTC
私の案なんですけど。
オートマトンを使って将棋板に並ぶ駒の状態にそれぞれ遷移させれば、将棋の手を全通り生成することができ、
某最強将棋ソフト「AI将棋」なんかより遥かに強い、絶対に勝つ将棋ソフトを作ることができると思います。
作る際に時間計算量の問題があるんだが・・・
一儲けできそうじゃない?
82 :名前は開発中のものです。:2005/12/17(土) 14:45:47 ID:f+BnjI+A
↑アホ発見
83 :2^8:2005/12/17(土) 14:55:37 ID:UEmdEVTC
>>82 どこまで恨んだら気が済むの?
84 :名前は開発中のものです。:2005/12/17(土) 15:04:50 ID:f+BnjI+A
やべーw お前HSPスレのアホかよw
自分がどれだけアホ言ってるか理解してねーのなw
158 :
128 :2005/12/17(土) 19:46:38 ID:UEmdEVTC
私の考えに指摘があるのでしたらどうぞ。 私はオートマトンを使うことにより将棋やオセロその他様々なゲームを攻略できると考えてきました。 どこがどのようにアホであるのか教えてもらいたいですね。
この板に書き込むからには、実際に攻略→ノウハウ公開するんだろ? 大変参考になるので是非やってほしいです。
そんなに自分の考えに自信があるのなら、実際にやってみろよ。やればわかるさ。
161 :
128 :2005/12/17(土) 20:15:12 ID:UEmdEVTC
そうだね。 でも将棋のデータ採取をするためには世界中のコンピュータの力を借りなくてはいけないかも知れない。 2人の人が自身満々にアホといっているので、 彼らの指摘する問題点を是非聞いてみたいものです。
162 :
みずき ◆WnmizUKIg6 :2005/12/17(土) 20:16:00 ID:xQFKsWz8 BE:224073465-
そろそろヒョンフィたんについて話してもらおうか
全通りパターン調べたら最強なんて誰でもわかるわけで。 じゃあなんで既存の将棋ソフトがやんないのか考えろよアホ。 何が、「私の案なんですけど」だ。 何が、「一儲けできそうじゃない?」だ。 スーパーコンピュータ手に入れてから言え。
164 :
128 :2005/12/17(土) 21:08:38 ID:UEmdEVTC
私に対しての発言が全員ファビョってるように聞こえるのだが・・・。
>>163 オセロなら実現可能な時間内にデータを生成することが可能だと思うよ。
えっ、実際にやれと。
やる時間があったら公開でもしようかな。
何も将棋に限定してないし・・・。
限定していないのにアホとか言うのだから、
時間計算量以外の点でほかにどこに問題があるのか教えてください。
またファビョられると小学生のいたずらみたいなことされそうなので、
ファビョるのなら結構ですがね。
165 :
128 :2005/12/17(土) 21:15:47 ID:UEmdEVTC
また、問題が発生しそうなので 全員→一部を除く全員 に訂正。
「総当りで調べれば必勝」は昔から分かってる。でも現状では無理。それだけ。また、 必勝ソフトは最初はともかく、勝てないゲームを誰もしない。だからたぶん儲からない。
まずすべての局面を記録する記憶装置が必要だが、 たとえオセロでもGBやTBなんかじゃ到底収まりきらない。
発想レベルは小学生。 言動レベルは中学生。 見てる方が恥ずかしいな。
いいかげん
>>128 をアフォ呼ばわりするのは、ヤメにしてくれないかな。
漏れは
>私はオートマトンを使うことにより将棋やオセロその他様々なゲームを攻略できる
に非常に興味がある。
さぁ
>>128 よ。お前の力を見せてくれっっ!
>>168 え?ここにいる人って・・・
みんな小学生じゃなかったの?
>>164 アホだな。
「周りのは人間すべておかしい」と言ってるヤツは、
なんのことはない自分自身がおかしいことに気付いてないだけ。
同様に、ファビョってるのはお前だけ。
>何も将棋に限定してないし・・・。
はい、それがアホ。
将棋に限定しない、計算量が少ないゲームであれば既にそういうソフトは存在している。
誰でも思いつける手法だからだ。
問題はそこからどこまで計算量を少なく出来るかだ。
誰でも分かる最初の一歩を思いついたくらいで
>私の案なんですけど。
>一儲けできそうじゃない?
なんて言ったらアホ呼ばわりはしょうがない。
128はHSPでそのソフト作る気なのかな。 そういうのって、計算量が全てなのに C言語の100倍以上遅いHSPで おそらくCで記述されているAI将棋に勝てるつもりなんかいな。
久々にスレが伸びてると思ったら・・・
釣れた釣れたwwww とかで逃げるような腰抜けじゃないことを祈る
つか128では人対人で遊べるような アルゴリズムを入れてない状態の将棋ソフトの作成もムリだと思う。 オセロも難しいんじゃないか?
なんだ、一儲け出来るかと思って期待してたのに。 アフォは逃げたようだな。
スレ違いだという事に気づいてくれ
太尊が千秋を捜してるんだけど 向かいっ側の電車やエレベーターに乗ってたりして すぐ傍にお互い居るのに気付かなかったり そういう暗喩的な表現を森田は多用していたな。
HSP2.61+HGIMG+サイバデリアでゲームを作っているんですが、HSPでモデルを表示するとなぜかずれてしまいます。 対処方法を教えて下さい。
180 :
128 :2005/12/18(日) 12:28:45 ID:Nt1OXEU3
総当りで計算すれば攻略できることは確かにわかっている。 ただその総当りの表現の仕方をオートマトンにすることにより、 有限手で終わるボードゲームなら表現できるということを言いたかっただけ。 例えばオセロなら最大でも両者を合わせて60手で終わるので無理にオートマトンで考えることも無い。 だが、将棋のようにまた元の状態に戻るものを考えるにはオートマトンが有効であるということ。 >局面を記録する記憶装置 1通り1通りに対しそれぞれの重複する板の状態を記憶すると考えた場合には足りなくなるかもしれません。 他人をアホと言ってるヤツは、 なんのことはない自分自身がアホである事に気付いてないだけ。 ID:f+BnjI+A等がいい例。 すれ違いだからこの内容に関しては私自身もこのスレでオートマトンの話をしたくは無いんですけどね。 なんだかこれ見ていると反日暴動を思い浮かべるな。 集団じゃないと何もできないというのはなんとなくわかりますけどね。
>>128 てめぇ、昨日から偉そうにウダウダ語ってるみてえだけどなぁ、
>>177 の言う通り残念ながらスレ違いなんだよ。
ここはHSPについて語るスレであってオセロだの将棋だのなんかはどうでもいいんだよ。
そんなに何か言いたけりゃどっかよそ逝けよ、このスレ違い野郎。
それでもスレ違いな話題続けるんだったら、お前、荒らしと何ら変わりねぇぞ?
将棋は同一局面が四回発生すると千日手になるので、それ以上は元の状態に戻らない。
183 :
128 :2005/12/18(日) 12:47:44 ID:Nt1OXEU3
>>181 >ここはHSPについて語るスレであってオセロだの将棋だのなんかはどうでもいいんだよ。
その通り。
でも、この話題を持ってきたID:f+BnjI+Aに言ってくれないかな。
私は私に対してのレスに対しただレスを返しているだけですから。
>そんなに何か言いたけりゃどっかよそ逝けよ、このスレ違い野郎。
ああ、このレスに何も返事が無かったら行くつもりだったよ。
行ってほしければ返信しない。常識でしょ?
>お前、荒らしと何ら変わりねぇぞ?
ああ、自分でも反省している点は色々あるよ。
でも、荒らしは放置&無視が合言葉でしょ。
放置できない皆様方も十分荒らしですね。
184 :
128 :2005/12/18(日) 12:51:43 ID:Nt1OXEU3
>>182 スマソ。それは初耳。
勉強不足な点はあった。
いいから計算量を勘定できない奴は帰れ
スルー出来ないアホがいるのはここですか?
188 :
128 :2005/12/18(日) 13:46:28 ID:KEE/00nl
お前らのIPアドレスバレバレだぞ 俺はそういう関係の会社に勤務してるから調べる機械あるし
流れを無視して配列変数の話 例えばドラクエ3のようなキャラクタ登録型出し入れ並び替え自由ゲームを作るときって アレス=0 : トンヌラ=1 : ナナ =2 ちから.0 = 10, 8, 6 たいりょく.0 = 12,10,7 かしこさ.0 = 3, 7,12 みたいにやってたんだけど ちから=0 : たいりょく=1 : かしこさ=2 ; (#defineのが良さげだけど) アレス. 0 = 10,12, 3… トンヌラ.0 = 8,10, 7… とかの方がナチュラル? どっちでも良いっていえばそれまでだけど
アホの128はまだ醜態をさらしてるのか。
>>189 まぁ下の案の方が自然かもね。
>>189 すこしトリッキーかもしれないけど、二次元配列にするのはどう?
#define アレス 0
#define トンヌラ 1
#define ナナ 2
#define 人数 3
#define ちから 0
#define たいりょく 1
#define かしこさ 2
#define 能力数 3
dim データ,能力数,人数
dup 対象, データ.0.アレス
対象=10,12,3...
「おまいらのパソコンを知り合いのスーパーハッカーにハッキングしてもらうからな!!!1!」 とか言ってくれないかなぁ?www
194 :
128 :2005/12/19(月) 19:03:43 ID:Dnr5v1PL
あなたたちが垂れ流しにしているIPから簡単に住所なんて割り出されてしまうんですよ?
ここの人達はプロを気取っているようですが、本当のプロから見れば素人丸出しです。
>>193 知り合いに頼まなくても自分で出来ますよ。まず手始めに貴方の住所から調べますね。
195 :
名前は開発中のものです。 :2005/12/19(月) 19:25:12 ID:axzzrivR
>>194 お脳の足りなさがちょっと表現し切れてないな
196 :
194 :2005/12/19(月) 19:32:25 ID:Dnr5v1PL
>>194 いやww表現出来てるwwww本物かとwwwwwwww
住所なんて電話帳みたら調べられるじゃないか
>>128 を装った荒らしだろ。。。
と、思いたくなるくらい痛々しい
ハイレベルなネタ職人が居るな
>>128 漏れのIPは127,0,0,1だよ
頑張ってハッキングしてちょw
自分が可能だという事は他の人間にも可能という事 そういう場合先に手を出したほうが負け
どこから偽者なんだろう?
>>194 はネタ師だよね?
「IP分かる」発言からじゃね?
ネタなのか真性なのか判断に迷わざるを得ないのがHSPクオリティ
どっちも真性 ネタを作って喜んじゃう時点で真性
208 :
128 :2005/12/21(水) 01:19:33 ID:Dl5fnl2/
ヘ○ヘ |∧ 荒ぶる鷹のポーズ! /
久々に来たんだが、面白いのが来てたんだな。 ちょっと遅かったかなw
210 :
名前は開発中のものです。 :2005/12/21(水) 04:25:15 ID:6aJm8AAv
私と一儲けしませんか? 私の案なんですけど、 オートマトンを使って将棋板に並ぶ駒の状態にそれぞれ遷移させれば、 遥かに強い、絶対に勝つ将棋ソフトを作ることができると思います。 ですから、だれかソフト組んでください。
>>210 作ったら儲かるという原理が分からないんですが・・・
212 :
95 :2005/12/21(水) 21:02:24 ID:3OMlgMff
一週間以上待ったのに、ドラクエのソースは手に入らない。 ここはひどいインターネッツですね。 さっさと出してください。お願いします。
ネタはム板でどうぞ
こんな感じでよくね? title "ドラクエ" *dq mes "ドラクエ" wait 1 goto *dq
>>212 スクエニに産業スパイとして通報します!
ドラクエとスクエニはなんか似てる
スクエニはアナグラムでエニクス つまり本当はスクエアではなくエニックスが支配していたんだよッ!!
>>212 ドラクエ自体のソースをUPしたら犯罪では?
ドラクエ的RPGのソースなら『HSPクックブック』嫁。
ネタに食い付きたいならム板でどうぞ
220 :
93 :2005/12/22(木) 20:47:03 ID:JEKEHzsA
度々ですが質問させてください。 通常のADVっぽく、メッセージウィンドウを表示し文字を表示するにあたり、 そのウィンドウ内で文字をスクロールさせたいと思いますが、上手く出来ません。 どなたか概念で構いませんので教えていただけませんか?
久しぶりにスレきました。質問させてください。 今、クォータービューの描画アルゴリズムを考えているのですが、 何かいい資料をご存知の方いらっしゃいますでしょうか。 数年前はHSPのサンプルスクリプトがあった様なのですが 今は軒並み消えてるんですね |||orz
>>220 bufferを作り、そこにmesする
コピー元座標を変えながらメッセージウィンドウにgcopyコピーする
つーか、スタッフロールならともかく通常のテキストで
上下にスクロールされても読みにくいよ
>>221 描画アルゴリズムってなに?
まさか、正方形画像をひし形に変形とか?
マップ描画のことなら
ドット絵ツールでコピペして遊んでみれば概念が分かると思う。
12歳HSP3.0ゲープロ教室の第7章がクォータービューのRPGを扱っているお
>>222 回答ありがとうございます。
>通常のテキストで 上下にスクロールされても読みにくいよ
好みもありますが、調整しだいで問題ないと思います。
hspでつくったソフト売ることできんですか
ええ
だがフリー言語で商売というのは気がひけるので有料の言語を使うのが建前だな
おいおいアホかいな。 じゃあ有料の言語って例えば何があるか言ってみ。
言いたいことのニュアンスが解ればそれでいいじゃない
VC++、VB、FBasic、RealBasic、BorlandC++などなど
そんな事は売れる価値があると思うソフトを作ってから考えればいい。 作る前からソフト売って大儲けして企業化を目指すとか、 皮算用してる人ってトキワとかでよく見かけるよね。 実際にHSP製で有料のソフトってある?
>>230 おいおい、それは開発環境だろ。
C++言語には無料の開発環境は沢山ある。
Basicは知らんけど。
それに無料のゲームツールの吉里吉里やNscriptorで作られて売られてるゲームは沢山ある。
ライセンス的に問題が無いのなら、無料のモノを使っていようがそんなことを気にする必要は無い。
HSPスレで一番盛り上がってるのはここですか? 本スレは1日に書き込みがあるかないかくらい遅いです・・・
ちなみに明日のクリスマスイブもここはHSPの話題で盛り上がってますよ。
本スレ?そんな物ありましたか…
>フリー環境で有料ソフト
労力に対する評価と見ても良いし、
特にゲームなんかでは、素材作成の苦労は並々ならぬ物がある。
ただ、
>>227 の「建前」つまり、
ユーザー視点から見ればフリーの物で作ったんならフリーにしろというのも分かる訳で。
>>231 市販エロゲのインストーラーに使われているのを見たことがあるぞw
本体は吉里吉里だか何かだったと思うが…
あとは同人エロゲ。たしかオニタマの物も。
"めもりーくりーなー"はどうだったっけ。
シェアウェアなら何個かみたけど、そういう意味じゃないのかい?
一般人なら何で作られてるかなんてぜんぜん気にしないだろうからどうでもいいけどな
>>227 >フリー言語で商売というのは気がひけるので有料の言語を使うのが建前
>>235 >ユーザー視点から見ればフリーの物で作ったんならフリーにしろというのも分かる
そう? フリーのテキストエディタで書いた小説とかフリーのレタッチソフトで描いた絵とか漫画とか
全部無料にしろという建前は分からない。とすればゲームも同じでは。
金が掛かった場合、気が引けるは建前で、本音は相手にされない事がわかってるってこと。
240 :
221 :2005/12/24(土) 08:33:38 ID:lo61vf6n
>>222 自機の位置を取得して
周辺のマップと自機のスプライトの描画順を変更する、
ってあたりが思いつかないんです
>>223 書店にダッシュしてきます。
……今日イヴだけど用事もないので(つД`)
金が取れるだけのクオリティがあると思えば売ればいい。 金払うだけの価値があると思えば買う。 何で作ったかはあまり関係ないと思われ。
227みたいな建て前、見聞きした事無い。 ついでに言うと、235のいうユーザー視点てのも聞いた事無いな。 そもそも、何で開発されたかなんて気にするユーザー、少ないと思う。 俺も自分で作り始めるまで、気にもならなかった。 有料でHSPユーザー向けの言語といえば、DarkBasicかな。 3Dゲーム作りたいホビープログラマー向けなら、 多分、最強で価格は一万強。
素材や道具の一部をフリーで入手したからと言って、 製品をフリーにとか言い出す奴は、ちょっとなーw 古典落語の落語家や、シェークスピアやってる劇団の人なんかに、 タダ働きしろっていうようなもんだしw
HSPに限らず、素材・コード再利用でもライセンスに従ったら何でもいいよ。 ただ、サイト消滅したらどうにもならんものに金払うのは1000円ぐらいまでかな。
さすがにHSP製じゃ金払えねえなあ
俺、HSPで作った同人ゲームで金取ってるけど、 売ってる俺も買ってる客も、別にHSP開発だなんて事気にしてないな。 気にされるのは、言語じゃなくてエ○○○の出来の方だから。
エ、、エ、、エダマメ!?
リピーターのいなさそうな同人だこと まぁエロノベル程度ならありえるか
250 :
221 :2005/12/25(日) 12:55:21 ID:ka06YBIn
でもこれVBじゃん
HSP、3.0になって実行速度上がった? 2.6のとき、C言語との動作速度の差を調べてみたらかなり遅かったんだが。 単純な計算の繰り返しだから、差はせいぜい数十倍だと思ってたが、 数百倍だか数千倍だか差がでた気がする。
>>126 俺もエラー出る
dx3dを使わないフルスクリーンの場合だけエラー
es_screenのp6に1を設定すれば正常に終了する
環境
Windows XP
AMD Athlon(tm) XP 2000+, ~1.7GHz
DirectX 9.0c
RADEON 9800 PRO
Hot Soup Processor ver3.0a
HSPDXFIX.DLL ver 0.19
es_byeでHSPDXFIXは一見正常に終了してるように見えるけどEND実行でエラー
HSPDXFIXを使うならdx3dを使うだろうからあまり実害は無いのかな・・・
でも気持ち悪い・・・
>>221 クォータービューなんてさ、スクロールのアルゴリズムを縦スクロールから斜め
スクロールに変えればいいだけのことじゃね?グラフィックは普通に縦向きに
描いたやつを自前の変換プログラムで斜めにしてもダメ。気合入れて斜めスクロ
ールを意識した絵を描く。ナムコの不思議の国のアリスみたいなのがシャボン玉
で敵を倒すゲームなんかはマップチップだけ斜めにずらしてキャラはまっすぐ
だったよ。
確かあれって入力した方向に素直に動いて斜め入力した時だけ斜めに動いたんじゃ
なかったかな。ってか今更クォータービューのゲーム作っても「古っ」って
思われてただ見にくいだけだぞ。擬似3Dのゲームでも作った方がまだましだぞ。
>>253 そもそもHSPDXFIXって3.0対応してるの?HSPDXFIXの作者がそう明言してるなら
いいけど、そうじゃないなら無謀じゃね?おにたまタソはHSP3.0と2.xとは非互換
ですって明言してるんだよ?
ってかクリスマスイブ、クリスマスにさえHSPに夢中な迷える子羊達へ。
メリークリスマス!とりあえずブラウザ閉じてさんまとスマップのやつでも見ろや。
>>252 ぷ○説によると、むしろ落ちたらしい。
普通に使って敵にするほどではないだろうが。
整数型BASIC-Gは鼻血でるほど早かったなー。
>>254 >そもそもHSPDXFIXって3.0対応してるの?HSPDXFIXの作者がそう明言してるなら
お前は何がいいたいんだよ
自分で調べもしてねーくせに
DirectX拡張プラグインHSPDXFIX.DLL ver 0.19 for HSP2.6x&3.x
[[本バージョンでの変更点]]
・HSP3.0で動作するようにヘッダファイルを手直し。
読めるか?
横槍レス
>>251 まぁHSPやってるならVBくらい読めるだろ
>>254 >ってか今更クォータービューのゲーム作っても
漏れは十分使えると思うが。
ソースあるならキボン 主観なら引っ込め馬鹿
>254 クォータービューって擬似3Dじゃないのか?
>まぁHSPやってるならVBくらい読めるだろ お前VBやったときねーだろ。Basicって語感でそんな気になってるだけだろ。
クオータービューのゲームは、画面回転もしくは最低でも背景透過の機能がないとつらいな。 その機能が必要無いほどに少なく単純なグラフィックならば、クオータービューにわざわざしなくても いいような気もするし。 あと、角度。見やすい角度ってのがあるので、しっかり調整してもらいたい。 いずれにせよ、ナム×カプが非常に見難く、パッド操作もプレイしずらかったな。
>>262 タクティクスオウガって挙げられている機能
どっちもないんだが、あれは他に何か特別な部分があったんだろうか?
企画に役立てたいので意見を是非きかせてください
264 :
262 :2005/12/26(月) 17:33:40 ID:+sJbJJEt
何故回転や透過が必要かと言うと、 1、凝った背景物オブジェ、木や家を配置すると操作キャラと重なってで見難いから 特に屋内戦闘では見難くなること必至 2、敵キャラ入り乱れて操作キャラが重なって見難くなるから 家の影に隠れたとき、家が半透明になってた気がするが‥‥>オウガ シナリオ次第では屋内や街中戦闘を避けることも可能で、 大規模戦場なら背景オブジェもあまり必要ないしだろうし、 キャラが大きければ重なっても見やすいかもね。 (ただしキャラが大きくなる事によって視野が狭くなるとそれはプレイヤーにとってストレス。 レーダーや高速画面切り替え、つまり「見たいところをすばやく見たい」機能が有るべき)
レーダーで事足りたりすると、今度はクォータービューの意義が無くなると。
クォータービューの最大の利点は高低差の概念を 盛り込みやすいことにあると思う。 トップビューで等高線みたいに色で高低差を表すのもありだと思うけど。
267 :
264 :2005/12/27(火) 04:46:16 ID:/PSwPVKh
今動かしたいキャラの移動先に、敵キャラが画面内に見えないor入っていないときは 敵の先手を防ぐ戦略上、敵位置の確認が必要。これが出来ないと相当のストレス。 レーダーやユーザー任意の画面スクロール機能を付けて貰いたい。 レーダーは常に表示する必要はなく、詳細も不要。敵と味方位置程度で十分。 可能ならばレーダー内クリックでその位置を表示させると尚ベスト。
なるほどコリャ参考になるわ ここはHSPのスレなんだがな
ム板のあれは死んでる
ふはははははは、ははは。謝らん、謝らんぞ。
言えという、いうから、ゲームとして当たり前のことを当たり前に言ってやった、言ってやっただけだ。
>>263 が謝罪し移動先を指定、指定すれば、出て行って、出て行ってやろう。
271 :
263 :2005/12/28(水) 05:02:56 ID:xg7Xr6Bl
>>270 今日再び見にきたんだが、どうしたんだw
マジレスThanks。役立てるよ。
ただ、今作ってるのは擬似3Dの2Dクォータービューだから
画面回転はちょっと辛いな。色々と。
クォータービューはもともと、ドッターの強い希望からなんだ。
だからこれを否定することはしてやりたくない。
ちなみにパズルゲームだったりする。
いきなり
>>270 の意見の方向性と違っててスマン
ていうか過疎ってるから居てくれたほうが嬉しいなぁ漏れは。
HSPやってるやつの多くはゲーム作ってるんだし、
ム板じゃないんだからゲームクリエイトそのものの記述があって
当然だろうともさ。
深い溝があるとか変に立体に作らなければ回転は不要かと。 回転は無理でも単純な90度視点変更なら出来そうだけど。 んで、クォーター描画スクリプト出来たの?
ふはははは。要望により残ってやろう。(この口調は疲れるな‥) パズルですか。では勝手に倉庫番タイプと仮定しますね。 パズルの場合は、逆に回転や透過が必要なほど視認性が悪いのはどうかと思います。 例えば障害物は自キャラの半分の高さにするなどの考慮が必要でしょう。 ドッターの方とよく打ち合わせてみてください。 気になるのは操作ですね。 特にキーボードやパッドでのクォーターの操作は面倒なもので、 ↑キーを押したとき、右上にいくのか左上にいくのかの感覚は人それぞれだったりします。 マウスオンリーなら問題ないでしょうが。 90度視点変更は、3D迷路移動と同様に出来るはずですよ。
露骨に冬厨臭い書き込みが増えたな。
ゲームを作ろうと思って、hgimg3のaddsprで画像をロードしたりしてるんだけど、 hgdraw、hgsyncで表示させてみるとロードした順番に上から表示されてしまうんですけど これを任意の順番に表示するにはどのようにすればよいのでしょうか? 順、スプライト、モデルIDなどで検索しても分からなかったので教えてほしいです
ふははははははは。もっとだ。もっと。 もっと罵ってくれ。ふははははははは。
277 :
名前は開発中のものです。 :2005/12/29(木) 20:24:37 ID:eJZ8CDaI
HSPDB.DLLなんだが、HSP3.0で動作する? 2.6.1では問題ないスクリプトが3.0ではダメ。本体付属のサンプルも動かない・・・。なぜ?
278 :
名前は開発中のものです。 :2005/12/30(金) 23:01:20 ID:k3VeeOb3
easyHTTP moduleがhsp3でつかえないんだが、 なにか他の方法はないだろうか。 掲示板への書込みソフトなんだけど、 串さす作業ができなくなってしまった。
>>277 互換モードで動作させるには、スクリプトの先頭に
"#include "hsp261cmp.as"
という一行を追加するらしいね
#include "hsp261cmp.as" だった
hspinet.dllは?
シューティングゲームを作っています キャラを移動するのはgcopyやgmodeを使ってできたんですが 背景があるようにするとキャラが移動したとき元いた場所を描き直す方法が分かりません どうすればいいんでしょうか?お願いします。
>>282 想像力の薄いやつだな。
じゃあ今はどうやってキャラが元いた場所の絵を消しているんだ?
まさか分身のように残ったままにしているわけじゃああるまい。
毎フレームごとに、背景とキャラクタを描けばいいんじゃないかな。 redraw 0 背景を描く(ふるい画面は書き直される) キャラを描く redraw 1 こんな感じ。 それで遅ければ、プラグインを使う。
>>282 >gsel 1
>pos 0,0
>gcopy 2,0,0,640,480
>pos 245,303
>gcopy 3,0,0,18,28
>gsel 0
>pos 0,0
>gcopy 1,0,0,640,480
buffer 1 はディスプレイへの描画直前のバッファ
buffer 2 は背景
buffer 3 はキャラクタ
おれはこうやってる
redrawも気になってたけどよくわからん
>>275 の回答と、
buffer命令で作ったメモリ領域の開放の仕方を教えて欲しいッス
メモリ開放ってこれでいいんじゃないの buffer 2,,,
>>285 Z座標ジャマイカ
グループ pos: (初期値:0,0,0)
オブジェクトのX,Y,Z座標を指定します。
2Dオブジェクトの場合は、(X,Y)が座標に使用され、
Zは優先度(0.0〜1.0)として扱われます。
>>286 おおっ、テラカシコス!
全く思いつかなかったですよ
>>287 htmlのhelpには載っていなかったので
doc内のテキストに書いてあるとは盲点でした
2方ともありがとうございます
ラジアン(角度)が分かりません。 弟の教科書見たら、πとか書いてあるんだがHSPだと(0.0)というパラメータ書式だよね。 例えばサイン30°をsin()関数で出したいとき、括弧の中には何を入れればいいんでしょうか? 分かる人、原理と出来れば30にどういう計算を施せばラジアンに換算出来るのかを教えてください。 STGでnWay弾(nは可変に)の座標計算に使いたいのです。
ってぐぐったら出てきました。吊ってきます。表計算シートに登録して使い回そう。 携帯でもGoogle使えるんですね。 スレ汚し申し訳ない。
計算問題を何秒で解けたかを計りたいのですが、いい案が思いつきません。 今は、最初にgettimeで分と秒を取得して、分の数値を60倍にして分と秒を足す。 回答時にも同じことをして、(回答時の数値-最初の数値)秒とかかった時間を表示する というのを考えているのですが、他に何か拡張プラグインを使わない方法はあるのでしょうか。
hspdxのes_timerでいいでしょ なんで拡張プラグイン使わんの
>>292 特に理由はありません。貴方の紹介して下さったのを使おうと思います。有難うございました。
気持ちは分かるが、 directXと全然関係なさそうなのにそれはないんじゃないの… > hspdx HSP3ならes_timerと同等機能をプラグイン無しでも可能。 ------------ #uselib "winmm.dll" #cfunc timeGetTime "timeGetTime" ;win起動時からの_時間を得る命令 repeat :mes ""+timeGetTime() :wait 100 :loop ------------
>>294 そのような方法もあったのですか。有難うございました。
296 :
名前は開発中のものです。 :2006/01/02(月) 17:44:48 ID:0XqEMvTf
dim map,20,20 map=1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0 2行目の配列が無効とエラーが出ます 何がいけないんでしょうか? それと、Debug Windowで配列変数の中身が数字一つしか表示されないんですがいいんでしょうか?
やるならこう map.0.0= … map.0.1= … map.0.2= … map.0.0=1,2,3は map.0.0=1 :map.1.0=2 :map.2.0=3と同じ
>>296 二次元配列について考えろ。
Debugウィンドウを見回せば分かること。
あー、でも
>>296 の書式って便利だったよな。0,0->1,0->2,0->0,1->1,1....という順番がキモかったけど。
300 :
名前は開発中のものです。 :2006/01/02(月) 23:13:07 ID:hNGvdDyu
ごめん、もう一つ質問 HSP3使いはじめたんだけどこれからasファイルはincludeとかdimとかの宣言しまくって hspファイルのほうでasファイルをincludeすればおk?
RPGなどのHPゲージはどう作るんですか
repeat HP line x1+cnt,y1,x2+cnt,y2 loop
HPが増えてもゲージの長さが変わらないやつが作りたいです
空のゲージの上に302じゃ駄目なのか?
割合でやれよ。
//x,y : ゲージ位置 //hpg_width,height : ゲージサイズ //hp : 今のHP hp_max : マックス状態でのHP color 255 : boxf x, y, x+hpg_width, y+hpg_height color ,255 : boxf x, y, x+hp*hpg_width/hp_max, y+hpg_height 適当。
307 :
304 :2006/01/03(火) 16:17:39 ID:tTnFcG9X
>>303 すまん。意味取り違えた。
MAXのHPが増えてもってことか
うまいこと計算してくれ
そういやboxfなんて命令もあったな…orz
レスくれた方たちありがとうございました 無事実装出来ました
実装は良いけど理解しましたか…?
だいたいはおkです
ttp://gamdev.org/up/img/4258.zip このソースのrepeat-loop中の最後にあるawaitの値が
10までと11からでかなり違う、っていうか予測と違う動きをするのですが
どうしてなのでしょうか?
10で平均80FPSは出ているので、11でもまだ70FPSは出そうなのですが
なぜかいきなり減って50FPSになってしまいます
312 :
311 :2006/01/03(火) 21:27:50 ID:JOB5+182
ソース中のコメント消し忘れましたが >まず以前の〜 は間違いで、キー取得してからそれで分岐させています
>>311 イメージを自分で作らないとテストできないのか。
ゲームのキャラでなくて、文字で書いたものでいいから、
イメージつけてほしかった。
ちょっと待ってろ。 イメージ探してきて試すから。
315 :
311 :2006/01/03(火) 22:01:19 ID:JOB5+182
ソースがわかりづらい…。 単純に gettime(7) の精度の問題じゃないかな?
ふとゲームを作りたいと思い、HSPを始めた。 画像を一つ表示するだけでも苦労した。なんで思った通りに表示されないんだよ。なんで勝手に止まるんだよ。 それでもほんの少し出来るようになったので、そろそろ何か作ってみようと思った。 ……失敗続きだった。 何度も何度も再起動し、何度も何度もソースを書き直した。 何時間もパソコンに向かって悪戦苦闘していた。 そして、いつのまにか俺のパソコンの中で一つのゲームが動いていた。 ブロックの無いブロック崩し それはゲームと呼ぶには余りにもちっぽけなモノだった。 だけど、ド素人の俺が何時間もかけて作ったゲーム。 それが動いてるのを見て、とても嬉しかった。少し涙も出た。
よくやったな
320 :
純一郎 :2006/01/04(水) 19:54:07 ID:kBXkUmqy
感動した
>>317 素晴らしい。俺もBASICでそんな記憶が。
>>317 っ[Gamemaker]
っ[Tonyu]
ゲーム作成ツールとかと違って、自分で1から作ったソースが
思い通りに動いたときは感動するよな、やっぱ。
自分も昔ただのデコジャンプでさえ作れた時は感動した。
…といっても、今も大して変化無いが。
>>322 GameMakerはお勧めしない
昔はgcopyやら画面ID、仮想画面の概念がさっぱりわからんかったなぁ… 今ではHSPの最大の売りはgcopyであるとさえ思ってるけど もうゲーム作成ツールが面倒過ぎて戻れない
GameMakerで出来たMMORPGがあったですよ(外人作) きちんと遊べるです
ちょっと質問 マリオみたいなゲームで地面の着地判定って、どうやるのが良い?マップは1枚絵 ・8x8づつとかチップみたいにやる ・あらかじめ地面データを作っといてマップ全体でのx座標と比べる みたいなのを考えてるんだが、チップだと斜めができないから迷ってるんだよ なんか良い方法無い?
そう思うなら後者にすれ。地面データの仕様にもよるが それかチップに角度データでも持たせたら済むことでは?
どなたかHSPでFPS(フレーム)の計り方をご教授頂けないでしょうか? 標準命令で時間取得して、一秒でどれだけ書き換えたかカウントすればいいんでしょうか? それともWinAPI呼び出したほうが正確?
>>327 チップに角度データを持たせるってどういうこと?
チップのステータスを、平面なら0、右上がりなら1、左上がりなら2、などとして キャラクタの下のチップのステータスによってキャラクタの動きを分岐させるって事じゃないの?
私もFPSの算出が正確にできない。 下のソースを私のマシンで実行した場合 await 1000/30 // の場合 22FPS await 1000/60 // の場合 40FPS await 1000/100 // の場合 64FPS await 1 // の場合 64FPS await 0 // の場合 254FPS これは、fpsの計り方が悪い? await が実際より多く待っている気がする。 (HSP 3.0 Windows2000)
// ここから #uselib "winmm.dll" #cfunc timeGetTime "timeGetTime" #cfunc timeBeginPeriod "timeBeginPeriod" int dummy = timeBeginPeriod(1) *main gosub *get_fps gosub *draw_fps redraw 1:redraw 2 await 1000/60 goto *main *draw_fps // FPS の表示 gsel 0 color 0,0,0 boxf 0,0,640,16 pos 0,0 color 255,255,255 mes "" + fps + " FPS" return *get_fps // FPS の計算 fpscount = fpscount + 1 now_time = timeGetTime() if now_time >= last_time + 1000 { last_time = now_time fps = fpscount fpscount = 0 } return // ここまで
333 :
328 :2006/01/05(木) 09:39:39 ID:QTf71O6F
>>332 ありがとうございます!
やっぱりWinAPI呼び出すんですね。
できればHSP標準命令でやりたかったのですが
本など見ても載ってなかったので質問してみました。
もし標準命令で出来るようならRomってますんでどなたかカキコお願いしますm(_ _)m
>>333 awaitの値を変えてみて、どうなるか教えて欲しい。
自己解決しました。 await の精度がわるくて(仕様かな?)、 指定した fps にならないようです。 同じこと悩む人がいるかもしれないから、 文書とソースをまとめて、wiki に載せようかな。
ども、初です。 初めてちょっぱなから質問させていただきます。 やはりアドベンチャーゲームはTextデータを読み込む方式にしたほうがよいでしょうか。 また質問があったら質問させていただきます。 それでは、お気に入りに登録しておきます。
337 :
名前は開発中のものです。 :2006/01/06(金) 14:16:41 ID:t7mkJOMf
Textデータを読み込む利点があるのかどうか考えてみたら?
338 :
337 :2006/01/06(金) 14:39:51 ID:t7mkJOMf
すばやいレスありがとうございました。 やはりテキストデータにするといちいち変えなくてすんだり、 ファイルサイズが減るかな〜と思っています。(一つ一つ<font>とか入れるよりもテンプレート指定ができると思った)
>>336 自分一人でデータまで作るんならソース内に書いてもいーんじゃない。
その方がLOADだなんだと無駄なコーディングしなくて済むでしょ。
後は、Textデータを読み込む方式と何を比べてるんだか良く分からんから何とも…。
単純にTextからバイナリにコンバートする/しないだけの話なら、
した方が実行前にヒューマンエラーを幾らか減らせると思うってくらい。
>>340 >何を比べてるんだかよくわからん
ソース内に書き込むか、Textファイルにやってそれをロードするというのを比べてます。
汎用効かせて、次々と作品を作っていくつもりならスプリクト方式(text読み)がいいんじゃね? 表示系の演出も試し易いし変更(演出デバグ)しやすいと思う。 簡単に仕様書つくれば、将来分業することがあっても便利だと思う。
ソースに直接の利点:わざわざテキストを読み込んでインタプリタっぽくしなくていい
テキスト形式の利点:プログラムを直接編集せずとも内容を変えられる(コンストラクション化も可能)
…だと思うんだが。
ソースに直接書くなら関数(defineだっけ?)など使って命令を共同させたほうがいいし。
漏れに作るだけの技術は無いのでよくワカラン。
>>342 ちょwwスプリクトってwww
うお、素でやっちゃたな俺。
345 :
名無しさんの野望 ◆q3p62njyP. :2006/01/07(土) 22:56:54 ID:f1Y8ethG
そうですね。そうします
話がそれるが、最近掲示板なんかで スクリプトを「スクリ」と略している輩を見かけるようになったが なんかすごく嫌だ。 あれくらい略さずにきちんと書けと言いたい。
最近のナウなヤングメン達的にクールなんだろ。
sukuri script どっちも6文字やね...
>>336 一人で作るならソースに書いても構わない。
他人に頼むならスクリプト化した方がいい。
>>346 けっこう前からいるよ。違和感あるよね。
俺はIME辞書に「す」で登録している。
スクリと言うとスクリーンと間違えやすい気がs
上のほうでやってる話題に便乗して…… HSPでゲームを作るとき、グラフィックとか音楽のファイルがたくさんあると思うけど 普通のやりかたでユーザーに見られたくない場合に 例えば拡張子ごとに一つのファイルにくっつけて暗号化し、 実行時にそれを復号化・分解して読みこむ、みたいなことやってる? それともただ暗号化パックだけ? 俺としてはパックは出来ないファイルがあるから嫌なんだけど…… 何か良い方法はないだろうか?
awaitの精度というよりパソコンのタイマーの精度じゃないかな。 JAVAで時間を計ろうとしたら、うちのパソコンでは50ms以下の 刻みでは時間を計れなかった。しかたないから5フレームに一回、5フレーム分 蓄積した処理時間を5で割ってFPS求めてる。 それとawait 0で200越えるってことはウインドウモードで動かしてる? フルスクリーンにすると画面更新待つだけで60fpsになるから、 await 0でいいけど、ウインドウモードで60fpsにするにはawait 16 でうちでは正常に動いてる。
355 :
名前は開発中のものです。 :2006/01/08(日) 18:45:17 ID:WV7huNeF
円を4分の1したような弧を描きたいのですがどの命令を使えばいいんでしょうか?
356 :
70jh70 :2006/01/08(日) 20:18:18 ID:UDFJ96YY
gihoybp0yiukhlo;pljuionhuik.jibyi8hiybuutf r6dr677uder54ty f676ug68b968tb
>>354 下のプログラムでテストしました。
http://gamdev.org/up/img/4312.zip CPU : AMD Athlon XP 2500+
OS : Windows 2000
HSP : HSP 3.0
┌───────┬──────────────────┐
│指定したfps│実際のfps │
├───────┼────────┬─────────┤
│ │await使用時│mywait使用時│
├───────┼────────┼─────────┤
│100fps │65fps │100fps │
│ 90fps │65fps │ 91fps │
│ 80fps │65fps │ 84fps │
│ 70fps │65fps │ 72fps │
│ 60fps │40fps │ 63fps │
│ 50fps │32fps │ 50fps │
│ 40fps │32fps │ 40fps │
│ 30fps │22fps │ 31fps │
│ 20fps │17fps │ 20fps │
│ 10fps │10fps │ 10fps │
└───────┴────────┴─────────┘
ウェイトなしの場合は 533fps
# すいません。ズレまくった。 awaitの精度が悪いのは、私の環境だけなのかな?
今度は大丈夫かな。 100 90 80 70 60 50 40 30 20 10 ← 指定した fps . 65 65 65 65 40 32 32 22 17 10 ← await使用時の実際のfps 100 91 84 72 63 50 40 31 20 10 ← mywait使用時の 実際のfps
360 :
名前は開発中のものです。 :2006/01/08(日) 22:30:12 ID:WV7huNeF
背景ありの円を動かすゲームを作っています 円はcircle命令で描いてあって、 クリックで押し続けながらマウスを動かすと移動するようにしたいんですが、 円をクリックしたかの当たり判定はどうすればいいんでしょうか? 解答よろしくお願いします
精度はawaitより高いけどCPU負荷が高いな
>>360 カーソルの座標から円の中心座標までの距離を計算して、
半径より大きいかどうかで判定してみたら?
あとは、円の色を背景では使わないようにして、
マウス座標の表示色を拾ってきて円の色と同じかどうか判定する方法とか。
>>360 平方根の近似値を求める記述が必須
簡単に実現するならペインターで円を描いておいて1ピクセルずつスキャンして画面座標と照らし
合わすとか
>平方根の近似値を求める記述が必須 ・円の半径の二乗 ・円の中心との距離の二乗 を比較すれば平方根はいらない。
え?HSPってsqrt関数無いの? 流石にそんな訳ないでしょ?
sqrt[F1] HSP3でよーやく追加された数学関数くらい把握しとけ
3までsqrt関数も無かったのかw まぁ浮動小数点数も無かったんだからそらないわなw
>>357 その方法ならawait 0の代わりにsleep(1)でも行けるんじゃまいか
CPU負荷減らせるし。
await 0はループ外に1回だけ。
>>369 やってみたら、あまり精度が落ちず、CPU使用率がぐんと減った。
あんがと。
371 :
名前は開発中のものです。 :2006/01/09(月) 13:58:56 ID:5VesZgPB
整数型の二次元配列に値をセットしようと思うんだけどループすると遅くて使い物にならないんだけど repeat 256 : x = cnt repeat 256 : y = cnt map(x,y) = 0 loop loop これなら dim map,256,256 てやれば早いけど、 別の値をセットしようとした場合何か早い方法ないですか?
>>371 逆転の発想
map(x,y) = m という場合
map(x,y)+m として使う
mでリセットしたいのなら、0をmのように使っていけばいい
っていうか
配列の初期化って最初だけだから
遅くてもよくね?
>>371 遅いの基準が分からないけど、
下のソースは私のPCでは、35msec かかる。
実際どのくらい時間かかった?
どうしてもなんとかしたいなら、、マシン語をつかうとか・・・。
#uselib "winmm.dll"
#cfunc timeGetTime "timeGetTime"
dim map,256,256
begin_t = timeGetTime()
repeat 256 : x = cnt
repeat 256 : y = cnt
map(x,y) = 0
loop
loop
end_t = timeGetTime()
mes "処理時間 " + (end_t - begin_t) + "msec"
35msecは遅いでしょ。 60フレームだと、2フレーム飛ぶぞ。
いつも同じ値を使うんだったら、テーブル作っといてmemcpyか #uselib "winmm.dll" #cfunc timeGetTime "timeGetTime" dim map,256,256 dim wrk,256,256 repeat 256 : x = cnt repeat 256 : y = cnt wrk(x,y) = 0 loop loop begin_t = timeGetTime() memcpy map,wrk,256*256,0,0 end_t = timeGetTime() mes "処理時間 " + (end_t - begin_t) + "msec"
カエレ #uselib "winmm.dll" #cfunc timeGetTime "timeGetTime" dim map,256,256 begin_t = timeGetTime() repeat 256 map(cnt,0) = 333 ; 任意 loop repeat 256 memcpy map(0,cnt),map(0,0),256*4 loop end_t = timeGetTime() mes "処理時間 " + (end_t - begin_t) + "msec"
256*256*4か・・・。吊ってくる
>>376 ナイス
378 :
360 :2006/01/09(月) 20:36:34 ID:1esNj1jC
皆さんありがとうございました サンプル分かりやすかったです
379 :
371 :2006/01/09(月) 20:51:01 ID:5VesZgPB
HSP 3.0 のバージョンが、なかなかあがらないのはなぜ?
みんな2の方使ってるから盛り上がらない、とか
年内はコンテストで手一杯だったんだろ。 とりあえず早くinput直してほすぃ。
383 :
await :2006/01/10(火) 14:48:47 ID:x3OfSn1E
http://gamdev.org/up/img/4329.lzh これでawait問題は解決か・・?
100 90 80 70 60 50 40 30 20 10 ← 指定したfps
065 65 65 65 40 32 32 22 17 10 ← await使用時の実際のfps
100 90 80 70 60 50 40 30 20 10 ← fpswait使用時の 実際のfps
FPSの計測は1000msごとにやるのと 画面更新、例えば60回毎にやるのとどっちが良いんだろうね
FPS:Fame per second
一秒あたりの名声? 0.5 μgoogle/sec とか(意味判らんけど)
うほwwwwwwwwwww
fps=60000.0/(now_time-last_time) いや、ほら精度としてはどっちがいいのだろうかと。
結論から言えば、どっちでもいい
すいません、一応ヘルプ見たんですけど質問です。 dimで配列作る時に、少数使いたいのですが、どうすればいいでしょう??
>>383 timeGetTime より、GetTickCountのほうが
精度低いって聞いたんだけど、やけに正確な fpsになるね。
>>390 HSP 3.0以上なら ddim というのがある。
>>383 あーなるほど。
まだ、はっきりソースの動作を理解してないけど、
たとえば、60fps として、1000/60 だと端数がでるから、
その端数も考慮して、waitをかけているってことですね。
だから、正確なfpsになるのか。
# 1000/60 = 16.666...
# 実際には、きりすてられて、16msecしか待たないので、
#
>>359 のように fps が少し早くなってしまう。
393 :
383 :2006/01/11(水) 04:22:46 ID:b+VsXhIk
もう日付変わってるし・・・・。
>>390 ddimもしくはdimtype
>>391 大体>392。
GetTickCountを使いたい訳じゃなくて、
GetTickCountでも動くかな?と書き換えて、そのままorz
>>932 getfpsをループの中に二つ入れるとfpsが二倍にwwwwwwww
>>371 よっぽど速度を要求されるソフトを作ろうとしてるんだな。だったらHSPあきら
めてC使えば?
396 :
2.61で :2006/01/12(木) 08:13:20 ID:to8R9Wd/
1度作った配列とかがいらなくなったとき、メモリを解放するってできる? Cでいうfreeやdeleteに相当する命令が無いような気がするんだけど… 試しにメモリ使用量を見ながら 最初に sdim s1 10000,1000 sdim s2 10000,1000 とかいう風に宣言したらメモリ使用量が大量に増えて、後から sdim s1 100,10 sdim s2 100,10 ってやってみたらメモリ使用量減ったけど これでメモリの解放はできてるの?
>>395 よっぽどじゃねーし、既に解決策も出てるだろうがドアホ。
>>396 減るんなら良いんでないの。
モレもdim a,16とかやってるし。
399 :
age :2006/01/13(金) 16:58:26 ID:lXCmxLyd
HSPLet3.0に期待age
400 :
名前は開発中のものです。 :2006/01/14(土) 18:51:32 ID:PKlupJkR
名前が分からないんですが、 メモ帳で上のほうにある「新規作成」「開く」のようなものを作りたいんですが、 どうすればいいんでしょうか?
402 :
400 :2006/01/14(土) 19:22:59 ID:PKlupJkR
>>401 ありがとうございます
それを使わないとメニューバーは作れないんでしょうか?
メニューバーならcommonフォルダのmod_menu.asを使えばいいんじゃね?
>>403 詳しく説明していただけないでしょうか?
詳しくってことは中見たけどわかんなかったってことか・・・? 書いてあったURLは見ようとしないのかな?w
人の頭を使わず自分で考えろと 質問はそれからだ
はいはいゆとり教育ゆとり教育
モジュールでグローバル変数とか参照したいです。 そういう機能ありませんか。 本当に完全に分離されてるみたいで・・・ プログラム全体で共有したい変数を参照したいのです。 つまり定数のような変数です。
410 :
名前は開発中のものです。 :2006/01/17(火) 16:59:50 ID:62CKdlEk
>>409 hsp30/docs/hspprog.htm#prog3_1
付属マニュアル読んでみそ
>もし、モジュールの外から、モジュール内の変数を参照したい場合には「変数名@モジュール名」という書式を使うことができます。
>逆に、モジュール内部から外(#global部分)の変数を参照する場合には、「変数名@」という書式により参照することができます。
>ただし、この書式はモジュール内部と外部に依存関係ができてしまうためソースの完全な分離ではなくなってしまいますので、推奨はされません。
;>410 ;どうもありがとうです。確認してみます。 ;以下メモ書きです。 ;上の方で変数の解放の話が出てたけど、似たような話題。 hensu1 = 0.001 hensu1 = 10.000 hensu2 = 0.001 hensu2 = 10 hensu3 = 0 hensu3 = 0.12345 mes "hensu1="+hensu1 mes "hensu2="+hensu2 mes "hensu3="+hensu3 stop ;hensu1=10.000000 ;hensu2=10.000000 ;hensu3=0 ;という結果が得られれば良いのだけど、 ;hensu1=10.000000 ;hensu2=10 ;hensu2=0.123450 ;つまり実行中に最初に宣言した型が変化しています。 ;「代入するとその型になってしまう」ので注意。 ;代入で、内部的に確保し直してるんですね。 ;hsp3で実数が扱えるようになって、 ;キャラクターを小数点単位の移動をさせようとしてうまくいかず ;どうしてかと思った・・・同じ悩みで苦しんでる人いない?
いない HSPでは実行開始時は全部intだから、変更できないと困るぞ
>>411 読めって言われてんのにまだマニュアル読んでないのか盲
>整数値、実数値、文字列、関数を混在した式を書くことも可能です。その場合は、計算する最初の項に合わせて、後の項が型変換されます。たとえば、「8 + 4.5」のような計算は、最初の8(整数)に合わせて4.5は、4(整数)として扱われます。
すんません。 マニュアル読んだらwikiとかメーリングリストとかのリンクが。 そっちでじっくり勉強しますです。
めくらとか忌み言葉使うなよな。 験が悪い。 オマエの餓鬼とかメクラで生まれてきちゃうよw
HSP2で2DアクションRPG製作してるんだけど、質問。 hspdx.asをインクルードして作ってて、 es_checkでキャラが通過できない場所に接触した時の衝突判定で反応を分岐させようとしてるんだが、うまくいかない。 貫通したりなぜか浮き上がったりで手に負えない。 マップの角に当たったときとか、地面と壁の両方に接触してるとき(これは何とかなりそうだけど)の判定はどうしたらいいんだろう? 素直にtype指定を複数に分けようとも思ったけど、地面・左崖部分・右崖部分・左壁・右壁・天井・左天井角部分・右天井角部分と種類を分けてあるから、 地面だけでtype指定を細かく分けるのはなんか変だし……。
HSPコンテストって次いつやるのかな。 やっぱり年末?
次は無いお。
ところで急に気になったんだけど藻前ら ゲームのメインループはどう書いてる? *mainlp (処理) goto *mainlp か repeat -1 (処理) loop に分かれると思うんだが。漏れは前者。
前者は後者の数倍重くなると聞いたんだが… 比較的、処理のいらないゲームなら問題ないかも
重くないし
後者をメインループに使うと、 repeat〜loop文のネストがもれなく1段階深くなるのが気になるんだよね
>>423 乙
そうか、repeatの方が圧倒的に高速だなぁ。
うちの環境では 2224ms 2305ms 255ms だった。 中身が同じならgotoのほうが速かった
報告。うちの参考になりそうにもない糞機(P3-1Ghz、WinME機2001年購入) 5651ms 5671ms 602ms でつた。
>>423 エディタからF5で実行するとgotoの方が速かったけど
実行ファイルにしたらrepeatの方が断然速かったな
430 :
423 :2006/01/19(木) 20:05:54 ID:R/4fX8+T
>>429 今何度か試してみたけど、実行ファイルにするとgotoが速い場合が多い。
デバッグ時はrepeat-loopが常に速い。
↑アダルトサイト
結局どっちが早いんや
モレは、速さよりも作りやすさでgoto使ってる。
敢えてメインループさえ#deffunc hogeでサブルーチン化する俺。 repeat hoge if stat{break} loop
>>423 カウンタ&分岐処理で+2000ms使ってるだけじゃねーの?
*b1Loop
count++
if count != LOOP_COUNT : goto *b1Loop
と比べるなら
カウンタが必要ならrepeatでcot使えば6割早い
規定回数loopして抜けるならrepeat p1で9割早くなる
p1を使わずにcot比較分岐なら3割早い
って感じ
gotoとrepeat自体は1000000回でも誤差程度の差
a++より軽い処理なのにメインループ中1回の事で気にしてもしょうがないと思う・・・
もしかしたら、ループの処理<>ループの中の処理でどちらの負荷が高いかで変わってくるのかも知らん。 とりあえず、実行ファイルまで作って遅かったら逆やってみる。
ちょい間違い >カウンタが必要ならrepeatでcot使えば6割早い これは *b1Loop count++ goto *b1Loop との比較した場合だな・・・
ショートプログラマへ一言 無限ループを組むだけなら、repeat:loopより*aaa:goto *aaaのほうが4バイト小さい
なんか話題の変え方というか、流し方が強引だな。
こんな回りくどいやり方をするぐらいなら、
「
>>416 自分で調べろカス」
って素直にレスしたほうがまだマシな希ガス
441 :
名前は開発中のものです。 :2006/01/20(金) 02:55:51 ID:rybgeTyi
>>419 goto 先頭のラベルに飛びたい場合があるから。
>435 だよね。IDEのメニューからいちいち再読込しなくて済むし、 あ、ていうか自分、外部のテキストエディタ使ってるから、秀丸。 >416 キャラクターの中心だけで行ける/行けない判定してるんちゃう? キャラクターの大きさの中で少しずれた位置もいくつか判定して、 どれか一つでも当たり判定に引っかかったら行けないということにしたら。 自分は昔遊びで作ったとき、キャラの中心ではなく、左上、左下、右上、右下の 四カ所で判定してたような記憶が。 左に移動しようとして左上か左下の判定のどちらかにひっかかったら 行けないと判断できる。 左上に移動しようとしたら、左上、左下、右上のどれかの判定にひっかかったら 行けないとする。壁にそって移動したいときはさらに細かく判定すると。
>>416 一つのやり方として
前回の座標を保存しといて、ブロックと衝突したら前回と、今回の座標から
どの方向から衝突して、どの面に接触したかを判別する。
簡単な方法として前回のキャラの判定領域がブロック判定領域のx、yどちらかに
重なっているか、両方重なっていないで分けて、
前回xが重なってるならy軸の移動は出来ない>下に移動中なら上に上に移動中ならブロックの下に合わせる
前回yが重なってるならx軸の移動は出来ない>右に移動中なら左に左に移動中ならブロックの右に合わせる
両方重なっていない場合
前回の位置が左上ならブロックの左か上にしか触れない>当たった場所がブロックの中心から左、上側の離れている(*1)方に合わせる
斜め45度の場合距離は同じなので優先度を決めておく
このまま実装すると、キャラのスピードや、一度に二つ以上接触した時の処理順序などで、色々不都合が出ると思う
でも、これ以上は作るゲームによって変わってくるので、色々やってみてくれ
(*1、中心からの距離の比較だけで見るとゲームとして厳しい場合は半分より上なら上に載せるとかやってもいいと思う)
アクションゲームなどの敵の動作処理を一度に行うにはどうすればいいんだ… 原理すら分からん… マップデータを読み込む→画面内にある敵をリストアップ→ルーチン作動… って直列処理なら一時変数とか使えないし、ウェイトは全体の処理が… もうワケワカランorz
問題はそこじゃなくて、直列処理だと複数の敵を動きをずらして動かせないし HSPの場合、例えば一時的にウェイトかける場合はプログラム全体が止まるんでは… あーもう… …脳内整理しなおしてくる…スマソ
何がわかんないのかわからんのでモチついて整理よろ
>>448 まず、データ上の自機と敵の移動処理を全部やった後、
スワップようの非表示バッファに全部描画して、
そうした後にウィンドウに全部上書きしろ
敵を動かす時に全部同時に動かしたいんでなくて 敵キャラごとに時々止めたい、っていうのがあるんでないか? ……と読んでみたが外れてるに違いない。
複数の敵の処理に 配列使ってないだけなんでは?
453 :
416 :2006/01/21(土) 01:04:05 ID:n9WQ139L
スルーされるかと思った。
>>444-445 アドバイスdクス。
マップは、40*40を1マスとして、それにタイプの違うセル(スプライト)をはめ込んでいく方法で作ってる。
で、そのタイプを
>>416 で挙げたように左崖、地面、右崖、左壁、地中、右壁、左天井角、天井、右天井角と分けて0〜8の番号に割り振る。
そのマップデータをsdimに入れて、peekとrepeat命令を組み合わせて実際のマップとして出力してるんだけど、
その時につかったタイプを配列に代入して、キャラクターがマップセルにぶつかった時にその代入したタイプを参照して、
キャラクターの行動を制御するようにしてる。
……んだけど、なぜか地面に触れた瞬間あらぬ方向にワープするんだよな('A`)
角のセルに触れた時の処理に困ってたんだけど(地面もしくは天井としてスプライトの上辺もしくは下辺に配置しなおすのか、壁として左辺もしくは右辺に配置しなおすのか)、
>>445 のアドバイスのおかげでなんとかなりそうだ。ありがとう。
454 :
416 :2006/01/21(土) 01:04:38 ID:n9WQ139L
連レススマソ
>>446 俺のhspdxでのやり方だけど、動かしたいキャラクター全部に番号振って、
[配列名.キャラ番号]で(HSP3だったら[配列名(キャラ番号)])まとめて制御してたぞ。
*main
repeat
x++
chr_x.x+2 : chr_y.x+2
es_pos x,chr_x.x,chr_y.x
if x==50 : break
loop
es_cls
es_draw
es_sync
await 0
goto *main
めっちゃ大雑把だけど、こんな感じで。
ちなみに、俺はHSP初めてまだ3週間だからあんまりあてにしないでくれ。
もしかしてこれはめちゃくちゃ非効率的なやり方かもしれないし。
>>446 はたぶんゲーム作りの基礎からして分かってないのじゃろう。
インベーダーゲームではいかにもインベーダーとUFOとプレーヤー機が同時
に動いているように見えるだろう?そうじゃない。まずインベーダーを
4ドットだけ動かす。動かすってのは前のインベーダーを消して新たな位置に
描き直すってことだ。次にプレーヤー機をジョイスティックの入力された方向
に2ドット動かす。次にUFOを1ドット動かす。まあたとえばの話だ。数字は適当。
この3つの処理は並列に行われはしない。あくまで順々に行われる。しかしこの
1回の移動は何ミリ秒という短い時間しかかからない(HSPの場合一般的には
16ms)ので、人間の目には同時に動いているようにしか見えない。そしてこの
移動が延々繰返されることによってゲームは動くのだ。(Basicの時代なら
これで十分なんだが、HSPの場合redrawによってこれらの移動は同時に更新
される。まあインベーダーの時代も垂直帰線割り込みで同時更新だったのだ
ろうが。redrawの概念が入門者には分かりにくい気がする。)
ウェイトかける場合はプログラム全体が止まる。うん、その通りだよ。HSP
の場合一般的にはawait 16とする。先の3つの処理が10msで終わったとすれば
あとの6msは何もしないんだ。その6msはWindowsが仕事するのに使う。Windows
が仕事する時間がないとウィンドウが動かせなくなったり最悪の場合フリーズ
する。このawaitの概念もまた入門者に敷居を高くしている。
ゲームの基礎はとてもこの1レスでは語りつくせないので入門書読むなり講座
検索して見つけるなりしてくれ。
いろんな意味で昔より今の方が入門者に敷居が高いかもしれんな。昔は雑誌
に載ってるリストを一生懸命打ち込んでゲームするのが普通だった。だから
他人の書いたソースを否応なしにたくさん読んだ。今はダウンロードして
おしまい。自分でプログラム書かない奴まで批評家気取り。「貴重な時間を
無駄にさせやがって」とか言って即効ごみ箱行き。これじゃ有り難味なんか
感じない。
なるほどー
シビレのスカタンだ まで読んだ
>>416 es_checkなんか使うな。座標で判定文書け。
今日来たんだが、128マジでキモいな。死ねばいいのに。
>>458 なんで? es_check使わない方が処理時間短いとか?
461 :
128 :2006/01/21(土) 14:46:34 ID:a30JaYN7
貴方のほうが気持ち悪いですよ。貴方が死ねばいいんじゃないですか?
462 :
128 :2006/01/21(土) 14:48:54 ID:a30JaYN7
あと、私が出ただけでファビョる方がいられるようなので言っておきますが、
私が来たのは
>>459 が私を名指しで非難したからです。私は、
>>459 に謝罪を求めます。
463 :
459 :2006/01/21(土) 14:54:17 ID:9c99mgDL
464 :
459 :2006/01/21(土) 14:56:35 ID:v55NvseR
何この痛い人
だからって
>>461 の書き込みは許されますか?
仕返しが済んだ後で謝罪とはどういう了見なのですか?
>>459 は謝罪したので
>>461 も謝罪すべきですね。
また湧いたな
468 :
446 :2006/01/21(土) 15:39:31 ID:jn+lhNV+
>>455 thx。勉強になった。
自分はHSP始めてからは長いものの、まともなソフトさえ作れないので
1から勉強しなおそうかな…
すごいな。即座に沸いてきてる。
どう見てもファビョってるってのは
>>462 本人だろ。
470 :
128 :2006/01/21(土) 16:20:13 ID:a30JaYN7
>>471 残念ながらそれは無理です。そこで、
>>128 の時点でやっておけばよかったのですがトリップをつけました。
私を128と判断するか偽者と判断するかはみなさんの自由ですが、これで私の偽者はいなくなると思います。
すいません、かなりおかしな文になってしまいました。
証明は出来ませんが私は
>>128 です。そして、偽者がいるようなのでトリップを付けました。
で、オートマトン将棋は出来た?
いやトリップとかどうでもいいから消して普通に参加しろよ 現状で自己主張する必要ねえだろ。
基地が住み着いタ━━━━(゚∀゚)━━━━ッ!!
はいはいわろすわろす
479 :
名前は開発中のものです。 :2006/01/22(日) 08:47:07 ID:swutJTUS
最近の厨はなんでスルー出来んのかね。 鳥までつけて痛いこった。
普通に名無しさんで参加してれば平和だと思うが、どうか。
ゲームプログラミングってマジックと同じで化かしなのよ 例えば上へ進んでるように見えても実際は下へスクロールさせてるだけだし
突然何言い出してんだ?
そして基地日記がハジマタ(゚∀゚)
>>480 私を誹謗中傷する輩がいるのだからしょうがないでしょう。
スルーすればいいだろ。 お前が誰なのかなんてお前しか知らん。
>>485 トリップなんか付けたら格好の的だろ。
それに
>>128 =461だって証明出来てないんだから、誹謗中傷もないだろ。
オートマトン将棋でも作ってろバーカ。 普通の将棋すら作れないだろうがw
489 :
age :2006/01/22(日) 21:05:20 ID:l8ikEU1L
ま た 1 2 8 か
黙っていれば煽った相手のほうが自然に悪くなるのにな。 黙っていれば自らの尊厳を守れる事に気づかないなら、もうどうしようもない。
>>490 黙っていては図に乗られてさらに誹謗中傷が酷くなるだけです。
それが分からない貴方のほうがどうしようもないことになぜ気付かないのですか?
過去の話なんだし無視しとけっての。 今現在それで困らないだろ。 そうやって過剰反応するから煽りも止まないってことになぜ気づかないのですか。
基地外の統治が始まったね。 このスレも平和になるであろう。
>>491 "荒らしは無視が一番嫌い"って事ぐらい解らないかな?
反応すると図に乗られてさらに誹謗中傷が酷くなるだけです。
それが分からない貴方のほうがどうしようもない荒らしだとなぜ気付かないのですか?
hsp3標準でdirectsound使うことできない? さくらさんのHSP module & macro Library (stdlib) にdsound.asてのがあるんだけど 使い方がわからない
なぁみんな、2chブラウザぐらい使おうぜ? ローカルあぼんで十分だろ 雑談sage
誰か言ってやれよ‥‥このスレに一番不必要なのは
>>128 だってことを‥‥
かわいそうな子は見ていて痛いんだ‥‥誰か引導を渡してやれよ‥‥
>>496 まーその点トリップ付けてくれることは有り難いな…
>>459 は皆の思いを代表して書き込んでくれたんじゃないかな?
そう思うと459は僕の中では正義だよ。
何を今更って感じだったけどな。
ありがとう。dsoundexといういいもの見つけました。 XPだとサウンドの同時再生できるのですか?Meでは サウンドは一個しか鳴らず、二つ再生すると先に再生していたのは 停止してしまいます。
もっともdsoundexを使えば同時再生はOKですけど。 出来れば標準機能だけでやりたかったけど、 自由なライセンスのライブラリなのでこれ使います。
>>494 私のうすっぺらなプライドを保つには反論するしかないのです。
それが分からない貴方がどうしようもない阿呆だということになぜ気付かないのですか?
そして、もう予想はついていたかもしれませんが、私は
>>128 ではありません。
>>459 も私です。
このスレの方々への誹謗中傷をお詫びします。じゃあさいなら。若槻千夏の薄味のまんこ舐めたい。
Let's through
つまんない釣りだったな。キモスwwwwwwwwwwwwwwwwwww
そしてこのスレに再び平和が戻ったのであった
508 :
名前は開発中のものです。 :2006/01/24(火) 19:21:46 ID:WrDZHcCa
_.. ..‐::´/ _/::::::::::::/ _/:::::::::::::/ ______ ,..::::´::::::::::::::::::::: ̄::::::::::::::::::::::::::._/ 掴もうぜ!フジテレビ♪ /:::::::::::::::::|ヽ、:::::::::::;::::::::::::::::::::::/ 世界で一等スリルなCB♪ /:::::::::::::::::::::| |/_:::.::::_:::::::::::::/ 探そうぜ!LF株♪ _ .. -─':::::::::::::::、::|` ⌒ ⌒ |:∠ 世界で一等愉快な奇跡♪ `''ー-.._.:::::::;-‐、` <・> < ・> :::`::-、 この世はでっかい宝島♪ =ニ二::::::::::::::::| ノ( 、_, )ヽ ^ヽ--─` そうさ 今こそ LBO♪ ‐=.二;;;;;`‐t. ノ、__!!_,.、 | ∧ | ヽニニソ l 胸わくわくの金がぎっしり♪ /\\ヽ /ィ 色とりどりの女がどっさり♪ _,、人、イ,_ \ \ヽ. `ー--一' /| て,、 台場の社屋で光ってる♪ ヽ ,,r-、 .( ,-, rヽヽヽー-- '"| }`、( ィ,=-、-、、 そいつ見つけに行こうぜリーマン♪ ノ ./ ヽ、ゞ ノ ィ、ノ ,l ,! ,l,iヽ、 / / ヽ < ソ ,i ,i ,|,l 「老害」日枝をぶっ飛ばし♪ ) | ,,,r-= 、ヽ> ト. / 、 / `、r'" / 流言蜚語が今日も飛ぶのさ♪ iノ´ ヽ人 / )、 / レッツ トライ トライ ホリエモン♪ { /、 `ー- / イ、 `ー-/ 株を分割3万倍♪ ト、 '" `ー- / } ` ー/ レッツ フライ フライ ダイビング♪ ヽ /`ー'"⌒`ー-'"~`(´ / 樹海の旅が始まるぜ♪
509 :
名前は開発中のものです。 :2006/01/26(木) 01:48:56 ID:X5v8Rrjp
昨日からHSP2・6を使い始めた超初心者なんですけど 敵キャラをes_aimを使って画面の端まで来たら、敵キャラの歩数を0にして止めるのは どうやるんですか? es_posでなら出来るんですけど。
んー。 ・スプライトの位置を常に監視 es_findで敵(Type値)を検索→es_getで座標を得る ・画面端だったらそのスプライトの移動スピードを0%に …かな
512 :
名前は開発中のものです。 :2006/01/26(木) 02:51:00 ID:X5v8Rrjp
だからes_aimを使って動かしている敵キャラを 画面の端まで来たら停止させる方法だよ。 バカ? つうかもういいし。
はいはいワロスワロス
ぼうず、ファイトマネーは持っているのかい
515 :
名前は開発中のものです。 :2006/01/26(木) 03:02:08 ID:X5v8Rrjp
悪かった。 エスパーキボンヌとか言われたからちょっとムカついてしまった。 回答有難うございます。
ただ、es_aimでは移動速度を0パーセントに設定できないような。 1パーセントが最小のような
es_aimはシューティングの敵弾とかに使うもので、自機とかみたいに任意に位置を動かす物体は変数に座標を保存してes_posでやるのが普通だと思うが
うんこでた厨乙
もう2.6なんか使わない方がいいよ。でもまだ ネットに出回ってる初心者向けサンプルは2.6のが多い・・・ ところで初心者以外で3.0使ってない人ってどうして? 3.0って何か問題有るのかな。
>519 いつも使ってるプラグインが3.0対応してないとか
乗り換えるのがめんどうなんでしょ?
3.0は2.6よりやや遅い。。。3.0を使わない理由にはならないか
新作作るんなら3.0にするんだけどな 今製作してるゲームを3.0に移行するのはめんどい
キャラの移動は自前の移動ルーチンを組んで変数に座標を入れて管理した方がいいと思う。 移動だけならともかく、あたり判定とかもあるし。 俺はHSPdx使ってSTG作ったけど、ライブラリの命令は描画部分しか利用してない。
>524 gep.hpiってどうよ?描画用として 俺も衝突部分はDLL化。ほめられたものでは無いが
HSPDXFIXでSTG作ったけど判定も何も全部DLL任せw
>>516 HSPDXFIXの0.19で確認したけど、ちゃんと es_aim のp4=0で完全停止する。
p4=1だと、ジリジリとにじり寄ってくるような動きに。
このDLLでも1%がどうの言うなら、スクリプトを疑ってみたほうがいいかも。
>>526 スプライト板の割り当て範囲を自分でしっかり決めて、es_exnewで弾発生、
es_checkで自機-敵弾、自機弾-敵 との衝突判定すると
下手に自前ルーチン組んで発生、判定するより早いし便利だよなぁ。
そろそろバージョンアップして、新しい機能が追加されないかとハァハァしてるよ。
>>527 俺のは2,6に標準装備されているHSPdXだけど
es_aimのp4=0にすると100パーセントが代入されてしまう。
マニュアルには0から100パーセントって書いてあるけどね。
529 :
名前は開発中のものです。 :2006/01/27(金) 19:14:52 ID:fKjSp83u
H 変態 S スカトロ P プレイ
HSPdx(fix含む)で作られたのって、どんなのがある? どこまでできるのか参考までに見てみたいんだけど?
Distance
HSPDX系って簡単でいんだけど、家の環境だと5秒に一回2フレぐらい止まる HSPのバージョンとかHSPDXがαとかFIXに関係なく止まる 作る気無くした・・・
535 :
528 :2006/01/28(土) 00:33:12 ID:dQt4yg9N
>>530 取り敢えず、今作っているゲームがあともう少しで完成するから
それが終ったらHSPDXFIXをダウンロードしてみるよ。
XPではsysexitが効きません どうしても終了させたいのですが他に手はありませんか?
だれか2.6用のDLLの3.0用ラッパー作らない? 面白いアイデアだと思うけど
HSPでプログラミング勉強中。 早速ifで躓いた('A`)
>>538 if time > 100 {
} else : if time > 50 {
} else {
}
たぶんこんなカンジ
わけわかんね
もし ○○が××なら 〜〜しろ 違ったら ーーしろ
まずこの書き方を覚えれ if a=10{ mes "10" dialog "10" } aが10のとき、 { } で挟まれた命令が実行されるってこと。
>>536 shutdown.exeでも起動しる。
別に { }で挟む必要は無い。 改行する時に必要なだけ。
>>539-
>>542 >aが10のとき、?{?}?で挟まれた命令が実行されるってこと。
なるほど、ようやく分かりました。
ありがとうございました。
>>543 なるほど、そういうやり方がありましたか。
引数の渡し方が解からないので.batから起動させるという遠まわしの方法ですが、
無事シャットダウンできました、ありがとうございましたm(_ _)m
>>545 ちがう{}は改行しても一つの命令として認識させる為に必要な物。
if a=10:mes "10"
これでいい。
a=10の後の:を忘れるな。
入れ子構造などになっていない、単純なif文なら
>>547 で良いのだけど、
HSP2.xで作成中のものを将来的にHSP3.0への移行させることを考えている、
あるいはすでにHSP3.0で作成中なら、できるだけ{ } で区切るようにしたほうが良いと思う。
(switchマクロなどのコンパイル前の展開で、入れ子構造になってエラーになることがあるため。)
というか、
>>538 は、単純なif文が理解できないんじゃなくて、
複数条件の判定を記述するあたりでつまづいてるんじゃないのかな?
あのさ、カレントディレクトリの二つ下のディレクトリのデータってどうやって検索するの? dirlist2命令使っても、一つ下までしか検索してくれないんだけど。 #include "hspext.as" sdim a,128 dirlist2h 1 dirlist2 b,"(サブフォルダ名)\\*.*",0 dirlist2r a mes a stop で、一つしたまでは検索できる(いや、拡張子が*だとエラーになるけど)けど、 dirlist2 b,"(サブフォルダ名)\\*\\*.*",0 だと上手くいかないんだよね。なんで?
カレントディレクトリ変更すればよくない? やってないけど。
>>549 試してみたけど、2つ下の階層も取得できたよ。
ただ、自分のテストしたフォルダでは、sdim a,128 では文字数が足りないらしく、
エラーで勝手に終了するんで、適当に文字数を増やしたけど。
552 :
371 :2006/01/29(日) 00:57:07 ID:RIL9Uulw
#define もし if #define なら { #define 閉じる } #define では無く } else : if #define ではなく } else : if #define その他なら } else { #define その他 } else time = 50 もし time > 100 なら mes "#1" では無く time > 50 なら mes "#2" その他 なら mes "#3" 閉じる とかありえないことをして見る
>>551 dirlist2 b,"特攻\\爆死\\*.*",0
だったらうまくいくんだけど、
dirlist2 b,"特攻\\*\\*.*",0
だと失敗するんだよ。
ちなみに、今俺が使ってるHSPは一昨年ダウンロードした奴なんだけど、
それは関係あるかな?
知るかボケ! 関係あるかもしれないと思うなら、新しいので試してから言え!
>>553 2階層目のディレクトリ名をワイルドカード指定したい・・・のか。
hspextは余り使ったことがないけど、そこまではもともと出来ないんじゃないかな。
その代わりに、再帰検索モードがあるのだと思う。
望みの動作を実現するなら、
「"\特攻" 以下を再帰検索して、結果から2階層目以下を抽出する」
・・・のは面倒くさそうなので
「"\特攻" を走査して、見つかったディレクトリ(2階層目)に対してファイルリスト取得」
─というスクリプトを書けば良いかな、と。
>別に { }で挟む必要は無い。 >改行する時に必要なだけ。 ないわけじゃない。その逆。 一行だけならいらないの。
>534 もったいないですよ。自機を移動し続けるとカクッカクッと遅くなるやつでしょ? 私はWINDOWSパソコンでのゲーム制作では仕方ないと割り切ることにしてます。 60fpsにこだわり低速パソコンに合わせて作ったゲームが完成前に 古くさくなり作る気無くした… 2000年ごろ30pfsで時代の最先端みたいな技術をぶっこんで作ったゲームが いまは軽々と動作してるのをみるとウラヤマすい。
何か色々常駐させてるからじゃないの? それかNYユーザー?
自分もHSPDXFIXを使ってゲームを試作してみてるのだけど、
別窓で動作の重いアプリが起動していると、
>>534 の言うような一定の間隔で数フレーム止まる状態になる。
分かりやすいのは、タスクマネージャを起動してプロセスタブ辺りを開いてるとき。
─マネージャが表示を更新するタイミングで、一瞬ポーズがかかったような状態になる。
ということで、このような動作を阻害する常駐物がないか確認してみると良いかと存じます。
HSPLet 3.0対応版がでてる
ちょっと待て。 lF.WPE1k0Mが128ではない、という証明も出来てないぞ。
いっそのことタスクマネージャでそのタスクの優先度をリアルタイムにしてしまったら? CPU100%いきますけど
HSP3.1
>>533 ちょっとエラー報告。
家ではd-force1が起動しなかった。まさにhspdxのエラー。
WinMe+Directx8.1の組み合わせ。hspdxをhsp2.61のものに差し替えたら
こんどはAMmidi.hpiでエラーに。これはネット最新版探しても
見つからず、「安らかに眠れ」というHSPゲームから拝借したら
ようやく起動した。
d-force2は問題なく起動できた。
飛翔鮎は体験版を持ってるけど、久しぶりにハマって遊んでしまった。
体験版だと二面でエンド。
数年前初めて見たとき、ボタン一つでメニューを行き来できるUIには
目からウロコだった。
HSP4.0まだー?
飛翔鮎は良く出来てるね。 そいや飛翔鮎の次に出た幻想少女ってのはZGP使ってるみたいだが、 似たようなゲームに見えるけどなんでわざわざ作り直したんだろ。
頭の中にいる少女がとにかく幻想少女という名のゲームを作れと命じたんだ ろう。
それで作れたら良いなあ
ゲーム内容をセーブするのって何かプラグインが必要なの?
普通に変数をBSAVEでいいじゃろ
誰かhspdxを分かりやすく解説してるサイト教えて。
HSP3.1でラベルが実装されたら、こんな記述ができるのか?? wk = *label /* 〜 */ goto wk
ラベル型
?? 3.1βキタ━━━━(゚∀゚)━━━━!!!!
>>574 それが実現したら
on p1 goto *label01,*label02,*label03,...
とかしなくて済むなぁ
>拡張プラグインHGIMG3の機能追加と不具合をいくつか修正(詳細はhgimg3.txtを参照してください)。 どこにあるんだ?
無いな・・・。
質問よろしいでしょうか?
RPG等の名前入力の時、入力ボックスではなく、マウスで文字を拾いたいのですが
まず、文字を例えば50音順に表示するとして、
@repeat〜loopでひらがなの「あ」から、アスキーコードをプラスしていって表示する。
A文字の選択は、マウス座標÷文字の間隔で取得
B配列に取得したアスキーコードを加算。->文字に型変換(名前)
このような考え方で合っているでしょうか、それとももっと簡単な方法があるのでしょうか
自分でやってみたところ、まず、ひらがなのアスキーコードを取得する所からつまずいてしまいました。
理想はこのような形です。
HSP2005 プログラムコンテスト ■No.91 もみもみバリウム
http://www.onionsoft.net/hsp/contest2005/result.html
>>580 >ひらがなのアスキーコードを取得する所からつまずいてしまいました。
ひらがなは2バイト文字だから、「あ」を表示しようと思ったら
sdim s, 2
poke s, 0, $82
poke s, 1, $a0
mes s
みたいな感じになる。
あとシフトJISの文字コードはIMEパッドの文字一覧を見れば分かる。
>>580 ”ぁ”から順番に表示させてみる
a="":b0=0:b1=0:c=""
a="ぁ"
b0=peek(a,0):b1=peek(a,1) ;全角2バイト文字コード収得 $BBAA AAが全角 BBが文字 を表す
poke c,0,b0 ;文字バッファ0バイト目に全角コードを入れる
for h,0,90,10
for f,0,10
poke c,1,b1 ;文字バッファ1バイト目にひらがなコードを入れる
mes c
mes b1
b1++ ;文字コード+1
next
pos 50+5*h,0
next
mes "全角コード"+b0
stop
581と内容は同じ
アルファベットみたいな順番では、並んで無いから、配列に文字コード入れるしかないかな・・・
(母音あに揃えて並べても見栄え悪いし・・・)
回答してくれた方ありがとうございます。
>>581 最初にアルファベットで同じことをしたら、うまくいったので
同じ要領でいけると、思い込んでいました。全角の場合コード2個で表すんですね。
>>582 キーコードに加算していっただけでは、濁点と混合した並びになっちゃうんですね。
やはり、自分の方法では文字をきれいに並べるだけで複雑になりそうです。
質問したあとに気づいたのですが、文字の並びのはいったテキストを別に
用意して、順番に表示。○番目の文字を取得、名前に一文字追加する。
やはりこれが一番簡単な方法でしょうか。
>>583 >文字の並びのはいったテキストを別に用意して
モレもそうする。
>>583 力技で直接書く。。別に用意した配列がもったいない
手間は百倍
2次元の文字列配列ならクリックした文字の列と行をインデックスにして 簡単に参照出来るから楽だわな
;ジョイスティックの、押された瞬間を判定する方法ってないかな? ;例えば、キーボードでやるとこんな感じ。。 #uselib "User32.dll" #cfunc GetKeyState "GetKeyState" int keyznow = GetKeyState('Z') & 1 repeat keyzold = keyznow keyznow = GetKeyState('Z') & 1 keyz = keyznow ^ keyzold if keyz{mes "zが押された"} await loop
589 :
587 :2006/02/03(金) 02:59:23 ID:ACcabYjw
591 :
名前は開発中のものです。 :2006/02/03(金) 19:48:50 ID:V5uFY8LZ
低能HSP使い乙
>>590 3.1βのはボタンを四つまでしか認識しない
(mod_joystick.asのjstick)
3.1使ってたらさっそくバグッた。 バージョンアップしない方がいいぞ。
いまだ2.6です。
595 :
371 :2006/02/03(金) 23:58:07 ID:BEBQLvQ+
>>593 そもそも、今の3.1はベータ扱いで人柱専用だろ
なぜ入れ替える?
3.1と聞くとWin 3.1を想像してしまうorz
せっかく人柱となり報告してくれたのにその言い方はないだろう。
3.0で実装されたddim命令で初期化した変数を ifの条件に使うと配列が消えてしまうんだが ddim a,5 *test repeat 5 if (a.cnt<10){ a.cnt+1 } if (a.cnt=10){ a.cnt=0 } loop gosub *test 実行すると配列aが0になって終了 10を10.0とか10.000000とかに変えても終了 dimだと問題なく進む ……なぜだ?
>>598 実数型の配列にint形を代入してるからじゃね?
a.cnt=0.0
ならOK
a.cnt=0 だとaって言う変数が出来ちゃうのかな?
あと、エラー出た時にその行しか見て無いのは良く無いよ エラーでも配列の要素が無効って出てただろ? 一回目のif (a.cnt<10)でエラーになってるのかどうかぐらいは検証しないと・・・ 実際今回のはif (a.cnt=10){ この分岐で最初にa.cnt=0を実行するときの.cntは0 その結果実行される命令は a=int(0) で次のif (a.cnt<10){ではcnt=1になってるから配列要素なしの aに対してif (a.1<10)を実行してエラーになってる 使ってる変数を表示させてればすぐわかったんじゃね?
>>597 >いかにも正式版ですって書きかたしてあったのでつい
意味がわからん。
603 :
598 :2006/02/04(土) 17:20:02 ID:9qatgoD5
>>599 ,600
検証サンクス。そういう事だったのか。
これから改造やってみる。ありがとう。
>>使ってる変数表示
mesで表示しようとかやってみたんだが、
if (a.cnt=10){
a.cnt=0
}
ココ
loop
”ココ”にmes命令を入れていたからそもそも辿り着けなかった。
>>602 はぁ?お前だろ?
>593 名前:名前は開発中のものです。[sage] 投稿日:2006/02/03(金) 23:06:40 ID:Nr5JfYc/
>3.1使ってたらさっそくバグッた。
>バージョンアップしない方がいいぞ。
の何が
>いかにも正式版ですって書きかたしてあったのでつい
だよ。意味がわからん。
>>603 あれ?
こっちだと10回loop抜けるまでは大丈夫だったよ?
もしかして598は製作中のからの抜き出し?
ddim a,5のあとにaを他で使ってたとか?
直した後に実行したらgosub *test をgotoだと思っててスタックオバーしたのは秘密w
何こだわってんだよw 禿げワロスww
608 :
598 :2006/02/04(土) 18:41:08 ID:38k6/oFJ
>>605 弾の座標に実数使ったシューティングを作っている時に
出てきた問題点を別ファイルに切り出してみた。
gosubとかにその影響が。オーバースタックさせてすまんかった。
変数は一つしかないから横着ネームで代用。
>>10 回ループ大丈夫
む? 報告サンクス。
だがまあとにかく、これなら動くという事だ。
ddim a,5
*test
repeat 5
await 1
pos 0,cnt*10
mes a.cnt
if (a.cnt<10.0){
a.cnt+=1.0
}
if (a.cnt>=10.0){
a.cnt=0.0
}
loop
cls
goto *test
質問です。 2次元配列に、以下のようなデータを入れたいとします。 dim hoge(3,3) hoge(0.0)=モンスター0のHP hoge(0,1)=モンスター0のMP hoge(0,2)=モンスター0の持っているお金 : hoge(1.0)=モンスター1のHP hoge(1,1)=モンスター1のMP hoge(1,2)=モンスター1の持っているお金 : hoge(2.0)=モンスター2のHP hoge(2,1)=モンスター2のMP hoge(2,2)=モンスター2の持っているお金 これを、どうにかして効率よくやる方法はありますか? hoge=1,2,3,4,5,6,…のように入れていくと、カッコの中が逆 ( hoge(*,0)がモンスター0のデータ ) になってしまいますよね? なにか、別の方法で上手く代入できませんか?
>>609 データに法則性があるならrepeat ないなら外部テキストを読む形にする
>>609 hoge(p1.p2) p2をモンスターNoにする。
いっそ、こう仕様変更したらどうか。
そうすればhoge(0.p2)=HP,MP,金 てできるから。
本来なら外部テキストにするべきだが。
612 :
609 :2006/02/05(日) 11:31:30 ID:eiY5qe1r
>>610-611 ご回答ありがとうございます。
とりあえず、
>>3 辺りのサイトを検索してみてみます。
判らなかったら再度質問させてください。
× 質問 → 検索 → 質問 ○ 検索 → 検索 → 検索
614 :
名前は開発中のものです。 :2006/02/05(日) 19:39:59 ID:xyeffG5b
EDGE2がついにシェアウェア化だよ ユーザーはお金の面で支えなきゃだね
パターエディタのEDGE2? フリーのままの1で十分な希ガス
DotPainterALFARで漏れは十分
EDGE2ってずっと前からシェアじゃなかったっけ? だから俺はずっと1を使ってる(というほど使っても無い)けど。
EDGEってレイヤーウィンドウいじってるとショートカット効かなかったり したけどその辺直ってるかね。
レジストしなくても相当機能が使えるんでわ>EDGE2 GraphicsGaleも アイコン類とGIF以外なら未レジストでも使える。
610さんのいうように外部ファイルから読み出すのがいいと思う。 10モンスターくらいなら中に力技で書いてけるけれどだるくなってくるし・・・ HSPDAでCSV扱えるからそれで書いてもいいと思うし つか、",”,区切りのテキストの固まり程度なら20行くらいのrepeatで読み込めるの作れるんじゃないかなー。
DirectInputを使ってジョイスティックの情報を取得できるプラグインなどで、 HSP3.0に対応してることがアナウンスされてるものってある? 色々探し回ってるんだけど、2.61用のしか見つからない… DirectInput対応していなくてもまあ構わないといえば構わないんだけど。
HSPDXFIXの作者さんとこいってみ
HSP3.0対応をアナウンスしているものはある・・・!。あるが・・・
「HSP3.0対応をアナウンスしていないもの = HSP3.0で使えない」
とは誰も言っていない。
そのことをどうか
>>621 にも思い出していただきたい。
つまり・・・我々がその気になれば
HSP2.xのプラグインをそのままHSP3.0で使うことも
可能だろう・・・ということ・・・!
>>622 情報サンクスです
つい最近更新されてたみたいですね。お陰で助かりました。
これから組み込んでテストしてみます〜。
>>623 自分で動作確認しろって?ん?
自分で各種Windows取り揃えて確認しろって?ん?
>>625 そうだ。自分でしろ。お前が使いたいんだろアホが。
>623は動作確認しろとも窓取り揃えろとも言って無いのになぜか>625
ここで飛躍
>>623 ==
>>625
今ちょっと触ってみたんだけど、これって構造体は使えないの?
>>630 fucking HSP!
but thanks.
>>629 HSP3.0以降のモジュール変数が、構造体に近い機能だと思う。
原始的クラスのようなものだが、プロパティは全てprivateで、
「object.property」のように演算子でアクセスすることは全くできない。
そこで#modfunc定義命令でアクセサになるメソッドを作る必要がある。
そのモジュールとやらは、幾つも複製できるのか?
#modfuncがあって#modcfuncがないのが片手落ちだよな。 setmodとmoduseも実装されてないし。
>629 ゲームで擬似タスクの管理に使うには 三次元配列を使うといいらしい 遅くなりそうだけど
>>634 moduse <= varuse では?
HSPFPVCS以外で小数を扱えるようになる プラグインありませんか?
>>637 HSP3.0では標準で対応していると思うが、それでは不満?
>>638 あら、いいなぁ・・・
まだ乗りかえれないのでver2.61でお願いします
ゲームで使うんなら256倍か65536倍すれば済むんじゃないの。 小数つっても文字列で表現するら速度は期待出来ないよ。
>>636 ああ、varuseでいいのか。正直すまんかった。
#deffunc int p0 global 〜 return #deffuncもglobal指定に対応してたとは
なぁきいてくれ…… 久しぶりに使用する画像が多いゲームを作るんで、 画像圧縮形式ERIを使おうとHSPeri.dllを久しぶりに引っ張ってきたんだが…… HSP3で読めないなんて……うぅ……
ERIなんて初めて聞きますた
圧縮率も良くて軽いのでしょうか?>ERI
ERIなんていう画像形式、今日始めて知ったんでよく分からんけど、 一応表示されたんだが #uselib "hsperi.dll" #func eriload eriload 6 dialog"eri",16:pos 50,50:eriload refstr:redraw 1
649 :
643 :2006/02/09(木) 23:12:12 ID:QP1wID6B
>>648 うむ。そうか。報告ご苦労。
頭良い聞き方だったろ?
HSP2.61からHSP3.0に移行したいのですが、細かい変更点が多すぎて困ってます 助けて
ERIなんて使うこと自体が頭悪い気がし(ry
652 :
643 :2006/02/09(木) 23:54:28 ID:QP1wID6B
負け犬の遠吠えが聞こえたかな?
>>649 =652
ちょwww何でお前俺を名乗ってんのwww
糞バロスwwwwww
面白いから後は任せた
待ち犬
マチケン
O2システムの情報って古いのばかりだけど、理由は・・・・? 1)これ以上バージョンアップしなくても十分使えるから 2)既に滅びたシステムだから
3)使う人がいないから
使う人がいないから
ファイナルアンサー?
661 :
名前は開発中のものです。 :2006/02/11(土) 03:02:27 ID:uxZmevLJ
>>661 1)これ以上バージョンアップしなくても十分使えるから
2)既に滅びたシステムだから
が残った
すべてだ
eri? pngじゃアカンの?
>>662 どうでもいいけど、それは50×50じゃ?
1)3% 2)32% 3)65% オーディエンスはこんなんだな
登録が必要で誰も使わないから意見交換もなくVerUPできず滅びた
使う人がいなく既に滅びているためこれ以上バージョンアップしなくて充分誰も使わないから。 でFA
>>664 でもeriの方が圧縮率高いぜ。
可逆なのに。
>>670 画像によるだろ
optpngってのもあるし
問題なのはその画像が(プラグインが)HSP3.0で使えるかどうか。
HSP3って勝手に文字列になったり数値型になったりしませんか? エラー出まくり・・・
do{ }while() ってHSPで使えますか?
出来る出来る。信じれば、何でも出来るよ。
do until 条件 でできますた
なぜ出来たと思う? それは君が信じてくれたからだよ。 おめでとう。そして…ありがとう。
679 :
609 :2006/02/12(日) 02:27:59 ID:+ulTXMD8
609です。 色々探してみたのですが、それらしい内容をバッチリ書いてある サイトは見つかりませんでした。 部分部分を繋ぎ合わせて考えてみると、 外部テキストをnoteload命令で読み込んで、 repeat-loopで変数に放りこんでいく形でできそうなのですが、 肝心のデータの形式がいまいち判りません。 note系の命令でデータを扱う場合、値の区切りは\nで行うようですが、 これをカンマ区切り(csv)で行うことは可能でしょうか? よろしければヒントでもいいのでご教示くださいm(_ _)m
680 :
609 :2006/02/12(日) 02:42:35 ID:+ulTXMD8
すみません、csvnoteという命令を使えばできそうですね。 自己解決ということで、スレ汚しすみませんでした。
ここはネタスレじゃないが、質問スレでもない と言ってみるテスト
>>681 テスト じゃねーよ馬鹿
議論板じゃねーだのネタ禁止だの
質問禁止だの言ってるから
なにも話題が出せない罠
せめて話題提供しろ
レスしなきゃいい気が。。。
684 :
出た! :2006/02/14(火) 17:47:25 ID:CDONDwYS
>>680 自己解決したみたいだけど、参考までに。
標準命令に getstr という便利なものもあるよ。
val :結果の文字列を代入する変数
string :走査したい文字列を代入した変数
rp :走査を開始する位置を代入する変数
〜としておいて、
getstr val, string, rp, ','
rp+=strsize
こんな感じのものを適当に#defcfuncマクロ化しておけば、便利に使えると思う。
(string入れ替えごとに rp=0 にする必要アリ)
',' を '\t' に変えれば、タブ区切りのデータも読み取れます。
686 :
685 :2006/02/15(水) 06:24:14 ID:BkrmqjT/
#defcfunc はマクロじゃなくて関数定義でした。 失礼…。
質問です 炎のエフェクトを作ろうと想っているのですが、 gmodeの5と7を一緒に使う方法はないでしょうか? アルファブレンドで抜いた画像を加算処理したいのです。
688 :
名前は開発中のものです。 :2006/02/15(水) 18:02:12 ID:xWgpnI5c BE:247741373-
ageてみよう
そっかー、ageちゃったかあ、 ageちゃったのかあ・・・
690 :
名前は開発中のものです。 :2006/02/15(水) 21:01:56 ID:xWgpnI5c BE:377510584-
ねぇ、知ってたらマジで教えてくんない? マルチスレッドしてて申し訳ないんだけどさ・・・・ おねがひ・・・
691 :
名前は開発中のものです。 :2006/02/15(水) 21:04:34 ID:sIOPBiW0
そっかー、マルチスレッドかー、 マルチポストのことなんだろうなー・・・ それは酷いなあ・・・
692 :
名前は開発中のものです。 :2006/02/15(水) 21:05:45 ID:xWgpnI5c BE:424700249-
うはwwwwwwwwwwwwwwwwwwwwwwwwwww
>>690 ネタですか?
マルチスレッド
ワロタ(w
基本的には下から上に合成率を変えながら加算合成すればいいんじゃないの
マルチにもやさしいスレ。 他ならマルチ氏ねで終了なのに。
ム板のスレで答えてるからこのスレじゃスルーでいいだろ。
698 :
名前は開発中のものです。 :2006/02/15(水) 23:11:31 ID:xWgpnI5c BE:353916465-
皆さんありがとう。 何とか形になりました。
699 :
609 :2006/02/16(木) 01:03:43 ID:7Uf3hN24
>>685 ご助言ありがとうございます。
早速試してみたのですが、上手く行きません。
csvstr val,string
とした場合は、val(0,1,2,3...)に、stringの内容が1つずつ入るのですが、
上記の部分を
repeat x
getstr val,string,rp,','
rp+=strsize
loop
と置き換えると、stringの最初の1つ(=val(0))しか代入されません。
とりあえず、やりたいことはcsvstrで何とかなりそうではあるのですが、
後学の為にも、なにが問題かのヒントなどいただけませんか?
700 :
685 :2006/02/16(木) 01:16:18 ID:9Tpc2Kdd
>>699 getstr の結果代入先が配列変数の扱いになってないからかな?
(原因がこれなら、val(0)じゃなくてval(x-1)が返るはずだと思うけど)
rp=0
repeat x
getstr val(cnt),string,rp,','
rp+=strsize
loop
でダメだろうか。
701 :
609 :2006/02/16(木) 01:32:04 ID:7Uf3hN24
>>700 素早いご回答ありがとうございました。
上手く行きました。
val自体は配列変数として定義していたんですが、
csvstrの引数には配列の指定( (cnt)の部分 )が必要なかったので、
勝手に省いてしまっていたようです。
重ね重ねありがとうございました。
repeatを2つネストして、それぞれのcntを利用したいときは どうすればいいですか for i=0 to 8 for j=0 to 8 locate i,j:print"〇"; next j next i こういう事をしたいんですが
i=cnt って、最初のループの後に入れれば?
普通にカウント用の変数を作れば? 別にcntにこだわらなくてもいいじゃん
って作ってはいるんだな 見てなかったw i++:j++ とかでw
706 :
702 :2006/02/16(木) 12:33:10 ID:B9achtIv
そか、そーだわな なんか頭固くなってるなぁ、俺orz レスくれた人サンキュでした
cntが配列だったらちょっと便利かも。
cntはループごとに増えるから別個にカウンターがほしいときはよくあるやろ
cnt は脳内ではやっぱり「かんと」って呼ぶよな?
「クント」が近いな。「ク」は母音なしで。
シント
カウント
カウンタ
コントに決まってんだろ。
カウント
コント
シーエヌティー
コントかな
カウントの略でカントに一票 コントはBASICのcont(コンティニュー)を思い出すなw
721 :
名前は開発中のものです。 :2006/02/17(金) 12:12:55 ID:3VB7iSyA
漏れはカウントで なぁ、ネタふっていい? おまいら、HSPやる前はどんな言語使ってた? 漏れはHu-BASIC(X1)だ(古っ
>>721 C,Java
いや、今も平行してやってるが。
>>721 macのcode warriorでcに挫折。vcやvbもhdのこやしとなった。
ひまわりですけど何か?
ポケコンのBASIC。 PC-E200→PC-G850V→HSP
TTSneoですけど何か?
ニホンゴ
みんなそれぞれだなぁ
いや、オチはないんだけどね
>>728 それ言う奴いると思ったw
出来れば
mes "ニホンゴ"
とかして欲しかったなw
そのオチつまんね
ぴゅう太
Family Basicやってた椰子はいるかね?
プレステのネットやろうぜ
>>726 ポケコンユーザー
キタ━━━━(゚∀゚)━━━━ッ!!
漏れは、N88日本語BASIC(86)からはじまり
C→HSP→ポケコン(PC-G850S)BASIC→Z80マシン語→PHP だったかな、
そんな漏れも今は職業プログラマーの端くれなわけだorz
スクリーンショットを連番で保存するにはどうすれば良いんですか?
>>735 質問が大雑把すぎて答えにくいなぁ…。
それに合わせて、こちらも大雑把に答えるとこんな感じ。
ファイル名 = "スクリーンショット" + 連番 + ".bmp"
bmpsave ファイル名
連番 ++
737 :
735 :2006/02/18(土) 00:49:10 ID:+1a7THa6
ええええwww
スクロールアクションシューティングの習作として見習うべきところは実に多い。 キーレスポンス、程よい難易度、自キャラの成長性、ステージの仕掛け‥‥など。 ただ‥‥最後までプレイさせる牽引力に欠けると思う。途中で飽きた。放置中。 良くできてるのになぁ。
スクロールアクションシューティングの習作? 勝手に習作扱いかよ。お前作者バカにしてんのか。 色々な仕掛け、ボスのバリエーション、 最後までプレイさせる牽引力も欠けてるとは思えないな。
740が128ですよ
しゅうさく しふ― 0 【習作】 美術・音楽・文芸などで、練習のために作った作品。エチュード。 しゅうさく しう― 0 【秀作】 すぐれた作品。 評価orテスト依頼ならともかく、習作進められてもナァ。
自分至上主義な128様が たかが作者を認めたり敬ったりすることなどありえません。 よって、740も741も128様ではありません。身の程をわきまえてください。
>最後までプレイさせる牽引力に欠けると思う。途中で飽きた。放置中。 謎解き部分で詰まった自分を正当化しようとしていると分析したが、どうか。
そもそもなんでここに洞窟物語が貼られてんの HSPじゃないだろ
スクロールアクションシューティングとして全てを兼ね備えてるけど 揃いすぎてて習作にはできんだろ・・・
洞窟物語は有名な名作アクションですよ。 まったくHSPとは関係ないけど
洞窟と同じ物はHSPじゃ再現できないとは思うが(処理等の関係で) 洞窟と同じくらい楽しめる物はHSPでも作れる。いや当然だが。 やはりゲームは作者のアイデアとかセンス、そういった物も重要なんだろうな。 何を今更、ってことだろうからスマソ ただ、洞窟は「おーい」の吹きだしで一度詰まった。まさかヒビがあったとは
HSPと無関係ならフリゲスレか、 そのゲームのジャンル対応したスレに張れ。
どうせならHSP製の良ゲーを貼ってくれ。 コンテスト作品以外はあんまり知らんし。 ググっても製作中とか講座ばかり引っかかる。
HSP製の良ゲーか。 アクションで、ぷちわらの冒険 RPGで、MoonGoddess とかどうだろう
vectorにある Almagest -Overture- 宇宙ものシミュレーション どうだろう?
>洞窟と同じ物はHSPじゃ再現できないとは思うが(処理等の関係で) 自分で遊んだ限りでは別に可能だと思ったが、 出来そうに無い部分なんてあるの?
出来る出来ないで口論を繰り返しても水掛け論だよね。 出来るというのなら頭の中でこねくり回さずに 実際に再現して見せるのが一番早い。 出来ないほうは証明そのものが難しい。
HSP3.0ではhmm.asは使えないのですか?
>>757 俺の知る範囲で言うと、多数ある機能のうち
DirectSound、DirectMusic、DirectShow、DirectInput系の命令は使えてる。
(DirectDraw とDirectGraphics系も一応使えるが、スクリプト終了まわりで
不具合が発生するかもしれない。使い込んでないから確信はないのだけど。)
・・・(´・ω・`)・・・
質問投稿 → 返答の投稿を求めてリロード する暇に、
DLLをダウンロードして、同梱されてるsampleスクリプトを
HSP3.0で実行してみるくらいはしてほしい。
質問に「自分でなんらかの努力をした」という跡が見えないと、
正直、答える気が萎える。
インプットボックスでEnter押した時の警告音を消したり変えたりしたいんですけど、そういう命令ってありますか?
コンテスト今年もあるの?
一応ゲームは作成しておいたほうがいい あるとは思うけど
>>760 そうですか、ありがとうございます
(あるサイトを参考にしてゲーム作ろうと思ってたのですが、ウインドウを作る命令で
いきなりエラーになったので、使えないのかなと思って質問を書き込ませてもらいました
今後はもうちょっと努力します、スマソ)
HSPでシューティングゲームを作ろうと思っています。
最近某スレで「シューティングゲームはタスクシステムを使うといい」と聞いて
ttp://homepage3.nifty.com/moha/prog_task.html 等を読んでみたのですが、HSPでの実装方法、タスクシステムの良さ共にピンと来ません。
何か簡単なヒント等いただけないでしょうか。よろしくお願いしますm(__)m
なお今は、入門書に良くあるように、メインループの中で自機処理、敵機処理、判定処理、
描画処理を順に置いていく方法を採っています。
「メインループの中で自機処理、敵機処理、判定処理、描画処理を順に置いていく方法」を 入門パターンと名づけてみると、 処理速度に限界があるマシンで、たとえば快適に処理できる限界を超えた画面処理を行った場合 (たとえば、敵や弾や背景を動かしまくったとか)、入門パターンでは 一回のループにおいて、敵が100機いたら100機動かすことになる。結果としてゲームバランスが壊れるかもしんない。 タスクシステムは、「メインループ」っていうのを固定枠から開放して、処理ごとの優先順位を浮動化、 「現在しなければならない処理の予定表」を浮動化しようってなのが、構想というか「良さ」の理想。
>>765 HSPの場合、タスクシステムを組むよりも
hspdxfixやhgimgを使ったほうが楽にできると思う。
>>766 OSのタスク管理に近いイメージですね。ゲームだと、たとえば爆風等の視覚処理を端折っても
判定等ゲームの根幹部分を優先的に実行、という感じで使うのかな?
>>767 オブジェクト指向のプラグインを使った方が良い、ということでしょうか。タスクシステム自体、
オブジェクト指向の手法なんだろうな、とは思っていましたが…
まだHSP初めて数ヶ月ですが、優れた手法なら早めに身につけておくべきかな、と考え質問
しました。でもやっぱりまだ早杉ぽ(´・ω・`)ショボーン
とりあえず、背伸びせず入門手法で1本完成させてみようと思います。アドバイスどうもありがとう
ございました。
769 :
767 :2006/02/22(水) 06:36:07 ID:p34I2Z/Y
>>768 確かにまずは入門手法でやってみるべきかも。
補足しておくと、タスクシステムをスマートに実現するには
C言語の関数ポインタが必要なので、HSPでは難しいのです。
というかHSPでタスクシステムを組む方法があれば知りたい。
洞窟物語教えてくれた人ありがとう。 実はずっと前から知ってたんだけど起動して地味だから パスしてた。遊んでみたら面白い!こういうフリーのゲームでは アメルブロート以来ハマりました。 自分が上手くなるよりも難易度がどんどん高くなっていくので チートしてしまいました…(tserch)。戦車をほぼ無敵で倒した。 現在壁を登って犬人間と会話したところ。もうラスト近いかな? 作り込みがすごい…絵はファミコンレベルだけど実は本当は上手い! 音楽もできるし、ストーリー描ける!作者さんは 万能クリエイターですよ。絵に時間がかかってないぶんゲーム内容の 作り込みがすごい!たとえば大爆発後の廃墟のタマゴ回廊だけど、 適当なマップではなくいやな位置に敵が配置されてて絶妙。 これをいちいち試しながら作っていく かと思うと気が遠くなりそう… 処理で一番重そうなのは背景表示だろうけど、 別に重ね合わせとかしてるわけじゃなくチップを 並べて一枚で表示してるだけなのでHSPでもDIRECTXを使えば 不可能ではないと思われます。
チラシの裏に書いとけよ。ここはチラシの裏じゃない。 あっ!128様でしたか。
>>765 >「シューティングゲームはタスクシステムを使うといい」〜
>HSPでの実装方法、タスクシステムの良さ共にピンと来ません。
if (a>b)and(c>d){
if(e>f)and(g>h){
if…
こんなふうに、手続きを並べた素直なやり方では、
各処理の前のifのネストが際限なく深くなっていく。
ポーズを押すと一時停止するけど、背景だけ動かそうとか、
クリアすると操作はできないがアイテムと爆風だけ処理したいとか、
親の砲台が死ぬと子の弾は全部消滅するとか、分裂する敵だとか…。
ゲームが複雑になると条件判断も複雑になって、メンテナンス性も最悪。
そこでタスクを使うと、簡潔に書けて、仕様の変更にも対応できるようになる。
ただし言われてるようにHSPは向かない。Cなど関数ポインタを備えた言語を使う。
それでもど〜しても、HSPでも同じようなことを標準命令だけでやりたいという場合、
オモチャのようなものでよければ、とりあえず処理をバラバラにするのは実現できる。
point="a" : count=0 *main if((instr(point,0,"a"))=0){ mes "aの処理" point="b" } if((instr(point,0,"b"))=0){ mes "bの処理" point="c" } if((instr(point,0,"c"))=0){ mes "cの処理" point="a" } count++ : if (count > 5) : stop wait 0 : goto *main 単純に発想する。上の「point="c"」のcをbに書き換えると cは実行されない。これは文字列を使うと何かありそうだ。
randomize *main point="" repeat r=rnd(4) if r=0 : point+="a" if r=1 : point+="b" if r=2 : point+="c" if r=3 : break loop max=strlen(point) pcnt=0 gosub *task count++ : if count > 3 : stop wait 0 : goto *main *task mes "point="+point repeat if((instr(point,pcnt,"a"))=0){ mes "aの処理" } if((instr(point,pcnt,"b"))=0){ mes "bの処理" } if((instr(point,pcnt,"c"))=0){ mes "cの処理" } pcnt++ : if (pcnt > max) : break loop return もう少し複雑にしてみる。実行するたびにランダムに処理が実行される。
>>774 で*taskの中でpoint文字列をいじると、更に複雑なことができるだろう。
でも処理が増えるとループのオーバヘッドも大きいし、全然スマートじゃない。
とても実用には耐えられなさそうだが、オモチャとしては面白いかもしれない。
taskも記述できないゲーム用言語ってどうなの。 存在価値が微妙だな。
777 :
765 :2006/02/22(水) 23:03:14 ID:hIb49XnO
>>769 そうですね。まず1本、それなりの規模の作品を作りたいと思います。
C言語はHSPで飽き足りなくなったら勉強しようかな。10年後くらいにorz
>>772-775 ソース付きでの丁寧な解説、ありがとうございます!(´∀`)
最初、入門的手法で if や switch〜case を使うのと何か違うのかな?とも思った
のですが、pointの文字列により、処理すべきブロックと処理順を簡単かつ動的に
指定できるのが面白いです。いつか、これを利用したゲームを作ってみます。
アドバイス、ありがとうございました!
>>778 おっサンキューっす!
さっそくためしてみよう
確かに、音はならんですけど、サブルーチンのコードの意味がちんぷんかんぷん・・・ sendmsgとかstatとかをわかりやすく解説してるサイトとかってないでしょうか・・・
statってHSPのシステム変数だぞ・・・w
sendmesgは命令だが?
sendmsgはググれば十分情報あるし statはマニュアルに十分のってるし・・・
自力で調べず、探す気もない無精者 わからぬことは他人まかせ >コードの意味がちんぷんかんぷん・・・ なのも道理といえる
>>783 ありがとうございます。だいたいわかりました。
自力で調べず、探す気もない無精者 わからぬことは他人まかせ しかし、「てめえでググれ」と言われてるのに礼を言ういい奴でもある
自力で調べず、探す気もない無精者 わからぬことは他人まかせ しかし、「てめえでググれ」と言われてるのに礼を言ういい奴でもある 最近はCMにも数多く出演して愛嬌を振りまいている
タスク処理を実現するのにポインターが必要というのはなぜなの? 詳しく聞きたい
自力で調べず、探す気もない無精者 わからぬことは他人まかせ しかし、「てめえでググれ」と言われてるのに礼を言ういい奴でもある 最近はCMにも数多く出演して愛嬌を振りまいている そんな彼も今年で32歳
23です!ありがとうございました!
>>788 タスクシステムではオブジェクトの種類ごとに処理関数があって
たとえば弾なら「Y座標+=2」、敵なら「最初の30ターンは下へ、その後は右へ」
というようにそれぞれ違う処理内容が書いてある。
それらの関数をループで一括処理するため関数ポインタを使う。
効率を無視すれば、オブジェクトの種類だけif文を並べても可能。
HSPなら、もしgosubの飛び先を変数で指定できるとしたら次のようなイメージ。
object_update[0]=teki
object_update[1]=tama
object_update[2]=tama
*main
repeat object_num
gosub *object_update[cnt] ;実際にはできません
loop
goto *main
*tama
;弾の処理
return
*teki
;敵の処理
return
まぁタスクシステムじゃいけないわけじゃないだろうし、 フツーにやればいいんじゃない? by C++しか知らない通りすがり。
分岐はswitchで済むし遅いならonがよさげ・・・しかし 書いて動けばそれでいい
794 :
791 :2006/02/25(土) 06:35:37 ID:mRI4VK1y
>>793 onなんて命令忘れてた……。確かにこれならスマートにかけそう。
確かに、書いて動けばそれでいいってのがHSPらしいとは思うけど。
「ネタにマジレス」するのがネタなんだよ
ポインタってint *aのようなのじゃなくて 関数をポインタと呼んでいるわけね 勘違いスマン
対応環境がいまいちわからないのだが、 HSP2.61 Windows 9x/NT/2000/XP HSP3 Windows 98/ME/2000/XP 2.61の方はMEに対応してない? 3はNTに対応してない?
ただの書き忘れでしょ そういやぁHSPのマニュアルにも嘘書いてる箇所が何か所かあるよね
>>798 9xの表記は95/98/98se/Meという意味かと。
HSP3には95/NTでは動かない機能もある(hgimg3とか
次のHSPでラベル変数が出来るからタスクシステムも実現できるかも
>>801 そんな便利なHSPはHSPじゃないやいっ。
って、まじですか、それ。HSP3落としたっきり本家覗いてないや(w
ラベル型(変数に格納できるラベル)の実装 が実現されるらしいと3.1b1のhsp31b1.txtに書いてあった
>>792 HSPではできそうもないことをやろうとする、昔の職人気質のプログラマー
精神を受け継いでるいい連中なんですよ。こやつらの中からすごいソフトを
作る奴が出てきたり
しない。
そんなに大作指向のヤツって多いのか?
そりゃあ先生は偉大ですから
俺なんてTOPだぞ。 大作 oriented programing。 もはや入信しそうな勢いだ。しないけど。
軽くしよう+拡縮使おうとHSPDX使い始めたけどgcopyよりもはるかにクソ重い es_copyで手動スプライトなのが駄目なのか…?
gcopyをes_copyに書き換えただけ?
>>809 アニメパターン管理とか独自で作っちゃったから
そんな感じ
ちょっと実験してくるか…。
>>810 俺はHSPDXFixでD3D使ってるからgcopyとes_copyは分からないが
D3Dスプライトなら描画時間が気になる事はないかな・・・
個別に動かす為のスクリプト処理のが先に限界が来る感じ
FIXじゃないHSPDXなら話は別だけど、 転送元と転送先のバッファのD3D使用フラグが一致してないと ありえないほど描画が遅くなるよ。
>>739 洞窟物語を起動してゲームが始まり少し動かすとシステムごと落ちました。
814 :
808 :2006/03/04(土) 15:47:52 ID:sP2byKJT
色々やってみたけど、スプライトとes_copyはさほどかわりが無く、 gcopyは小さい画像が多いときはDirectX使用よりも速いみたい。 …でも自分で組んだ計測方法があってるかどうか(;´Д`)
>>814 Vsync待ちでes_sync後からes_sync前までの経過時間で速度見てる?
これだと何故かまともに計測できなかった。
数十個で1フレーム分の時間かかったような時間になる・・・
(1〜3msだったのが1個増えただけで、いきなり16msになるから描画が遅いとかじゃないよなぁ・・・)
けど、数百個増やしてもそれ以上時間は増えなかった。(HSPDXFixでの事だから関係ないかも)
でも、画像の大きさで変わるならこれとは違うか・・・
gcopyは描画までの準備が少ないけど描画が遅い
es_copyは描画までの準備が多いけど描画が早い
と、てきとうな推測してみるw
>>812 色モードが違っても遅くなった気がする(ハード的な仕様かな?)
え?!FIXとHSPDXってどっちがいいの?
え!?ザクと旧ザクってどっちがいいの? みたいな
え?!ザクとシャア専用ザクってどっちがいいの?
シャア専用に決まっておろうが
バーカ!! 素人はその選択で間違えるんだよ。 シャア専用ザクを貰ってもシャア以外は使えないの!!
どっちがいいと言われればシャア専用がいい
つーとFIXさん専用HSPDXなのか
ガノタ死ネ
>>816 D3Dを使うかどうかかな、使わなくてもHSPDXより使い勝手が良くなってる部分もあるから
FIXで不都合ないならFIXでいんじゃね?
DX7以上が必須になるけど・・・
個人的にはこんな印象 DX-機能低、うちの古いノーパソでもフルスクリーン可 DXa-機能高、機種依存、更新停止中、うちの古いノーパソでもフルスクリーン可 DXFix-機能高、重い
ああそれ俺がうpしたやつだ 消しちゃったんで探してたんだよw ありがとん
>>827 ちょ・・・おま・・・
よくそんなこと言えたもんだなあ!
俺がうpしたやつだよ!
>>827-828 おいおい、お前らなんでそんな必死なんだw
そんなことしなくても言えばまた上げてやったのによww
これがうわさのオレオレ詐欺か…。
つまんね 氏ね
==========藻前ら落ち着け=================
うほ、いいID
テラスシスロテモオシロシオロラシモテラロスロシモステオラモロモオススモテラオソロシスwwwwwwwwwwwwww
ここはム板か何かですか?
すみません。 ドラクエ(ドラゴンクエスト)を作りたいのですが、ソースはどこにありますか?
Google
x*xよりもスッキリとした、スマートな累乗の仕方を教えてください。
任意の乗数という意味で?
>>841 x を l に変えるとちょっとスッキリするぞ。
>>842 そうです
>>843 xは仮のものなので実際には(x.0-ex.cnt)みたいに使います
他のだと^nとかあったんですけど
>>844 repeat n-1
x*x
loop
こうですか?帰れ!
なにこの態度・・・
八方美人も嫌われるが相手によって コロコロ態度変えるのも嫌われるよね。 仲間面しようたってそうはいかないよ (・∀・)ニヤニヤ
848 :
839 :2006/03/09(木) 20:20:36 ID:8/OVe9aP
自己解決しますた。
どこにあったのか僕にも教えてください
850 :
839 :2006/03/09(木) 20:51:36 ID:8/OVe9aP
更新まだかよ
更新まだー?
>>851 hspmathの
#define ctype pow(%1,%2) expf(logf(%1)*(%2)) ; x^y
を参考にしたらヨクネ?(鼻くそ食べながら)
食うな
ありがとうございます。・←これは僕の鼻くそです。小腹が空いたら食べてください。
なんかキモいのが沸いてきたな。 あぁ、そうかそろそろ春休みなのか
自己紹介乙女
(,,゚Д゚)∩先生質問です HSPのWindowID0内の下半分に動画を再生しつつ 上半分に、ゲーム画面をWindowID1からID5ぐらいまでから 切り貼りしてWindowID0に転送、とか出来るんでしょうか? 調べてみたらmciのput命令で下半分は似たような事が出来たんですが ゲーム画面を上半分に合成とかするとmciが(?)エラーを吐き ゲーム画面のみになってしまいます。
とりあえずID1は使わない方が良かったんじゃなかったっけ?
>820 使いこなせないだけで使うことは出来るだろう。 通常直線飛行時のみ三倍速、戦闘時は等倍だが・・・
>>860 HSP3からはマニュアルが「ウィンドウID1以上を指定することで」となっているので
その制限はなくなったっぽい。
num_arm=10;鎧の種類 sdim arm_nam,64,num_arm;名前 arm_nam="なし","皮鎧","鎖帷子","板金鎧" dim arm_def,num_arm;鎧の守備力 arm_def=0,30,60,90 dim arm_pen,num_arm;鎧のペナルティ(%) arm_pen=0,2,4,6 こういうデータをcsvから読み込む方法ってありませんか。
このスレを csv で検索しろ
>だからお前がここに居る 最近の春厨の返し技らしいな。
読んでもよくわからなかったのでネットで探した コードに手を加えたのですがどうでしょう。 かなり手間がかかるのでもっとスマートな方法はないものかと。 sdim csvbuff,32000 ;CSVファイル内容を格納 sdim csvline,64;CSVファイルの1行を格納する sdim csvsell,64;CSVファイルの1セルを格納 //武器 num_wep=10;武器の種類 sdim wep_nam,64,num_wep;名前 dim wep_atk,num_wep;武器攻撃力 dim wep_def,num_wep;受け dim wep_slsh,num_wep;鋭さ csvbuff="";CSVファイル格納変数をクリア bload "wepon.csv",csvbuff;CSVファイル読み込み notesel csvbuff;メモリノートパッド命令のバッファに設定 csvmax=notemax;最大行数を取得 ;行ごとにリピート repeat csvmax,1;1行目(cntが0)は列項目名なのでとばす noteget csvline,cnt;csvbuffのcnt行の文字列をcsvlineに格納 sellsize=0;目的セルまでのバイト数 getstr csvsell,csvline,sellsize,',';左端は「ナンバー」なので必要ない sellsize+=strsize;バイト数をふやして右に行く getstr wep_nam(cnt-1),csvline,sellsize,',';名前を取得 sellsize+=strsize;バイト数をふやして右に行く getstr csvsell,csvline,sellsize,',';攻撃力を取得 sellsize+=strsize;バイト数をふやして右に行く ;(略) loop
なんでcsvstrなりcsvnoteなり使わんの?
Skratch It!か
小さい頃本当に鼻くそ食べてたよ。「鼻くそ丸めて食べてみよ、あ、おいし かぁた♪」とか言いながら。高○君の「鼻から紅茶がどんわ、どんわ」という ギャグに対抗したものだった。みんなキモがってるのを、俺は勝手にうけてる ものと勘違いしてた。その高○君が最近自殺したらしい。そんな俺は今1年 かけてHSPでゲームを作っても数個のダメ出し意見をもらうばかりだ。ああ 子供の頃からダメだったさ! ∩←俺のチンコです。よかったら食べてください。
HSPでSkratch It!以上のゲームつくるのは不可能 2004年の受賞ゲームだが知らない香具師はプレイ必須
>>869 ==871
作者乙
って言われても仕方ない書き込みだな。
>>866 >だからお前がここに居る
>最近の春厨の返し技らしいな。
今日の春厨の返し技の返し技らしいな。
弾幕をかいくぐり敵を撃破していくのが楽しいのに 弾避けに余裕が出てきたなら次はスコアアタックよん だいたい自機がちょー強いんだから 弾をばらまくぐらいでちょうど良いバランスじゃん
>>868 csvstrで書き換えると行数は減ります。
しかし武器はうまくいくのに次の鎧で読めなくなります。
何かのシステム上の隠れた変数が存在していて、
それが武器の読み込んだ状態のままの位置に
なっていて、それをリセットしないとその続きを
読んでいるようですが、これは推測です。
csvnoteはヘルプを読んでもこれが一体何の命令で
どういう効果があるのかさっぱりわかりませんでした。
>>875 ヘルプを読んでも命令の意味がわからず、
ファイルの読み書きすらおぼつかないレベルで
自分を疑うより先にシステムを疑うとはおこがましい。
システム上の隠れた変数とかじゃなくて
オマエの組んだスクリプトのミスだろ。
ついでに
>>867 の件。
>>875 の書き込みから察するに、
スクリプトの行数が短いことを「スマート」と言っているんだと解釈して話すが。
オマエがやるべきことは
・汚くてもいいから、とりあえず望む動作をするスクリプトを組む。
それができたら
・共通化できそうな部分を、関数やマクロを使って記述しなおして整理する。
これでいくらか「スマート」になるだろ。
878 :
859 :2006/03/12(日) 01:03:38 ID:ubH9vvwk
自己解決できますた。 普通にmmplayで問題ナスですた。
(TVの)2chシュミレータ screen ,,,1:mref v,66:while:repeat 76800:lpoke v,cnt*4,rnd(32768)*131074:loop redraw 1:await:wend
なんのプログラム? バイナリをメモリにパンクしそうなくらい 書き込んでるけど、暴走するんじゃない? もしかしてシステムが破壊されるかも。
おれのとこの2chは通販だけど、
>>879 のは砂嵐なんだと思う
>>880 テレビの砂嵐を再現
画面640*480、256:配列vをVramに:永久繰り返し:リピート160*120回:vに4ドット分パレットデータ書き込み:リピートへ
表示:ウエイト:繰り返し
うお、間違ってる 160*120>160*480 だ・・・
ほらやっぱりね☆
>>876 仕様を推測するのがおこがましい?わけがわからない。
> オマエの組んだスクリプトのミスだろ。
だから、どこがミスか考えているんですが?
何がいいたいんですか?
ためしにbloadをnoteloadにかえるとうまくいきました。 //鎧 num_arm=10;鎧の種類 sdim arm_nam,64,num_arm;名前 dim arm_def,num_arm;鎧の守備力 dim arm_pen,num_arm;鎧のペナルティ(%) csvbuff="" notesel csvbuff;メモリノートパッド命令のバッファに設定 noteload "armor.csv" csvmax=notemax repeat csvmax-1 noteget csvline,cnt+1;csvbuffのcnt行の文字列をcsvlineに格納 0行目は項目名で飛ばすのでcnt+1 csvstr csvsell,csvline;1行をcsvsellに分解格納 arm_nam(cnt)=csvsell(1);名前 arm_def(cnt)=int(csvsell(2));防御力 arm_pen(cnt)=int(csvsell(3));ペナルティ loop
>>886 お前ばかだろって言いたいんじゃねーの?
バカっぽいもんな。あんた
理想の完成形を説明しない csvファイルを読むと書いてあんのにそのcsvファイルを示さない アドバイスされた命令を「わからない」と一蹴 「俺が間違っている訳ないのでHSPがおかしい」という態度 原因を割り出すための最小構成すら作れない そもそも他人が理解出来る文章が書けない まあそのへんが君の限界なんだろうね いいからサンプルのcsvファイル作って結果的にどういう変数にまとめたいのか説明しろ
889 :
名前は開発中のものです。 :2006/03/12(日) 20:13:38 ID:+OUzw3ly
a="iueo" peek b,a,1 mes b stop なぜにこれが動かないんだ・・・HSPやめようかなあ・・・ エラーも18で意味不明
890 :
876 :2006/03/12(日) 20:38:48 ID:77Rj8Vwn
>>888 レスしようと思ったら、うまいことまとめてくれてた。ありがとう。
─否定してばかりでも何なんで。
ある程度まで自分で色々調べたり、考えたりの努力をする姿勢は買えるんだが、
最後の部分で自分に甘い。 そこを惜しむ。
>>889 HSP2.xで命令だったものが、HSP3.xで関数に変わってるため。
[HSP2.x] peek b,a,1
↓
[HSP3.x] b=peek(a,1)
変更された命令等については /docs/update.htm 参照。
ヘルプ嫁。デフォでbが数値変数だからだめなんだ。 peekの前にbを文字列変数にするために、 b="" これが必要。 こんなくらいでやめるならプログラム自体諦めないといけない
もしかして俺大いなる勘違いしてる?
今回は残念な結果に終わりましたが 考え方としては悪くないかと思います (;^ω^)
895 :
889 :2006/03/12(日) 23:51:49 ID:+OUzw3ly
どうもありがと出来ますた。int()で数値化する方法もあったのね
896 :
889 :2006/03/12(日) 23:56:52 ID:+OUzw3ly
>>892 変数型にあまり気を使わないperlしかやったこと無いんですよ・・・
>>896 HSPも基本的な部分ではほぼ同じだと思うが。
perlは文字列変数でも計算式に代入可能といういい加減さが。
>>891 みたいに関数に変わったものの一覧ってどっかにない?
…てかなんでわざわざ変えたんだよ…。統一するか互換性を持たせて欲しかった。
今までのがあまりにもひどい仕様だったんよ
関数化も不徹底で仕様が統一的でないからな。 getkeyとか、この流れなら関数化するだろ、と思うようなものがそのままだったり。
2で作ってたものはそのまま2で作りつづける
a="111"
poke a,0,'0'
mes a
stop
これで011と表示されるけどこの書き方知ってた?
>>889 のスクリプトをuの文字だけ表示させるのは無理なのかなぁ
どうでもいいけど
>>904 peekが関数になったってのを別にすれば、peek実行する前にb=""を
実行しとけばいい。
>>904 いちおうこれで u が表示される。
a="iueo"
b=" "
poke b,0,peek(a,1)
mes b
peek,pokeで操作すると何かかっこいいけど、
ふつーにstrmidを使ったほうがわかりやすい。
a="iueo"
b=strmid(a,1,1)
mes b
stop
>>891 HSP2.xの命令をそのまま3.xで使いたいなら、
こんな感じでマクロ定義しておけば、けっこういけるよ。
#undef peek
#define peek(%1,%2,%3) %1=peek@hsp(%2,%3)
アンカーミス。
891じゃなくて
>>899 でした。
>>899 hspprog.htmとupdate.htmをもういちど読んでみろ
common/hsp261cmp.asが2.61互換のマクロ
peek(hoge)が数値扱いだから正しく動かないのか・・。 この話題を最後まで勘違いしてたのは俺だけか
#undef peek #define global peek(%1,%2,%3)if vartype(%1)=2{%1=strmid(%2,%3,1)}else{%1=peek@\ hsp(%2,%3)} b="" a="iueo" peek b,a,1 mes b 勘違いついでに2.61互換のpeekを定義してみた
きっちりpeek pokeを理解してたらそっちのが楽だと思う。 ソースも正常に動いたんならコメントつけるだけつけて以後見ないし
某誌より俺がHSPで作ったゲームを載せてくれるというメールが来た。 めちゃめちゃ喜んだ俺だったがすぐに疑問がわく。「これって本物だろうか」と。 今はインターネットの時代。誰でも簡単になりすましができる。 住所と本名書いて返信しちゃった。 発売日を過ぎているので、今日近所の本屋に行ってみた。残念ながら置いて なかった。不安だ。 もしも本物だった場合、普段は無職だめ板にいて時々ここをのぞきに来る俺の しょぼいしょぼい人生に一筋の光がさす。だが誰かのイタズラだった場合絶望だ。
問題は来たメールのドメインだな
悪いが「一筋の光がさす」ほどのイベントでもないな ネットでゲームとか公開してるなら一度くらい起こるだろう
それでもただで雑誌がもらえるのは嬉しいもんだ。 DOS/V USERとか そんな一条の光もすぐに隠れてしまうけどな。次第にどうでも良くなる(ノД`) VectorでこまめにVerうpしてると掲載回数も増えるよ。
>次第にどうでも良くなる ほんとにそうだよな・・でも初めて掲載許可のメールが来たときは、めちゃくちゃうれしかったな。 そのときもらった雑誌だけは取ってある。
iPとかが載せてもいい?とかよく来てたよ。 実際載ったけど謝礼とか何もなかったな。 その号の雑誌だけもらったが。
いや、見本誌くれるだけでもありがたいだろ。 見本誌も何もくれないところは少なからずある。
>>919 「載せていいですか?」「いいですよ」「ではでは」で終わりか?
そりゃひどいな・・・
ベーマガとかだったら掲載料ももらえたのにな。
掲載依頼してくる所ってエロ動画とフリーソフトを適当にCDに詰めた雑誌が多い。 本誌の方もnyの使い方とかAVのカタログだとかロクな内容じゃないし。 今まできた中でまともそうなのは週アスとTecWINぐらいだな。
PC-GIGAのフリーソフトのコーナーをいつも楽しみにしてるんだけど
おにたまタンまたエロゲつくってる
エロが普及を促すことは歴史が証明してる
例えばドリキャス、PSP
PC-9801 うは、デラナツカシス
なんでまずVHSが出てこないんだおまへら
浮世絵なつかしすwwwwww
あるあるwww 春画が初オカズだったでゴザルwww
拙者も拙者も
話戻し杉
grotateの角度を実数で指定すると動かないんだが・・・何故
>>877 いや、HSPを捨てて、違う言語で組む、で一気に「スマート」になるよ。
937 :
935 :2006/03/18(土) 19:50:02 ID:Ek1JjSw+
よく見るとlimitfじゃなくてlimit使ってた。スマソ。 ところで、物を指定した角度に進ませるにはどうすればいいんだ・・・
emasinかなんか使え
縦横分解しろ
タンジェントの比をおおまかに書き出すとか
スマートなHSP=きれいなジャイアン だが、それがいい。
>>937 ベクトルやらラジアンやらの話?
;HSP3.0 物を指定した角度に進ませるサンプル randomize:FF=16*16-1 repeat x1=x2:y1=y2:x2=rnd(640):y2=rnd(480) repeat FF x=((x2*cnt)+(x1*(FF-cnt))) /FF y=((y2*cnt)+(y1*(FF-cnt))) /FF pos x2,y2:color 255,0,0:mes "●" pos x,y:color 0,0,255:mes "●" redraw 1:wait 0:redraw 2:color:boxf loop:loop もし三角関数とかいやなら、なんかこういうやり方もあるみたい ちなみに上をこう書き換えると高速版 >redraw 1:wait 0:redraw 2:color:boxf >loop:loop loop:redraw 1:wait 0:redraw 2:color:boxf:loop
>>937 がシューティングにおける追尾みたいのを求めているのかと勝手に想定したけど、
>>942 は角度じゃなくて指定座標への移動だから、まあ違うと言われればそれまで。
ベータ2がきてる
バグトラッッキングシステムw
なぜ「ッ」がダブるのかいまだに判らんですタイ
>>942 距離によって速さが変わるのはいかがなものかと
*reset:atx=rnd(640):aty=rnd(480):sax=atx-x:say=aty-y *main:if abs(say)<abs(sax){x+=1-2*(sax<0):p+=abs(say):if abs(sax)<p{p-=abs(sax) y+=1-2*(say<0)}}else{y+=1-2*(say<0):p+=abs(sax):if abs(say)<p{p-=abs(say) x+=1-2*(sax<0)}}if abs(x-atx)<5&abs(y-aty)<5{goto*reset}redraw 2:color:boxf color 255:grect atx,aty:color ,,255:grect x,y:redraw:await:goto *main
>>947 ええと…シューティングを念頭に置いてて、近くから速い弾を撃たれると困るから。
>>937 a=1.0/57.296
repeat 36 : b=10.0*cnt : x=0.0 : y=0.0 :repeat 100
x=x+cos(a*b) : y=y+sin(a*b) : pset 100+x,100+y : wait 1
loop : loop
stop
敵にも優しく。
目標との距離をnとしたときに、n/2移動する弾を作ればいいじゃん。 永遠に当たらないけどさ。
ラベル変数まだかよ
*reset:atx=rnd(640):aty=rnd(480):sax=atx-x:say=aty-y *main:if abs(say)<abs(sax){x+=1-2*(sax<0):p+=abs(say):if abs(sax)<p{p-=abs(sax) y+=1-2*(say<0)}}else{y+=1-2*(say<0):p+=abs(sax):if abs(say)<p{p-=abs(say) x+=1-2*(sax<0)}}if abs(x-atx)<5&abs(y-aty)<5{goto*reset}redraw 2:color:boxf color 255:grect atx,aty:color ,,255:grect x,y:redraw:await:goto *main
なんでそんな変なシステムにするんだw 過去でsそういうのがなかったとは言わないが…
>>951 自弾は弾幕で敵に向かわないのが普通だから大丈夫。
追尾ミサイルとかはしょうがないから向きをつけるけど。
昔のゲームは斜めの弾が速いとかわりと適当だった。
遠くと近くで同時に撃った弾が同時に着弾するよーなSTGなんて見たことねェ つうか、あったら常識的な感覚とあわなすぎて難しそう
SRDの一部の弾とかそうだった気が まあ何にせよ近くで速い弾撃たれたらなんて妙な理由で そんな変なことしなくていいと思うが
;要は三角関数を嫌がるなって事で mx=0.0:my=0.0 *reset speed=1.0*rnd(10)+10.0:tx=0.0+rnd(640):ty=0.0+rnd(480):rd=atan(ty-my,tx-mx) *main redraw 2:color:boxf mx+=cos(rd)*speed my+=sin(rd)*speed color 255:grect tx,ty color ,,255:grect mx,my redraw:await if absf(mx-tx)<20.0 & absf(my-ty)<20.0{goto *reset} goto *main
こういう感じで自作ルーチンを作ったらどうなんだろう dim calc,900 repeat 900 calc.cnt=cnt*cnt loop y=10 repeat 48 x=230400-(y*y) y+10 repeat 900 if x<=calc.cnt:x=cnt:break loop line 0,0,x,y wait 1 loop stop
>>886 ちなみに、自分は3.0になってからnotegetとcsvstrでたまに取得ではないことがあるので、
その場合はawaitとrepeat構文で再び読ませるようにしているけど。
noteloadかな…?
waveの重ねがけはできないものだろうか… へぇボタンっぽく