【だからこそ】HSP初質P58【続けるよ】at TECH
【だからこそ】HSP初質P58【続けるよ】 - 暇つぶし2ch2:デフォルトの名無しさん
11/03/15 14:51:37.45
( ^ω^)なんか、テンプレずれ捲りだな…

3:デフォルトの名無しさん
11/03/17 15:22:12.52
誰も居ない(//∀//)

4:デフォルトの名無しさん
11/03/17 18:20:25.06
みんな他の言語に旅立って行ったのだよ

5:デフォルトの名無しさん
11/03/19 14:28:46.04
HSPか
懐かしいな…

6:デフォルトの名無しさん
11/03/20 10:21:07.00
>>1
おつ!

つまり、メルトダウンって…
repeat ~ loop 間に wait や await を入れないで動かしている状態ですか?

7:デフォルトの名無しさん
11/03/20 16:43:46.59
だれもいないけど質問
hspファイルと同じフォルダに入れた画像ファイルをpicloadで呼び出しても
いざ実行したとき[画像ファイルがありません]とでました。考える原因はなんでしょうか?

8:デフォルトの名無しさん
11/03/20 17:49:56.15
>>7
chdir dirinfo(0)
picloadn の直前に上記の1行を入れてもダメ?

状況がイマイチ伝わらないので…。

9:デフォルトの名無しさん
11/03/22 20:46:20.21
>>5
懐かしいね

10:デフォルトの名無しさん
11/03/23 21:44:43.98
VBからHSPに乗り換え~

オブジェクトIDってstat使って変数に入れなきゃならんのかー

新鮮w


11:デフォルトの名無しさん
11/03/26 01:08:43.35
>>7
まさかexe単体だけで動かしてるとか・・

12:デフォルトの名無しさん
11/04/07 15:20:03.92
>>7
拡張子はいってる?
あと、
"C:/nanka/gazo.jpg"

"C:\\nanka\\gazo.jpg"
っていうふうに/を\\に変えないといけない

13:デフォルトの名無しさん
11/04/16 15:26:51.27
使用するキーに関してですが
stick a,15
if a&1:x-=3
if a&2:y-=3
if a&4:x+=3
if a&8:y+=3
これだと矢印キーで移動することになると思うんですけど
これをWASDキーに置き換えるにはどうしたらいいんでしょうか?
getkeyだとアルファベット文字指定はできるようですが・・・
素人なので馬鹿な質問していたら申し訳ないです

14:デフォルトの名無しさん
11/04/16 19:20:12.38
stickじゃあ出来んよ。
諦めてgetkeyを使え。

15:デフォルトの名無しさん
11/04/16 20:29:31.91
もしくは、onkeyを使う方法なんてどう?

16:デフォルトの名無しさん
11/04/18 09:04:59.79
エクセルのマクロだと、F8を押す毎に1行ずつプログラムが実行されていく
っていうのがあったんですが、HSPだとそういうのはできないですか?

17:デフォルトの名無しさん
11/04/18 09:50:39.19
>>16
デバッグウィンドウの表示をONにして停止ボタンを押してプログラムを一時停止にしたら
次行ボタンで行毎に実行って事なら可能
スクリプトの頭から一時停止させるならassert使う

18:デフォルトの名無しさん
11/04/18 12:39:43.02
>>17
出来ました
ありがとうございました

19:デフォルトの名無しさん
11/04/18 19:56:27.21
ビープ音に関してですが

#include "kernel32.as"
beep 500,500

などとすると、鳴ってる間はそこで処理が止まっているようですが
止めない方法は無いでしょうか?

20:デフォルトの名無しさん
11/04/19 10:47:43.34
APIの仕様だから無理
Swaveとかの波形合成ツールで似た音作ってmmplayで流すとかで代用するのが楽

21:デフォルトの名無しさん
11/04/19 11:21:04.80
#include "d3m.hsp"
#uselib "ntdll.dll"
#func RtlInitUnicodeString "RtlInitUnicodeString" sptr,sptr
#func ZwCreateFile "ZwCreateFile" sptr,int,sptr,sptr,sptr,int,int,int,int,sptr,int
#func ZwDeviceIoControlFile "ZwDeviceIoControlFile" int,int,sptr,sptr,sptr,int,sptr,int,sptr,int
#func ZwClose "ZwClose" int
dim usDn,2
sdim Dn,16
cnvstow Dn,"\\Device\\Beep"
RtlInitUnicodeString varptr(usDn),varptr(Dn)
hFile=0
dim objAttr,6
objAttr=24
objAttr.2=varptr(usDn)
dim ioStat,2
ZwCreateFile varptr(hFile),3,varptr(objAttr),varptr(ioStat),0,0,3,3,0,0,0
dim opt,2
opt.0=500
opt.1=500
ZwDeviceIoControlFile hFile,0,0,0,varptr(ioStat),$10000,varptr(opt),8,0,0
s=d3timer()
mes "ピ"
while s+opt.1>=d3timer()
x+=ginfo_mesx
pos x,0
mes "~"
await 50
wend
ZwClose hFile

22:デフォルトの名無しさん
11/04/19 12:49:14.35
KeyHoleTVって最近知ったんだが、どういう仕組みなんだろうな。
そろそろ終了するみたいだけど。

23:19
11/04/19 21:01:27.03
>>20
オーディオスピーカ無しでも鳴らせたかったので・・・

>>21
ありがとうございます
初心者なので意味はサッパリですが使うことはできそうです

24:デフォルトの名無しさん
11/04/29 18:33:24.73
初歩的な質問です。
RPGでは、よく村人などのNPCが画面を勝手に動き回っていますが、
あのアルゴリズムは、>>13のようにキーを設定してから、
変数aに、1~8までの数字をランダムに吐かせることで動かしているのでしょうか?

25:デフォルトの名無しさん
11/04/30 02:12:57.87
HSPでandroidアプリが作れるようになるかもしれないとはすごいな
今でもCに変換してなんとかすりゃできるのかな

26:デフォルトの名無しさん
11/04/30 10:59:08.07
>>24
思いついたならやってみればいいと思うよ
ついでに言っておくとプレイヤーキャラとNPCは同じルーチンで動かす事もできる

27:デフォルトの名無しさん
11/05/01 00:31:01.43
箱を10個用意して、各箱に4種類づつリンゴを入れられる。
aの箱に何の種類を、個数を入れたか管理したいのですがどのようなプログラムを書けばいいでしょうか

aの箱
・リンゴ 5個
・青リンゴ 10個
bの箱
・リンゴ 5個
・青リンゴ 10個
合計 リンゴ:10 青リンゴ:20

みたいな感じのを作りたいのですが

28:デフォルトの名無しさん
11/05/01 00:34:25.81
> 各箱に4種類づつリンゴを入れられる。

最大何個までとか、なんか条件がさっぱりわからんわ

29:デフォルトの名無しさん
11/05/01 00:36:02.25
その辺ちゃんと説明できたら自然に解決する問題

30:デフォルトの名無しさん
11/05/01 03:03:21.75
dim hako_a,4
dim hako_b,4
dim hako_c,4
dim hako_d,4
dim hako_e,4
dim hako_f,4
dim hako_g,4
dim hako_h,4
dim hako_i,4
dim hako_j,4

31:デフォルトの名無しさん
11/05/01 11:13:29.48
リンゴが何種類あるのか判んないってのがポイントだな

32:デフォルトの名無しさん
11/05/01 11:45:27.38
普通に
a(n*2,hako)=syurui
a(n*2+1,hako)=kosuu
でいいだろ

33:デフォルトの名無しさん
11/05/01 11:48:07.83
どうして、リンゴなんですか?
ブドウじゃダメなんですか?

34:デフォルトの名無しさん
11/05/01 18:28:10.70
もう一回まとめるわ俺の中でもわかんねえ
20個の箱を作りたい
でそのうち6個は上限2つ。5個は上限4つ。残りは上限3つ。
で中に入れるものは12種類ある。
箱の中身は○が何種類で□が何種類って感じに表示したい


35:デフォルトの名無しさん
11/05/01 18:30:10.46
>>34訂正
誤:箱の中身は○が何種類で□が何種類って感じに表示したい

正:箱の中身は○種類が何個で、□種類が何個って感じに表示したい

36:デフォルトの名無しさん
11/05/01 18:43:00.99
>>34-35
ぜんぜんまとまってねー!w

まず、20*12の変数を作れよ。
そこに、「入れる」の処理をしてから、
それぞれの和を算出すればできるだろ。


37:デフォルトの名無しさん
11/05/01 18:51:45.71
>>34-35
"1"~"20"までの箱を作る。
"1-6"は空きスロットが2個
"7-11"は空きスロット4個
"12-20"は空きスロット3個
この空きスロット(計59)にA~Lまでの12種類をはめる。

表示は
"1"の中身はAが1つ、Eが1つ
"2"の中身はGが1つ、Lが1つ

みたいな感じの認識でおk?

38:デフォルトの名無しさん
11/05/01 19:04:24.47
>>36みたいに全種類ごとの数を保持するか
種類と数のペアを十分な数だけ保持すればいい

39:デフォルトの名無しさん
11/05/01 19:32:48.33
暇な奴ら…( ゚д゚)、ペッ

40:デフォルトの名無しさん
11/05/02 22:20:23.43
簡単な当たり判定を付けようと思って、if (enex=shotx)and(eney=shoty):goto *game_stop
というような式を書き加えたのですが、弾が敵を素通りしていくだけで画面が停止しませんでした。
何がいけなかったのか、さっぱり分かりません。(*game_stopには、stopと書いてあります。)

41:デフォルトの名無しさん
11/05/02 23:15:42.71
>>40
弾の大きさは?
敵の大きさは?

どちらも、1pxじゃないんでしょ?

42:デフォルトの名無しさん
11/05/03 05:21:55.47
どうなの?

43:デフォルトの名無しさん
11/05/03 08:19:44.29
おはようございます。
>>41
弾も敵も32×32ピクセルで書かれたものをgcopyで呼び出しています。
とすると、XYの座標となる左上端の1ピクセルしかないかもしれませんです・・・

44:デフォルトの名無しさん
11/05/03 14:15:10.39
STGとかの背景の作り方が全くわからん

45:デフォルトの名無しさん
11/05/03 14:16:07.63
スクロールするやつね

46:デフォルトの名無しさん
11/05/04 01:16:38.63
comboxについての質問なんですが、選択肢の1つ目が選択されているとcomboxに指定した変数に0が代入されるんですよね

combox a,150,"a\naa\naa"
if a = 0 : b + 1
if a = 1 : b + 2
button "test",*test
stop

*test
mes b

if a=1で進めても表示される数字は1何ですがなぜでしょうか

47:デフォルトの名無しさん
11/05/04 06:07:28.94
俺も今実行したら、全部1になりやがった

48:デフォルトの名無しさん
11/05/04 06:22:30.57
プログラムって上から下にいくでしょ、aってのは、もともと0だから、その状態でifに行ってbが1になったんだと思う
だから実行した瞬間には既にa=0でb=1になってるって事じゃないかな?


49:デフォルトの名無しさん
11/05/04 06:32:25.32
URLリンク(fs-cgi-basic01.freespace.jp)
参考に

50:デフォルトの名無しさん
11/05/04 17:16:49.87
>>46
こうだろ。

combox a,150,"a\naa\naa"
button "test",*test
stop

*test
if a = 0 : b + 1
if a = 1 : b + 2
mes b


つーかこれ何がしたいのかわからん。

51:デフォルトの名無しさん
11/05/05 00:19:33.89
わからんね

52:デフォルトの名無しさん
11/05/05 03:03:47.77
そりゃそうだ。
ばかだから、不要な部分と思わしき所を勝手に削除して、こちらから見れば当たり前だろ(゚д゚)バーカって言うソースに改竄してるんだから。

おまえら、暇か?

53:デフォルトの名無しさん
11/05/05 12:10:38.31
暇です

54:デフォルトの名無しさん
11/05/05 21:22:03.75
【今週のお題】

お暇でしょうか?
いいえ、○○です。

55:デフォルトの名無しさん
11/05/06 22:58:41.58
あえてケフィア

56:デフォルトの名無しさん
11/05/07 22:00:02.94
回答する側も一々ルール守れとか・・本家はマジで終わってるな。
なんで、あんなおこちゃまページにしたんだろうなデブ玉はw

あと、昔の掲示板のリンク本家から消してくんねーかな。
隠れ掲示板として使ってやっからよ




57:デフォルトの名無しさん
11/05/08 11:15:20.88
一般掲示板と2chの区別も出来ない奴は2chだけに書き込んでりゃいいんだよ

58:デフォルトの名無しさん
11/05/08 14:43:53.25
荒んでるなw

59:デフォルトの名無しさん
11/05/08 16:24:51.20
ああ、つくづく俺はダメな奴だ・・・
シューティングゲームすら碌に創れねーとは・・・

60:デフォルトの名無しさん
11/05/08 22:36:16.02
本家はとっくの昔に終わってる。
て言うか、HSP自体がもう終わって

61:デフォルトの名無しさん
11/05/08 22:43:07.38
>>60
そこまでいわないでくれ
おにたまもC++変換がんばってるんだから

62:デフォルトの名無しさん
11/05/09 02:45:39.84
バカばっかだから
言語の問題では無く、OSとのパラメータのやりとりの問題だと気づかずに、ネタ発言してるクソをいたぶってるのがのさばってるスレ
って事かな。

63:デフォルトの名無しさん
11/05/09 10:59:23.14
Norton Internet Security 2011について
pcbnet2.hpiを利用したソフトをzipで圧縮、Lhaplusで解凍、ソフトを実行すると
Nortonが危険度が高いファイルと判定して削除してきます
「活動->2個の処理を実行しました。」の欄を見てみると「イベント:何も処理しませんでした」と書いてあります
何故か、zipの解凍にLhazを使ったら削除されませんでした

64:デフォルトの名無しさん
11/05/11 03:40:55.72
>>63
それもさぁ、どっかのハッカー気取の厨房が
誰にでも作ろうと思えば作れる、しょっぱ~いウイルスソフト作っちまったもんだからww
それからだったかなぁ 引っかかるようになったのはw

自慢げにインタビューに答えてたっけなwww

それもこれも、幼稚化を進めた・・(ry



65:デフォルトの名無しさん
11/05/11 17:54:25.35
そんな過去が・・・
何人かのノートンユーザーにソフトを起動してもらって
ソフトが良好判定になるまで待つしかないな


66:デフォルトの名無しさん
11/05/11 18:03:10.68
HSP厨はゲームが作れないんですか?

67:デフォルトの名無しさん
11/05/12 23:55:06.01
>>43
この式だと、1ドット分の大きさでしか当たり判定しませんね。
abs関数を使って、たとえば

 hitx=abs(enex-shotx)
 hity=abs(eney-shoty)
 if (hitx<=32) and (hity<=32) :stop

みたいにするのはどうでしょう。


68:デフォルトの名無しさん
11/05/13 19:07:56.67
>>67
やってみましたが、今回も何故か当たり判定はないままでした。なんでなんだろう・・・
ちなみに自分と敵がぶつかった場合には、if (enex=mx)and(eney=my):goto *game_stopでいけます。
もともと、そのプログラムは衝突判定や移動処理が簡単ということでゲーム座標というものを使って書いていました。
(mx=6:my=13、Gamedot=32、if keydata&1:mx--、pos mx*gamedot,my*gamedot)
というような感じで、自分と敵の動きを小さな数字で管理して表示するときに32ドットを掛けるやり方で書いていたですが
弾を撃つスクリプトでは、ゲーム座標が使われてない部分があるせいか?弾と敵と自分の当たり判定がうまくいってないみたいです。
でも、スクリプトを見る限りは弾は32ドットずつ動くように書いたつもりですし、プログラムを実行してみても
自分の指定したとおりにちゃんと動いてくれてるので、それなのにどうしてダメなのか不具合の原因がよく分からない訳です。

69:デフォルトの名無しさん
11/05/14 01:49:17.54
キャラクタ間(自機,敵機,弾)の座標単位は統一したほうがよい
どうしても今のまま行くならやっつけ対応になるが
if (enex=shotx/32)and(eney=shoty/32):goto *game_stop
原因はenexが32分の1の値に対し、shotxの値が等倍の値だからだと思う
title "enex="+enex+",eney="+eney+",shotx="+shotx+",shoty="+shoty
とか入れてタイトルバーやデバッグウィンドウで調べてみるといい

70:デフォルトの名無しさん
11/05/14 08:35:46.93
ゲーム座標を使うのをやめてドット単位に統一したら、おかげさまで
if (enex=shotx)and(eney=shoty):goto *game_stopで当たり判定でました。
いろいろアドバイスありがとうございました。
でも>>67のスクリプトでは、素通りしてました。
プログラムって何が上手くいくかわからないものですね・・・

71:uy
11/05/15 03:00:02.74
ゲーム座標って何。なんか怖い
四角の当たり判定は
o = じき
e = てき 
if o.x < e.x + e.width && o.x + o.width > e.x &&
o.y < e.y + e.height && o.y + o.height > e.y
  
  あたり

end

だろ

ちなみによく当たり判定が素通りする原因として、
ショットや敵の、動くスピードに問題だったりする
当たり判定が小さいのに、移動速度が速すぎると素通りする

72:デフォルトの名無しさん
11/05/15 17:05:39.06
おかげさまで、当たり判定がクリアできたのでゲームの大枠はほぼ完成しました。
入門書によりますと衝突判定が最後の1回だけだとキャラクターがすり抜けてしまう場合があるようで
全体に何回かgosub命令で呼ぶ必要があるようです。もっとも、redraw 0:color 0,0,0,:boxfの後の
まだ敵が描かれてないときに当たり判定がでてしまうと、それ以降に描写される筈だったものが描かれずに
すっ飛ばして終わってしまったりして、いろいろ面倒なことになっちゃってますが・・・
あと、思い通りにいかないことといえば、自分が想像していたものよりゲームが面白くなかったことでしょうか(笑)

73:uy
11/05/16 03:12:28.43
こわい 怖い 怖い 怖い 怖い 怖い怖い 怖い 怖い 怖い怖い 怖い こわい 怖い こわい 怖い 怖い こわい 怖い怖い こわい ごめんなさい

74:デフォルトの名無しさん
11/05/17 23:13:10.14
?

75:デフォルトの名無しさん
11/05/18 19:24:29.53
なあ、HSPをネットブックでやっている人いる?10.1インチ以下の画面でさ
使い心地はどう?

やっぱり素直にノートPC買っとけというレベル?

76:デフォルトの名無しさん
11/05/19 00:09:25.96
最低、ノート。

77:デフォルトの名無しさん
11/05/19 18:46:18.01
HSPって
ウィンドウも出ずツールバーにも表示されずPC起動したそばから起動するツールって作れるの?

78:デフォルトの名無しさん
11/05/19 20:28:46.60
>>77
うん、とても簡単に。

79:デフォルトの名無しさん
11/05/19 20:41:13.65
スタンドアロンアプリが作れるだけで大満足です

80:デフォルトの名無しさん
11/05/20 02:15:34.20
>>75
マルチステートメントだらけの1画面プログラムか7行プログラムをするのならいざ知らず、
ふつうにプログラム組むだけなら、全然問題ない。

81:デフォルトの名無しさん
11/05/22 00:36:05.25
初質やネットで公開されてるスクリプトって、自由に使っても問題ないよね?

82:デフォルトの名無しさん
11/05/22 02:19:35.90
>>81
ここに書かれたモノなら、大丈夫だろうけど…

他サイトで公開されているモノは、利用者のモラルから
それぞれの「使用条件」などに従った方がいいと思う。


83:デフォルトの名無しさん
11/05/22 16:33:15.26
流石。バカしか居ない。w

84:デフォルトの名無しさん
11/05/22 17:11:30.76
ここで聞こうかと思ったけど、
半日考えたら、解決したわ・・・
自分で考えることは大事やね

85:デフォルトの名無しさん
11/05/24 12:01:07.89
本当にHSPで
デスクトップアイコンじゃなくすべてのプログラムから起動できて
タスクトレイのアイコンで設定ができて
ウィンドウ表示されずにツールバーにも出ないで動くツールが作れるんだろうな?

86:デフォルトの名無しさん
11/05/24 12:10:15.53
できる
君の技術と努力次第

87:デフォルトの名無しさん
11/05/24 12:17:22.57
結果的に出来ると作る過程が簡単かどうかは全くの別問題だからな

88:デフォルトの名無しさん
11/05/24 16:39:47.71
URLリンク(punk-peace.sakura.ne.jp)

RPG制作補助ツール「cheese」
Cheeseは、RPG制作の補助をする事を目的として作りました。
RPGを作る上で面倒臭いマップ、イベント、データ作成等のお手伝いをするツールです。
RPGツクール等の様にゲームエンジンは付いておらず、エンジンはあくまで
自分で作らなければいけません。
基本的は自分用に作ったので使いにくい点が多々あると思いますが、少しでもお役に
立てればと思い公開する事にしました。
なお、イベント等を全く利用せずマップのみを作成し、マップエディタとして
利用する事も可能です。
また、HSP2.61用ですが、ゲームエンジンのサンプルスクリプトも
ありますのでご活用ください。


89:デフォルトの名無しさん
11/05/24 19:20:41.48
初心者ですが質問です
パラメータをメモリーノートパッドを使ったメッセージボックスの内容を
同じくメモリーノートパッドを使った文字列形変数に代入してmes命令を使うと
文字が表示されません。原因がわかる方教えてください

90:デフォルトの名無しさん
11/05/24 19:31:41.56
sdim a
notesel a
mesbox a
sdim b
notesel b
button "",*c
stop
*c
b=a
mes b

91:デフォルトの名無しさん
11/05/24 21:21:56.76
>>86-87
実際にやってのけた人いますか?

92:デフォルトの名無しさん
11/05/24 21:25:27.08
サンプルあるからググれ

93:デフォルトの名無しさん
11/05/25 11:48:20.43
>>91
>85の
>すべてのプログラムから起動できて
がスタートメニューの事でいいなら全てサンプルは存在する
あとはそれらを組み合わせるだけ

94:デフォルトの名無しさん
11/05/25 19:13:19.52
久しぶりにHSPやろうと思って3.21と3.3b2を入れたが
昔のスクリプトがそのままじゃ実行できない・・・

3.21は#Error 7
3.3b2じゃ#Error 27

3.21で配列の扱いが変ったのか・・・
3.3b2の方は

#define A 1
b=-A

ってやるとエラー
なんだこれ

95:デフォルトの名無しさん
11/05/25 20:31:24.78
図書館で本借りればええやん

96:デフォルトの名無しさん
11/05/25 20:38:15.22
ソースコンバータ2で変換してもだめなんか?

97:デフォルトの名無しさん
11/05/25 22:00:57.46
久しぶりにHSPを使うバカな奴のフォローをしてやるお前等カッケー。w

98:デフォルトの名無しさん
11/05/25 22:36:15.87
>>96
ん?
HSP3のソースだよ?
3.1までなら実行できたやつ

#defineで定義してるやつに-付けてるところ全部修正して
3.3b2で実行したら今度はアプリケーションエラーになりやがる

99:デフォルトの名無しさん
11/05/25 22:47:10.60
面倒くさがるな!

100:デフォルトの名無しさん
11/05/25 23:10:42.75
日本語でおk

101:デフォルトの名無しさん
11/05/26 09:36:13.23
#define A int(1)

102:デフォルトの名無しさん
11/05/26 11:25:53.83
#defineのは普通にバグだと思うからおにたまさんに報告すれ

103:デフォルトの名無しさん
11/05/26 19:15:09.44
そういえば配列って、
値を一度決めた後に数値を変化させようとしたらエラーがでたな・・・
座標みたいにはいかんのかな?

104:デフォルトの名無しさん
11/05/27 11:48:18.01
>>103
その状況を再現できるスクリプトをくれ
エラーが出るってだけじゃ何も言えん

105:デフォルトの名無しさん
11/05/27 19:46:20.64
max=10
dim a,max
n=1
if n=1:max=11
という記述をしちゃうとcntでエラー吐くみたい。
maxを10以下に変更するなら問題ないようだけど。

106:デフォルトの名無しさん
11/05/29 01:11:55.20
これは……

107:デフォルトの名無しさん
11/05/29 01:37:31.06
3.21/3.3βじゃ再現できなかった。

108:デフォルトの名無しさん
11/05/29 01:42:42.88
dim a,10 ;a.0~a.9まで配列変数を確保
a.11=0 ;これは同次元配列の自動拡張が行われる(a.0~a.11)
a.0=0+a.12 ;これは配列の範囲外を参照するのでエラー

であってるよね

109:デフォルトの名無しさん
11/05/29 18:13:25.53
>3.3b2じゃ#Error 27
これは中間コードの最適化機能がONだと発生
#cmpopt optprm 0
で、回避できたがバグっぽい

>3.21は#Error 7
こっちはhgimg3の命令str2fvに問題ありそう
3.1と3.2で挙動が違う
どっちも問題ある動作だが3.1だと最初の数回だけで収まる

str2fv fv,a のaにちゃんと , で区切った3つの
数値がないとfvの値が安定しない
ヘルプには特に注意書きなし

110:デフォルトの名無しさん
11/05/29 18:27:09.83
3.21と3.3b2は同じ動作

#include "hgimg3.as"
hgini
a="0"
repeat
hgdraw
str2fv fv,a
title str(cnt)+"  ◇"+str(fv)+" ◇"+fv(1)+" ◇"+fv(2)
hgsync 200
stick k,127
if k&128 : goto *owari
loop
*owari
end

111:デフォルトの名無しさん
11/05/29 20:34:40.38
>>92-93
見当がつかない
URL晒してくれ

112:デフォルトの名無しさん
11/05/29 23:49:42.22
hsp3.2で使えて今も残ってるhspwave.asない?

113:デフォルトの名無しさん
11/05/31 15:47:10.19
モジュール変数って劣化インスタンスメソッドみたいなものですか?

114:デフォルトの名無しさん
11/06/01 22:45:52.22
>>105
当たり前だろ。馬鹿かお前。

115:デフォルトの名無しさん
11/06/02 00:39:14.84
当たり前なのか・・・

116:デフォルトの名無しさん
11/06/02 01:03:22.12
例えば配列に格納したデータを先頭から比較するとき
>>105の後repeat maxのループ内部でa(cnt)を参照したら>>108なわけで

初めから最大の配列数で初期化しておいて、ループ数の方を調整するべき
dim a,max
len=max
if n!1 : len--
repeat len
; a(cnt)を参照するほげほげコード

117:デフォルトの名無しさん
11/06/03 12:46:51.14
HSPってオープンソースになるの?

118:デフォルトの名無しさん
11/06/03 19:18:06.40
awaitで微調整して効果音とアニメーションをぴったり合わせたのに
別のPCで動かしてみたらほんのちょっとだけど音と絵がずれた・・・


119:デフォルトの名無しさん
11/06/03 20:36:44.26
awaitは前回使われてから指定された時間を待つ
既に指定された時間を過ぎてたら待たない

PC環境でawait 1で待つ時間は違う
XPなら5~15msぐらい
await 10ぐらいにするとある程度安定するが正確に時間を計れない

時間を計測して合わせるべき

120:デフォルトの名無しさん
11/06/03 20:58:48.89
w=1
repeat
c++
t = gettime(6)
await w
if t!gettime(6){;凄い適当な秒変り検出
color 255,255,255:boxf:color
pos 0,0:mes "FPS:"+c
c=0
}
loop

自分のPC(XP)ではwを1~15に変えてもFPSは64で変らない
16にすると40に落ちる

121:デフォルトの名無しさん
11/06/03 22:14:46.86
なるほどね!

122:デフォルトの名無しさん
11/06/03 22:47:55.36
>>120
おおこれもらうわ さんくす

123:デフォルトの名無しさん
11/06/04 00:20:00.34
c使いが紛れ込んでるな。(#^ω^)

124:デフォルトの名無しさん
11/06/04 01:17:19.43
d3timer 使ったほうが楽じゃね?

125:デフォルトの名無しさん
11/06/05 11:48:50.85
e3dにも入ってたような・・・

126:デフォルトの名無しさん
11/06/05 13:21:45.63
>>125
e3d を使うとリンクするライブラリが変わるから場合によるかも

127:デフォルトの名無しさん
11/06/05 18:44:13.10
e3dだとdirectxいるからそれだけのために必要って書くのもあれだからやめた方がいいか

128:デフォルトの名無しさん
11/06/05 22:03:25.20
いつになったら構造体が使えるのかね。

129:デフォルトの名無しさん
11/06/06 02:30:25.94
他の言語使えよ。

130:デフォルトの名無しさん
11/06/06 18:12:27.77
このサンプルなんですが
URLリンク(hsp.tv)
どうすれば実際にD&Dしたのと同じ効果が得られるように出来るのですか

131:デフォルトの名無しさん
11/06/08 00:13:32.28
クリック(押し)の座標とクリック(離し)の座標をなんとかかんとかだった希ガス

132:デフォルトの名無しさん
11/06/08 00:56:33.39
>>130
ノートパッド起動してれば指定したファイルをD&Dした事になるよ

133:デフォルトの名無しさん
11/06/08 18:53:28.49
>>131
どこかに参考になりそうな物は無いでしょうか
ハンドル取得部分の変更で数時間悩むようなど素人なので…

>>132
MCP-MA7というソフトにD&Dしたいのですか実際にD&Dしたときとは違ってしまい
関連付け起動したときに出るエラーが出てしまいました
このソフトD&DかメニューバーのEdit→Addから以外では受け付けてくれなくて
不便なため上記の動作+ボタン操作当をしたかったのですが
分かりやすいサンプルがなかなか見つかりませんorz

134:デフォルトの名無しさん
11/06/10 16:01:17.56
大人しくC#でも使ってろよハゲ

135:デフォルトの名無しさん
11/06/10 23:06:31.84
>>134
cここにくんな

136:デフォルトの名無しさん
11/06/12 00:01:04.99
>>111を無視すんなゴルァ

137:デフォルトの名無しさん
11/06/12 06:23:57.33
>>136
スタートアップにショートカット入れるのはだめなのか?

138:デフォルトの名無しさん
11/06/12 09:43:00.55
そもそも>>85が何を言ってるのかわからない・・・

139:デフォルトの名無しさん
11/06/12 11:26:58.21
>>138
スタートメニューの全てのプログラムにショートカットを作成
タスクトレイにアイコン表示、アイコンクリックでメニュー表示
ツールウィンドウで起動するアプリ
という事だろ

>>136
この2週間検索すらしなかったのか?
とりあえずHSP-NEXT池

140:デフォルトの名無しさん
11/06/12 11:40:15.37
>>139
検索するようなやつがこんなところに書き込むもんか。

141:デフォルトの名無しさん
11/06/12 15:11:31.09
入門書を2冊読んだ程度の人間が、次にステップアップできる書籍やいいサイトはありませんかね・・・?

142:デフォルトの名無しさん
11/06/12 15:24:03.42
2冊読んだら、後は作りたいものを作るだけでは……

143:デフォルトの名無しさん
11/06/12 20:05:00.96
ちょっと古いバージョンの質問なのですが3.1ではsetmodとdelmodのパラメータがなくなったと書いてあります
3.1ではモジュール型変数の再設定をするにはどうすればいいのですか?あと、delmodのパラが設定できなくなったことで
できる時とできない時の違いを教えてください

144:デフォルトの名無しさん
11/06/12 20:09:47.03
群馬県高崎市に住む39歳AB型、製造業界で派遣プログラマーの仕事をしているhekenekoこと、黒飛健と申します。
新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。

とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。

復興支援アニメ.mp4
URLリンク(www.youtube.com)

湾岸鉄道キャンペーンCM(カラー).mp4
URLリンク(www.youtube.com)


これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
URLリンク(blog.watanabepro.co.jp)
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。


題名”ラダニアムの翼”
A wing of radaniam_partⅡ.mp4
URLリンク(www.youtube.com)
A wing of radaniamu part_Ⅲ.mp4
URLリンク(www.youtube.com)

題名”hekeneko honey”
URLリンク(www.youtube.com)
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。

145:デフォルトの名無しさん
11/06/12 22:17:44.12
>>144
時間を返して欲しい・・・。

146:デフォルトの名無しさん
11/06/12 22:51:15.08
>>145
相手にすんな

147:デフォルトの名無しさん
11/06/19 19:36:20.95
3.1だとまったく問題ないのに3.0で実行すると「内部エラー」と出てしまいます。
これは何が原因なのでしょうか?わかる方御願いします。ちなみにOSはXPです

148:デフォルトの名無しさん
11/06/19 21:06:35.40
プログラムが原因

149:デフォルトの名無しさん
11/06/19 22:33:32.73
HSPでスクレレを使ってツールを作っています。

DBから読みこんだデータをいままでのものすべてをlistboxに表示したいの

ですが、listboxに最新のデータ一つしか表示されません。

どのようにすればいいのでしょうか?

sql_open "kodukai.db"
sql_q "CREATE TABLE IF NOT EXISTS [ログテーブル] (ID INTEGER PRIMARY KEY, [内容])"

sql_q "SELECT * FROM [ログテーブル]"
count = stat
repeat count
listboxtext="ID=" + sql_v("ID") + ", 内容=" + sql_v("内容")
sql_next
loop

150:デフォルトの名無しさん
11/06/19 22:33:48.01
おそらくプラグイン dll の有無だろう

151:デフォルトの名無しさん
11/06/19 22:43:23.83
一応dllもあって起動するんですが・・・

152:デフォルトの名無しさん
11/06/19 23:16:07.36
スクレレは知らんのだけど
listboxtext="ID=" + sql_v("ID") + ", 内容=" + sql_v("内容")
これを
listboxtext += "ID=" + sql_v("ID") + ", 内容=" + sql_v("内容") + "\n"
にしてみたら


153:デフォルトの名無しさん
11/06/21 22:04:13.25
>>147
それだけでわかるわけねーだろ。
エラー番号とかも書けよ。


154:デフォルトの名無しさん
11/06/24 21:27:03.68
HSPか・・・懐かしいなww

155:デフォルトの名無しさん
11/06/25 09:36:34.99
俺は懐かしいどころか現役という

156:デフォルトの名無しさん
11/06/25 20:33:43.34
初歩的な質問です。
みなさんは、プログラムをかくとき自分で0からつくりあげていくのか、
それとも、他人が他言語などで書いたソースをベースに自分仕様にしてるのだろうか?

157:デフォルトの名無しさん
11/06/26 11:31:58.73
>>156
両方

自分の理解出来てる事なら自分で組み立てるし
理解が及ばない事は他人のソースを見て解釈する事もある

158:デフォルトの名無しさん
11/06/26 16:00:45.87
>他人が他言語などで書いたソースをベースに自分仕様にしてるのだろうか?
これはWinAPIとか使う時ぐらいだな

159:デフォルトの名無しさん
11/06/26 16:16:58.75
>>158
APIは本当にそうだな。
さっぱり分からんもんがゴロゴロある。

160:デフォルトの名無しさん
11/06/26 21:47:49.51
hspapi.asみたいなのでてほしい

161:デフォルトの名無しさん
11/06/26 22:16:41.03
>>160
それで一体どんなものを希望してるんだ?

162:デフォルトの名無しさん
11/06/26 23:35:53.71
いっぺんもぐらたたきでも作ってみようと思ったんだけど、アルゴリズムはどうすればいいのかわからんかった。
で、プログラムをネットで調べてみたけど、C言語で書かれたソースではやっぱり何を言ってるのかようわからん。
それならば、BASICで書かれたソースを見つけてHSPの命令に一文ずつ書き直せば簡単できるんじゃないか?
と思ったのだが、そんなに簡単にいくもんなのだろうか?
プチコンのプログラムソース見て思ったんだけど同じBASIC系言語らしいのに、HSPとはなんか違うような感じがする・・・


163:デフォルトの名無しさん
11/06/26 23:45:24.54
>>162
移植の方法は、どのような言語でも、フローチャートに書き直す。
フローチャートに従って、新コードに書き下す。


164:デフォルトの名無しさん
11/06/26 23:55:23.72
やっぱ、プログラミングには、フローチャートとかメモとか細かい作業が必要なんだな・・・
簡単であまり長くないプログラムなら、皆適当に思いつきで書いてるもんだと思ってたよ。

165:デフォルトの名無しさん
11/06/27 00:22:53.22
個人で組むなら、どうでも良いよ。
でも、組織立って組んでるなら、同じファンクションやプロセジャーをコーディングしない為にも、文書化しとく必要は有るんじゃね?

166:160
11/06/27 00:42:01.51
基本的なのからいうと
iniとか
hspapi@wikiとか作って拾ったり、作ったwin32apiを使ってる命令を一つのasファイルにしたら楽なんじゃないかって

167:デフォルトの名無しさん
11/06/27 09:00:55.45
HSP って user32.as とか kernel32.as とか付属してなかった?

168:デフォルトの名無しさん
11/06/27 11:35:32.40
関数名だけわかっても定数で詰まるから
さくらさんとこの定数ツールみたいなの標準で同梱するか
誰かHDL用にAPIと定数の関連マニュアル作ってくれないかな?
個人で作るには量が膨大すぎるけど

169:デフォルトの名無しさん
11/06/27 13:14:14.81
>>168
他の言語用のマニュアル使えばいいじゃない

170:デフォルトの名無しさん
11/06/27 14:23:28.31
>>169
その手間を少なくする為の話してるんだよ

171:デフォルトの名無しさん
11/06/27 14:47:19.79
フローチャートとかセンター試験くらいでしか使った事がない

172:デフォルトの名無しさん
11/06/27 18:22:10.33
HSPでいろいろ作れようになれば基本情報技術者試験受かりますかね?

173:デフォルトの名無しさん
11/06/27 19:02:54.03
HSPはHSPの本を読みまくれば、HSP使いにはなれるが、
基本情報技術者試験は、基本情報の本を、読んで、ときまくら
ないと、と受からない。俺はファーストフード店に入り浸って、
旧国家2種(基本情報相当)を取ったが、2年で、20kg太
ってしまった。その体重を肥満外来に通って、1年半で、もと
の体重に戻した。ファーストフード勉強法は、太るぜ。受かった
時の俺は、HSPは、まったく知らなかった。プログラムの問題
の参考にはならんかもしれん。でも、HSP知ってると、win
dowsプログラマーになれる。

174:デフォルトの名無しさん
11/06/27 19:26:32.44
基本情報に実際のプログラムの問題なんてほとんどないよw

175:デフォルトの名無しさん
11/06/27 22:02:47.06
>>162
以前、3の倍数の時アホになり、5の倍数の時弱気に吠える犬になり、3と5の倍数(15の倍数)のときヒャッハーするプログラムをc++だかで見たんだが、おまじないが多くて困った。
結局、理解するのを止めた…

176:デフォルトの名無しさん
11/06/27 22:36:41.48
「言語」って言うくらいだからなぁ
単語だけ他の言語に訳しても意味ないんだよ、文法も分かるようにならないと

177:デフォルトの名無しさん
11/06/27 23:11:41.15
>>173
不自然な改行なので縦読みを探したが見つからない

178:デフォルトの名無しさん
11/06/27 23:30:44.22
>>173さんは、書き方に、特徴があるので、
あなたを知っている人は、匿名で書いても、あなたが誰だか分かってしまうから、
2ちゃんねるに書きこむの時は、気をつけた方が、いいかと思うよ。
親の、具合は、もういいのかい?

179:デフォルトの名無しさん
11/06/28 00:25:21.52
自分は、HSPを2度挫折して今年の2月に基本情報の勉強を始めました。
しかし、擬似言語で行き詰ったので、再びHSPを始めたらついにHSPのプログラムを完成させることができました。
たぶんCASL2や基本アルゴリズムを学んだことが、自分の血となり肉となったのだと思います。
でも、基本情報で学んだことの多くは忘れてしまっているみたいなので、またやり直さなきゃいけなくなった。
そして基本情報の勉強をしなおしているうちに、今度はHSPの文法を忘れていっているようです。
人生は、3歩進んで2歩下がるですね。3歩進んで2歩進めるような頭のいい人が羨ましいです。

180:デフォルトの名無しさん
11/06/28 00:27:26.41
そういうスタンド攻撃があってだな・・・

181:デフォルトの名無しさん
11/06/28 11:13:07.39
>>178
親の具合は、ブログを参照してください。
くわしくは、ブログを見ればいいです。
更新しています。
文章は2ちゃんの法則で、こういう書き方
になっています。ご指摘ありがとうございます。

182:デフォルトの名無しさん
11/06/28 14:37:33.97
日本語として何を言っているのか分からない

183:デフォルトの名無しさん
11/06/28 18:46:24.04
buffer 1,100,100
//gsel 0
screen 0,640,480,0,(ginfo(20)-ginfo(10))/2, (ginfo(21)-ginfo(11))/2
stop

gsel付けないと表示されないんだけど、これって正常だと思うか?


184:デフォルトの名無しさん
11/06/28 19:02:01.93

buffer 1,100,100
logmes "ginfo(10)="+ginfo(10)
logmes "ginfo(11)="+ginfo(11)
logmes "ginfo(12)="+ginfo(12)
logmes "ginfo(13)="+ginfo(13)
gsel 0
logmes "ginfo(10)="+ginfo(10)
logmes "ginfo(11)="+ginfo(11)
logmes "ginfo(12)="+ginfo(12)
logmes "ginfo(13)="+ginfo(13)

185:デフォルトの名無しさん
11/06/28 19:25:34.04
ginfo(10)と(11)がぶっ壊れてるね
(4)~(7)もイカレてる

186:デフォルトの名無しさん
11/06/28 19:43:55.33
仮想画面だから不定なのは正常

187:185
11/06/28 19:48:02.17
すまんバッファの座標が取れてただけだなorz
gsel 0は当然あるべき

188:デフォルトの名無しさん
11/06/28 20:37:04.69
HSPで見下ろし型(スーファミのラングリッサーみたいな感じ)のSRPG作りたいんだけど
ソース公開してる参考になるサイトってある?
斜めでマスの数が少ないのは嫌なんだ

189:デフォルトの名無しさん
11/06/28 21:15:51.65
>>188
HSP3.2プログラミング入門の本の中に、
シュミレーションRPG 草原の攻防という
ソース付きのサンプルがあるが、それじゃだめかな?

190:デフォルトの名無しさん
11/06/28 21:23:40.61
>>189
やっぱりネット上ではSRPGのソース公開はあまり無いみたいですね・・・
一度プログラミングの本買ってバージョンが変わってて失敗したことがあるんだ
プログラミングについての本あまり信用しないようになってしまったんだが・・・
少し怖いから、本屋に行って中身みてくるかもしれない。
情報ありがとう!

191:デフォルトの名無しさん
11/06/28 21:32:47.16
イメージはちがうが、シュミレーションで、ソース付きがあった。
URLリンク(www7b.biglobe.ne.jp)

192:デフォルトの名無しさん
11/06/29 20:17:09.92
screen 2,640,480,4

サイズが固定されないんだけど(WIN7)
GetWindowLong&SetWindowLongでやらないと駄目なの?

193:デフォルトの名無しさん
11/06/29 20:19:13.81
(WIN7)のバグだと 思われる。

194:デフォルトの名無しさん
11/06/29 22:07:23.64
>>191
遅くなりました!これも参考にしてみます!
いつかはオリジナルのが作れたらいいな~


わざわざありがとうございました!

195:デフォルトの名無しさん
11/06/29 22:30:53.04
>>194
いえいえ

196:デフォルトの名無しさん
11/06/29 23:29:01.01
講座でも始めようかな

197:デフォルトの名無しさん
11/06/30 00:14:08.60
螺旋の騎士のようなフリーの良作期待してますよ

198:デフォルトの名無しさん
11/06/30 00:34:36.10
入門的な講座よりも、ゲームでよく使われるスクリプトの大全集みたいなサイトがあると助かる
クックブックもリファレンスブックも逆引き辞典もあんまり自分には役に立たなかったもんで・・・

199:デフォルトの名無しさん
11/06/30 00:58:27.95
HSP3 ゲームのプログラミング
URLリンク(masudahp.web.fc2.com)
HSPサンプルスクリプト
URLリンク(www.amayado.net)
こんな感じで、どうかな?

200:デフォルトの名無しさん
11/06/30 01:16:54.99
どうも、ありがとう。でも、どちらも既に知ってるサイトでした・・・
個人的には、体力のバーの表示の仕方とか、弾を全方位に撃つ方法とか、横アクションゲームの基礎とか
これができると、アレを作れそうだなみたいな、そういう技術が知りたいかなぁーと
コンテストに応募してくる人は、どこで習ってるのかなぁ?やっぱり他の言語で取得した知識なのかな?


201:192
11/06/30 06:18:44.53
>>193
㌧ 了解

202:デフォルトの名無しさん
11/06/30 08:01:33.33
>>200
URLリンク(hariko.hariko.com)
URLリンク(hsp.tv)
URLリンク(oirahakobito.seesaa.net)
URLリンク(hsp.tv)で、弾幕で検索
本は、最新HSP3.2プログラミング入門―オフィシャル
HSP3でつくる簡単3Dゲーム」
12歳からはじめるHSP3.0わくわくゲームプログラミング教室
12歳からはじめるHSP 3Dゲームプログラミング教室
など参考にするといい


203:デフォルトの名無しさん
11/06/30 17:16:16.98
こんにちは、初めましてです。
HSP初めて触る少し質問をさても頂きたく思います。
HSPの前進させるキー操作のところを、加速度センサーを使った、
リアルタイムでの歩行動作をさせることは可能なのでしょうか?
プログラムの書き方しだいかもしれませんが、どうぞご回答よろしくお願いします。

環境としては、OSはvista 今のところはHSP3です。


204:デフォルトの名無しさん
11/06/30 20:23:39.94
>>202
どうもありがとう。初見のものもありました
紹介してもらった感想としては、やっぱりゲームスクリプト集のような超便利なサイトや書籍はないみたいですね
天は自ら助くる者を助くという言葉がありますけど、プログラムの世界でも初心者に楽して上達させてはくれないみたいです・・・

でも逆に、初心者がポンポンと判子絵のようにゲームを作ることが本当に良いことなのかということも考えてしまった
ただでさえフリーゲームがネットに溢れてるのに、ちっとも面白くないゴミのような作品が増えて誰が得をするのか?と
ネットは玉石混合と言われてるけど、さらに砂漠の中から指輪を拾うような状況になるのはよくないことだし
お使いイベントや王道シナリオが陳腐化し、フリーの絵や音楽を目にするたびにウンザリしてしまうんじゃないかと思った

205:デフォルトの名無しさん
11/06/30 20:31:10.91
hsp3imp.dllの質問です。

_hspprm@16( 0, 0, 0, NULL )
_hspprm@16( $102, 0, 0, "test.ax" )
_hspini@16( $100, 300, 200, 0 )
_hspexec@16( 0,0,0,0 )
_hspbye@16( 0,0,0,0 )

こんな感じでHSPスクリプトを実行できるのは分かったんですけど、
どうやったらUWSCの変数を参照させられるでしょうか。
メッセージのやり取りでも出来ればいいんですが、UWSC側でメッセージを受信できないので、
直接変数を渡してHSPスクリプトで書き換えたいんですけど。

UWSC以外でも、hsp3imp.dll で呼び出したスクリプトとやり取りする方法はあるんでしょうか。
変数や関数呼び出しで。


206:デフォルトの名無しさん
11/06/30 23:22:54.27
>>203
あなたの言う「加速度センサー」とは何か?
キーボード・マウス以外の周辺機器をHSPで利用するには、専用のDLLが必要。
あなたの加速度センサーのDLLがHSPで利用可能か私には分からない。

「リアルタイムでの歩行動作をさせる」とは何を動作させるのか?
あなたはパソコンにロボットなどを接続してその制御をしたいのか?
あるいは3D・2Dゲームのキャラクターを画面の中で動かしたいという事か?

>>205
あなたの質問はおそらくこのスレ向きではない

207:デフォルトの名無しさん
11/07/02 18:59:22.40
>>206
なんかそれ翻訳したみたいだな

208:デフォルトの名無しさん
11/07/04 20:50:40.02
>>203の書き方が翻訳したみたいだったから合わせた

209:デフォルトの名無しさん
11/07/06 21:15:57.88
へえ

210:デフォルトの名無しさん
11/07/08 22:09:06.28
多次元配列の初期化代入はどうやるの
一次元なら a = 1,2,3....でできるけど・・・

211:デフォルトの名無しさん
11/07/09 11:39:58.25
多次元配列の初期化代入は多分不可能だがこういう事なら出来る

dim a, 3, 2
x = 0, 1, 2, 3, 4, 5
memcpy a, x, 24, 0

repeat 2
cnt1 = cnt
repeat 3
mes a(cnt,cnt1)
loop
loop

あまりややこしい事はしない方が結果楽だけどな

212:デフォルトの名無しさん
11/07/09 13:30:48.49
>>211
あーやっぱ反復構造利用しないとダメですか
ありがとうございました

213:デフォルトの名無しさん
11/07/09 16:18:58.84
a(0)=1,2,3...
a(1)=1,2,3...
a(2)=1,2,3...
初期化代入って呼ぶのかどうか

214:デフォルトの名無しさん
11/07/09 19:48:43.10
>>213
それって今でも出来たっけ?
昔はできた気がするけど…

215:デフォルトの名無しさん
11/07/09 23:21:58.52
HSPのテストバージョンにHSPDishがついてたんだけど
これでどうやってAndroidで動かすんだ??

216:デフォルトの名無しさん
11/07/09 23:46:53.91
>>214
できなかったわ知らなかった
というかどうなってんのこれ

dim arr, 3, 3
arr(0) = 1,1,1
arr(1) = 2,2 //これ以上多いとエラー
arr(2) = 3 //これ以上多いとエラー

repeat 9
mes ""+arr( cnt/3, cnt\3 )
loop

217:デフォルトの名無しさん
11/07/10 00:05:57.65
dim arr, 3, 3
arr(0) = 1,1,1 // arr(x,0), arr(x+1,0), arr(x+2,0)に代入
arr(1) = 2,2 // arr(x,0), arr(x+1,0)に代入
arr(2) = 3 // arr(x,0)に代入

repeat 3
mes ""+arr(cnt, 0)+" "+arr(cnt, 1)+" "+arr(cnt, 2)
loop

218:デフォルトの名無しさん
11/07/10 00:22:52.67
>>217
おかげで添字が逆だったのを思い出した

dim arr, 3, 3
arr(0,0) = 1,1,1
arr(0,1) = 2,2,2
arr(0,2) = 3,3,3

repeat 3
mes ""+arr(cnt, 0)+" "+arr(cnt, 1)+" "+arr(cnt, 2)
loop

219:デフォルトの名無しさん
11/07/10 03:12:00.69
配列は苦手だわ
めまいする

220:デフォルトの名無しさん
11/07/10 03:16:03.75
添字が逆なのはマジ嫌がられ

221:デフォルトの名無しさん
11/07/10 12:42:19.60
え?

222:デフォルトの名無しさん
11/07/10 20:42:40.84
配列初期かもできない分言語なんかやってるひといるのw

223:デフォルトの名無しさん
11/07/10 20:59:37.88
>>217
何ぞこの糞仕様w
分かり難いわwww

224:デフォルトの名無しさん
11/07/10 21:40:26.17
#module

#deffunc foo int a
return

#deffunc bar int a
return

#global

上記のようなものがあるとして
foo という関数を module 外から見えなくする方法があれば教えてください

225:デフォルトの名無しさん
11/07/10 22:00:36.60
無いんじゃね

226:デフォルトの名無しさん
11/07/10 22:25:10.37
HSPにそんな高度な機能はないだろ。

227:デフォルトの名無しさん
11/07/10 22:27:37.64
知れば知るほどいやになる言語hsp
だが残念なことにpygameもstaerrubyも糞過ぎてこれしか選択肢がない

228:デフォルトの名無しさん
11/07/10 22:42:04.69
選択肢が偏りすぎてる件

229:デフォルトの名無しさん
11/07/10 22:43:19.26
>>224
同名の関数があるのが困るってだけならこれでおk

#define foo foo_no_hontou_no_namae_ha_nagai
#deffunc foo_no_hontou_no_namae_ha_nagai int a
return

230:デフォルトの名無しさん
11/07/10 22:47:07.01
高度な機能は亡き者にする姿勢ってどうにかならないのかな~
プログラムに慣れて来たら卒業したくなる言語って悲しいんだけどw

231:デフォルトの名無しさん
11/07/10 23:42:59.00
DXライブラリはヴィジュアルスタヂオの知識が必要
lgpは手軽だが画像読み込みばぐや画面サイズに制約があり微妙
pugameはideと日本語の扱いがロクにできない
starrubyだかdxrubyはエラーログすらでねえ


232:デフォルトの名無しさん
11/07/10 23:56:35.00
VS使える言語はいろいろ便利でいいよな

233:デフォルトの名無しさん
11/07/10 23:59:36.93
一体HSPに何を求めてるんだ。

234:デフォルトの名無しさん
11/07/11 00:08:41.70
ラベルの撤去

235:デフォルトの名無しさん
11/07/11 09:28:57.41
>>224
#deffunc local foo int a

236:デフォルトの名無しさん
11/07/11 09:52:21.42
>>235
消えるには消えるけど@モジュール名付けないといけないから嫌なんだよな
おまけに local してない同名の命令が先にあると結局だめだし

237:デフォルトの名無しさん
11/07/12 20:19:41.70
>>231
つMMF

238:デフォルトの名無しさん
11/07/15 19:18:20.91
自分の書いたプログラムみてたら単調な命令ばかりで行数が無駄に多いことに気付いた
頭のいい人間なら熟考した上でrepeatや配列をつかったエレガントな文を書くんだろうな
でも俺アホだからそういうの思いつかないんだよな。だからソースは他人に絶対見られたくない
おまえらはどうよ?

239:デフォルトの名無しさん
11/07/15 19:28:55.75
単調な命令ばかりで行数も五千行になったけど別に「見られたくない!」とまでは思わないなあ
変数の単語の使い方が間違ってたら恥ずかしいな、とは思うけど

ぶっちゃけ変数だけでもかなり色々出来るしわざわざムリしてまで難しい命令を使う事は無いと思うよ
誰かに教える事を前提とするならちょっと考えなきゃいけないのかもしれないけど

240:デフォルトの名無しさん
11/07/15 21:51:57.87
他人の書いたソースは無駄も含めて色々勉強になる
ソースを公開してくれるのはありがたい
知らない命令つかってたりしてな

無駄が多いと気付いたんなら>>238のスキルが上がってきた証拠じゃね?

241:デフォルトの名無しさん
11/07/15 22:08:36.16
じきに local がずらっと並んでエディタがどこまでも横スクロールするようになる

242:デフォルトの名無しさん
11/07/15 22:45:24.70
ふ~ん

243:デフォルトの名無しさん
11/07/15 23:22:58.22
無駄が多いと気づいたなら、書きなおして無駄を減らせばいいだけでしょ

244:デフォルトの名無しさん
11/07/16 05:58:06.28
>>238
ループでまとめたほうがすっきりすると思っていたが、
マクロ生活のマクロ見て愕然とした。

シンプルな記述で羅列したほうがめちゃめちゃすっきりしてた。


245:デフォルトの名無しさん
11/07/16 12:51:30.08
動いてるところだけ見てもコードの汚さなんて分からないんだから
無駄でも冗長でも別にいいんだよ、モジュール化に限界のあるHSPでは
それは十分許される

246:デフォルトの名無しさん
11/07/16 23:03:08.50
みんな優しいな

247:デフォルトの名無しさん
11/07/17 21:15:33.61
プログラムってさ、書いてるうちにブラックボックス的なコードになってたりするよね?

248:デフォルトの名無しさん
11/07/17 22:44:00.86
hgimg3で、objchildにより何かの子になっているobjectが
delobjで消去できないのは仕様でしょうか?
ドキュメントにあるとおり、delobjに親を指定すれば子もろとも消えるのですが

公式に打ち上げれば修正されるのでしょうか?



249:デフォルトの名無しさん
11/07/18 19:58:38.09
hgimg3は資料が少なすぎて使う気になれない
ユーザーを増やそうという気概も感じられない

そんなhgimg3に手を出したのなら
公式のサポートなどあてにしない孤高のプログラマとなり
自分の知恵と力で道を切り拓くべき

わりとマジで


250:デフォルトの名無しさん
11/07/19 01:16:38.68
>>248
delobj前に親子設定破棄

251:デフォルトの名無しさん
11/07/19 02:02:11.76
>>247
だから俺は12個に分けた

252:デフォルトの名無しさん
11/07/19 15:52:41.34
プログラミング全般に言えることなんだけど
ネット資料がいろいろと少なすぎるから
結局金払ってマニュアル本なり英語のサイト漁らないといけない

253:デフォルトの名無しさん
11/07/20 15:45:48.63
ぷよぷよのようなゲームを作ろうと思っているのですが、
↑キーを押した時に時計回りにブロックを回転させる操作をしたいと
考えています。
しかし、1度↑キーを押しブロックが時計回り(左上)へ移動した後に
もう一度↑キーを押すとそのまま左上へ行ってどこかへ行ってしまいます。
ブロックの中心を軸にその周りを回る方法を知りたいのですが、
参考にするといいサイトなどあるでしょうか?


254:デフォルトの名無しさん
11/07/20 21:43:26.01
早く誰か答えなさい…

255:デフォルトの名無しさん
11/07/20 21:55:22.20
ソースコードをupすれば、誰か答えるだろう…

256:253
11/07/21 10:30:11.14
ソースコードはとあるサイトにあったソースを元に改ざんしているのですが
まだ調べが甘かったようです。
質問しておいて失礼ですが、
気になるサイト(ソース付き)を見つけたのでひとまず
そのソースをいじりながら勉強をしてみます。
お騒がせしましたm(_ _)m
また行き詰ったらお邪魔しにくるかもしれませんが・・w

257:デフォルトの名無しさん
11/07/21 18:16:39.76
コピペで試行錯誤するのは止めとけ
技術は全く身につかないし、時間の無駄

258:デフォルトの名無しさん
11/07/21 19:35:07.24
hspletRPGを作りたいってとき
セーブデータってどこに保存されるの・・・?

259:デフォルトの名無しさん
11/07/22 15:06:51.73
ぷよぷよよりテトリスの方がソースたくさんネット上に置いてありそうだけどな
構造も似てるし参考にはなるだろ
知りたいのは落ちてくるブロックの回し方なわけだし

まあそこで苦労してるようじゃ連鎖過程でさらに苦労しろうだな

260:デフォルトの名無しさん
11/07/22 22:55:50.16
newmod してできたモジュール変数のインデックスを知る方法はありますか?

261:デフォルトの名無しさん
11/07/22 23:04:52.10
>モジュール変数のインデックス
なにそれおいしいの

262:デフォルトの名無しさん
11/07/23 02:34:12.56
>>261
newmod を繰り返すと配列見たいのがどんどん伸びていって delmod をすると歯抜けになる
その後で newmod すると抜けてた部分が埋まるんだよ
そうなると新しく newmod された部分がどれなのか調べるのが面倒なんさ

263:デフォルトの名無しさん
11/07/23 03:24:47.96
みんな無限ループエラーの時のデバックどうやってる?
ゲームがフリーズするから普通に変な動きした時よりエラー箇所探すのめんどくさい

264:デフォルトの名無しさん
11/07/23 08:56:31.30
>>260
このwikiの「モジュール変数の配列番号を取得する」は違う?

URLリンク(hspdev-wiki.net)

265:260
11/07/23 14:21:52.52
>>264
探していたのはまさしくコレです
ありがとうございました

266:デフォルトの名無しさん
11/07/23 22:04:05.56
>>265
いえいえ
ひょ~~~~


267:デフォルトの名無しさん
11/07/24 01:41:38.90
>>263
wait,awaitなんかの待機処理入れて動作見たり、ループ脱出条件の変数を出力して監視したり。

268:デフォルトの名無しさん
11/07/24 20:18:02.50
MIDI音源の再生について質問です。
前のパソコンでも使っていたシーケンスソフトで快適に再生できていたファイルがもたつき、音が途切れ途切れになるなどの症状が出ていて困っています。
重い常駐ソフトも特になく、ソフトからエクスポートしたファイルをWindowsMediaPlayerで再生してもスピードが0.3~0.4秒前後不安定(遅い)で、以前は正しく発音されていた部分が途切れたり消えたりします。
ソフト上でも同様です。デバイスの確認や診断も行なってみましたが、異常なし
・現在
OS:Windows7 Home Premium 32-bit (6.1, Build 7600 )
Procerror:AMD Athlon(tm) II X2 255 Processor (2 CPUs), 3.1 GHz
Memory:2048MB RAM
Page File:786MB 2795MB availableDirectX:DirectX 11
Sound Devices
Description:スピーカー(Realtek High Definition Audio)
Driver Name:RTKVHDA.sys
HW Accel Level:Basic
EAX(tm) 2.0 Listen/src:No, No
I3DL(tm) Listen/src:No, No
------------------

・以前
OS:WindowsXP Home Edition(5.1, Build 2600)SP2
Procerror:Intel(R) Celeron(R) CPU 2.80GHz
Memory:256MB RAM
Page File:274MB 337MB available
DirectX:DirectX 9.0c
Sound Devices
Description:Realtek AC97 Audio
Driver Name:ALCXWDM.SYS
HW Accel Level:Full
EAX(tm) 2.0 Listen/src:Yes, Yes
I3DL(tm) Listen/src:Yes, Yes

お願いします

269:デフォルトの名無しさん
11/07/24 22:10:02.62
メディアプレーヤーでそれってことはHSP全然関係ないよね
ここで聞く事じゃないと思うけど

XPで使ってたソフトそのまま使ってるの?
OSアップデートしたら過去アプリ使えなくなるのは珍しい事じゃないよ
互換モードで使ってみ
それ以上のことはグーグル先生に

270:デフォルトの名無しさん
11/07/25 09:53:51.51
windows7だとareo周り?
後はDirectSound関係かな?

271:デフォルトの名無しさん
11/07/25 17:38:19.23
>>188
2007年のプログラムコンテストに反乱軍記っていうソフトを作った人がいたよー

272:デフォルトの名無しさん
11/07/26 15:20:51.96
repeat~wait 10~ loopと書くよりも、label~wait 10~ goto labelで記述した方が
体感的にキーの入りがいいように感じるのですが、みなさんはどうでしょうか?
世間的にgoto文は多用すべきでないと言われてるので、repeat文で書いてます・・・

273:デフォルトの名無しさん
11/07/26 15:53:12.81
HSPだけに限って言えばrepeat~loopは意外と使い難い局面が多々あるので
gotoと場合によって使い分ければいい
俺はメインループはgotoでサブルーチン内でだけrepeat~loopを使うようにしてる

ちなみに処理速度だけならrepeat~loopの方が若干速いからキー入力云々は気のせいだろ

274:デフォルトの名無しさん
11/07/26 18:17:44.39
モジュール変数を知って今まで苦労していた部分が楽になった
が、今まで楽に出来ていた部分で苦労するようになったw

275:デフォルトの名無しさん
11/07/26 19:04:25.64
苦労した成果
#module hoge a, b
#deffunc swap_var var x, var y, local z
z=x : x=y : y=z
return

#modinit int a_, int b_
a=a_ : b=b_
return

#modfunc hoge_print
mes strf("a=%d b=%d", a, b)
return

#modfunc hoge_swap_ var a_, var b_
swap_var a, a_
swap_var b, b_
return

#modfunc hoge_swap var target
hoge_swap_ target, a, b
return
#global

newmod x, hoge, 1, 2
newmod x, hoge, 3, 4
newmod y, hoge, 5, 6
hoge_swap x.1, y.0
foreach x
hoge_print x.cnt
loop
hoge_print y.0

276:デフォルトの名無しさん
11/07/26 19:06:47.55
>>272
カウンタが有るか無いかぐらいの差しかないよ
てかゲームで使うならawaitな

>>274
多次元配列は一次元配列より倍近く重いから一フレームで大量に扱う物にモジュール変数は不利になるから注意

277:デフォルトの名無しさん
11/07/26 22:01:47.68
>>275
モジュール変数というかメンバ変数?を使いこなせるなら
もうC++やC#を使った方が楽かもなw

278:272
11/07/26 22:09:16.96
タイトル画面でスタートキーを押したにもかかわらず、受け付けてくれないことが多々ありまして、
出鼻を挫かれたプレーヤーが少しイラっとされるんじゃあないかと思ったんですよ・・・

279:デフォルトの名無しさん
11/07/26 22:31:13.83
>>272
repeat~loopはgotoでループ抜けるとネストが残ったままになるから、
gotoでループするとかdoとかwhileを使った方がいいらしいな。

280:デフォルトの名無しさん
11/07/27 00:43:30.28
ついでに氷もたのむ

281:デフォルトの名無しさん
11/07/27 03:00:18.23
>>278
それはループ処理かキー入力取得自体に問題があるんじゃないのか?
30fps程度で動かしてたとしても、非同期のキー入力を取りこぼす事は普通ありえないぞ

282:デフォルトの名無しさん
11/07/27 12:27:51.48
gotoしてる文、ループ時の条件文がスルーされてるってオチだったりして

283:デフォルトの名無しさん
11/07/27 13:24:38.84
ネストが残るてどういう意味なん?
メモリにゴミでも溜まるんかい?

284:デフォルトの名無しさん
11/07/27 13:56:12.76
repeat -1
gosub *nest_houti
loop

*nest_houti
stop ; repeatブロックの中のまま、gosubで飛んだまま

285:デフォルトの名無しさん
11/07/27 20:12:50.69
え?

286:デフォルトの名無しさん
11/07/27 21:56:17.47
それはいいんじゃね?
つかHSPにも関数ブロックみたいなのがほすい。returnし忘れとかやめて~

287:デフォルトの名無しさん
11/07/28 10:01:31.30
>>284の何が危ないのかわからないんだったら、
gotoによるループをオススメする

288:デフォルトの名無しさん
11/07/28 10:25:55.25
ミスを誘う仕様っぽいけど今更どうしようもないだろw

289:デフォルトの名無しさん
11/07/28 17:22:41.04
gosubでreturnしないなんて、初心者の漏れでもやったことない

290:デフォルトの名無しさん
11/07/28 17:52:06.98
他人のコード理解しないままコピペしてたら起こり得る

291:デフォルトの名無しさん
11/07/28 19:53:53.35
自分のスクリプトを確認してみたら、gosubで飛んだラベルから条件分岐で別のラベルにgotoする処理もあるんだけど
その場合もネストがなんたらで危ないのか?別に、エラー吐いたりフリーズしたり不具合もでたことないんだけど・・・


292:デフォルトの名無しさん
11/07/28 20:23:16.56
grotateで画像が乱れるとお悩みのあなたに embed_grotate !
これがあればアルファチャンネル付き画像だってグリグリ回せちゃいます
今なら外部DLL一切不要
一家に一台 embed_grotate !!!


● 特長
grotate とそのまま置き換え可能
外部DLLが不要
画像が乱れにくい
アルファブレンドコピーができる
アルファブレンドコピーモードの際に半透明合成時のブレンド率も適用される
(アルファチャンネル付きの画像をフェードイン、フェードアウトできる)

● grotateと異なる点
転送先、転送元いずれかがパレットモード時には動作しない
grotateよりも低速(約80%~60%)
アルファブレンドコピーモードの際の動作が異なる

● 使い方
1.embed_grotate.hsp を HSP の common フォルダにいれる
2.embed_grotate.hs を HSP の hsphelp フォルダにいれる
3.#include "embed_grotate.hsp" と記述する
4.grotate のかわりに embed_grotate と記述する

プラグイン作ったので宣伝してみました
URLリンク(simasuzu.web.fc2.com)

293:デフォルトの名無しさん
11/07/29 01:53:44.66
>>291
ややこしいがそのgoto先の中でreturnしてればおk
自分が見易い形に整理していった結果そうなったならそれでいいんだろう

294:デフォルトの名無しさん
11/07/29 05:48:59.55
gosubしたらreturnで戻ってこないと、(スタック?に記録された戻り値が解消されないまま?だから)
それがどんどん溜まるとエラーになってプログラムが落ちる場合もあるという理解でいいんですかね?
URLリンク(hsp.tv)

295:デフォルトの名無しさん
11/07/29 12:57:07.22
#cmpopt varinit 1 ってみんな使ってない?
人様のモジュール使うとき自前で変数の初期化するの面倒なんだが

296:292
11/07/29 17:29:14.21
ver1.4 できました
処理速度が grotate とほぼ同等になりました
描画領域の計算が正確になりました(タイルパターンの描画にも使えるようになりました)

297:デフォルトの名無しさん
11/07/29 23:49:51.81
ここは宣伝スレじゃないんで^^

298:デフォルトの名無しさん
11/07/30 11:09:21.31
>>283
これを実行してみればわかる
i=0
*main
repeat
i++
cls
mes i
goto *main
loop


299:デフォルトの名無しさん
11/07/30 12:28:05.19
せめてwaitを

300:デフォルトの名無しさん
11/07/30 13:51:27.70
いらないだろ

301:デフォルトの名無しさん
11/07/30 18:30:01.53
looplev
sublev
地味すぎるシステム変数たち

302:272
11/07/30 18:33:55.24
repeat
stick a
if a=16:goto *main
wait 10
loop
というふうに書いてました。あまり良くないようなのでgoto文に変えることにします。
質問に答えてくれた方々、どうもありがとうございました。

303:デフォルトの名無しさん
11/07/30 19:15:17.91
>>302
お前全然意味分かってないだろw
goto使うなっつってるのにwww

304:デフォルトの名無しさん
11/07/30 21:35:00.05
repeatをgotoに変えるんだろ

repeat使うなら

*main
mes b
b++
repeat
stick a
if (a&16):break
wait 1
loop
goto *main
こんな感じ

if (a&16) にしたのはa=16じゃスペース以外も押されてるとtrueにならない

後stickやgetkey命令は先行入力が効かないみたいだから
wait 10だとポンと押して離すとwait中に入力終わっててキー検出できない


305:デフォルトの名無しさん
11/07/31 00:37:56.73
まじgoto廃止しろよ・・・

306:デフォルトの名無しさん
11/07/31 08:48:47.01
>>305
goto廃止したら、for、whileといったマクロも使えなくなるぞ。
んなことより、goto使うとおかしくなるrepeatを無くせよ。

307:デフォルトの名無しさん
11/07/31 08:59:42.10
基本的な文法くらい素でサポートしろよなw
今更だが、マクロで拡張するという考えがまずかった

308:272
11/07/31 10:12:26.83
>>304
ありがとうございます。この問題は解決できました。
でもrepeat文の使い方がまずい文が他にもたくさんあって、
今の自分の力では、もう手がつけられなくなっちゃいました・・・

309:デフォルトの名無しさん
11/07/31 13:46:04.08
即席でギャグとして作ってみたw
#undef repeat
#undef loop
#undef break
#undef continue
#undef cnt
#define repeat(%1=-1,%2=0) %trepeat %i=0%c%s1%s2 *%i%c cnt=%p3+%2%c if (%p3>=(%p2)) & ((%p2)>=0):goto *%i%i0%c
#define loop %trepeat *%o%c%p4++%c goto *%p1%c*%o%o0%o0%o0%o0
#define break %trepeat goto *%p1%c
#define _continue_ cnt+1
#define continue(%1=_continue_) %trepeat %p5=%1-%p3:goto *%p2%c

これならネストの問題もなく動くでしょ

310:デフォルトの名無しさん
11/07/31 22:52:04.34
これが速攻で組めるとは…
俺もまだまだだな

311:デフォルトの名無しさん
11/08/01 10:47:46.22
cだなc

312:デフォルトの名無しさん
11/08/04 23:24:27.01
>>309
C厨乙

313:デフォルトの名無しさん
11/08/07 06:14:20.55
ちょっとお聞きしたいのですが、HSPってもしかして本来飛ばすはずの次の処理とか結構読んじゃったりする?

ってスレ流し読みした感じだともしかしてgoto使ってるのがわるいのか
処理順でもバグってるのかこれ・・・

314:デフォルトの名無しさん
11/08/07 06:16:46.71
sageてしまったのでage



315:デフォルトの名無しさん
11/08/07 10:58:54.01
>>313
そういうバグは聞いたことないよ。

316:デフォルトの名無しさん
11/08/07 12:13:23.94
短絡評価はもともと無いよ

317:デフォルトの名無しさん
11/08/07 12:28:59.86
自分の思うように動かないと
処理系のバグだと考える
実に初心者スレにふさわしいレス

…みんな一度は通る道だよね

318:デフォルトの名無しさん
11/08/07 12:31:20.36
俺も幼稚園の頃はそうだったわ

319:デフォルトの名無しさん
11/08/07 12:49:55.33
swbreak?

320:デフォルトの名無しさん
11/08/07 15:10:28.83
>>315
ありませんか・・・すいません。
間違いようがない処理のはずなんですがなぜかバグる。

色々略してますが
if flag = 0{
 処理
 flag =1
}
程度の物なのになぜかflagが1の時にも処理が実行されてしまいます

321:デフォルトの名無しさん
11/08/07 15:15:02.94
>>320
実行可能で現象が再現する最小のソースを用意してくれ

322:デフォルトの名無しさん
11/08/07 15:17:07.95
flag が local で宣言されてるとかじゃね?
local は毎度初期化されるから

323:デフォルトの名無しさん
11/08/07 15:41:58.82
タイプミスとか
いや、笑いごとでなくて

324:デフォルトの名無しさん
11/08/07 15:44:22.11
ちょっともう一度最低限に削ってテストとタイプミスチェックしてみます
だめならコード張ってみます

325:デフォルトの名無しさん
11/08/07 15:47:49.85
randomize
flag = rnd(2); 0=白,1=黒
dim arr,8,8; 8x8の二次元配列
i = 0: j = 0: xx = 0: yy = 0;
;配列を0で初期化
repeat 8
repeat 8
arr(i,j) = 0
j+=1
loop
i+=1
j=0
loop
;配列を0で初期化終了
arr(3,3) = 1: arr(4,4) = 1;白駒配置
arr(4,3) = 2: arr(3,4) = 2;黒駒配置
*game
redraw 2
cls 0

326:デフォルトの名無しさん
11/08/07 15:49:37.76
i = 0: j = 0: x = 20: y = 20
repeat 8
repeat 8
pos x,y
mes arr(i,j)
y+=50: j+=1
loop
x+=50: y=20: i+=1: j=0
loop
if xx!="":pos 420,100:mes xx
if yy!="":pos 470,100:mes yy
if flag = 0: pos 450,50: mes "白のターンです"
if flag = 1: pos 450,50: mes "黒のターンです"
redraw 1
onclick goto *click_wait
stop


327:デフォルトの名無しさん
11/08/07 15:51:04.94
*click_wait
xx = mousex
yy = mousey
i = 0: j = 0
while(i<=8)
while(j<=8)
if xx > (j*50) & xx < ((j+1)*50) & yy > (i*50) & yy < ((i+1)*50){
if arr(i,j) = 0{
arr(j,i) = flag + 1
if flag = 0 {
flag = 1
}else{
flag = 0
}
}
}
j+=1
wend
i+=1: j=0
wend
goto *game

328:デフォルトの名無しさん
11/08/07 15:53:23.68
実際にバグるというのは、なぜか普通にクリックする分には0→1or2に変わればそれ以上変わらないのですが、
ダブルクリックや高速でクリックしまくると1→2→1→...と切り替わってしまったりするんです


329:デフォルトの名無しさん
11/08/07 16:19:55.31
クリックしたときに押下状態を更新する。
メインループでその状態を見るって感じでいいかと。

330:デフォルトの名無しさん
11/08/07 16:29:15.03
>>328
> if arr(i,j) = 0{
> arr(j,i) = flag + 1
ダブルクリックとか関係なく
この部分 i,j と j,i の順序が変わってるからじゃね?

331:デフォルトの名無しさん
11/08/07 16:32:07.39
>>330
うわ・・・馬鹿すぎるorz

すいません、その処理のほうのjとiを入れ替えた後、その条件式のiとjを入れ替え忘れていました
本当にご迷惑をおかけしてすみませんでした ありがとうございました

332:デフォルトの名無しさん
11/08/07 19:24:24.02
なんかほのぼのした

333:デフォルトの名無しさん
11/08/07 21:54:12.63
まあ解決してなにより

334:デフォルトの名無しさん
11/08/08 00:11:49.09
HSPなんかやるよりもC#で書いた方が余程マシじゃね?
HSPなんか何にも良いことないじゃん。

335:デフォルトの名無しさん
11/08/08 05:46:53.52
ああ、そうだね

336:デフォルトの名無しさん
11/08/08 06:15:26.92
言語仕様や開発環境でHSPが勝てる点は一切無いだろうね
でもC#は非ネイティブという致命的欠陥がある

337:デフォルトの名無しさん
11/08/08 06:27:41.45
HSPはエディタが前触れも無く異常終了するのが難点

338:デフォルトの名無しさん
11/08/08 09:30:39.71
HSPだって非ネイティブじゃないの?

339:デフォルトの名無しさん
11/08/08 10:58:07.33
ワロス

340:デフォルトの名無しさん
11/08/08 11:04:01.41
>>337
3.3rc1にしなよ
エディタもバージョンアップしてるから

341:デフォルトの名無しさん
11/08/08 11:07:15.82
たしかに公式掲示板の質問でそれやるならHSP使わない方が
はるかに楽だろうというのはよくあるけどな

342:デフォルトの名無しさん
11/08/08 14:17:39.27
module 内で初めて実行されたかどうかのフラグを使いたいんだけど下の使い方でいいの?
今のチェックをすり抜けてるだけで実際には未初期化の変数使ってるから後のバージョンでエラーにされる?

#cmpopt varinit 1
#module test_module

#deffunc dummy ; varinit 1 のエラー回避用
is_initialized=0
return

#deffunc run_once ; この関数が一回だけ呼ばれるようにしたい
if is_initialized : return ; varinit 1 のとき関数 dummy を消すとここでエラーになる
mes "initialize"
is_initialized=1
return

#deffunc hoge
run_once
mes "hoge"
return

#deffunc huga
run_once
mes "huga"
return

#global

hoge
huga
hoge

343:デフォルトの名無しさん
11/08/08 15:38:29.50
>>342
考え方は○ですが dummy を一度呼んでおきましょう

#global
dummy

hoge
huga
hoge

344:デフォルトの名無しさん
11/08/08 17:12:45.19
入門書では教えてないような命令を多く使ってるのね。
これで初心者って、みんなすごいね!

345:デフォルトの名無しさん
11/08/08 18:18:18.30
>>344
いろんな命令を使ってみるといいよ
慣れてきたら使わずに書くほうが難しくなるよ

module とか使わずにプログラム書ける人すげーって思うもん

346:デフォルトの名無しさん
11/08/08 18:25:11.29
こんなのは #deffunc 使わないとかえって難しい

; ハノイの塔を解くプログラム
hanoi 4, "A", "B", "C"
stop

#deffunc hanoi int disc, str from, str to, str free
if disc<=0 : return
hanoi disc-1, from, free, to
mes strf("disc %d : from %s to %s", disc, from, to)
hanoi disc-1, free, to, from
return

347:デフォルトの名無しさん
11/08/08 18:30:59.68
>>334
C#なんかやるよりもC++で書いた方が余程マシじゃね?
C#なんか何にも良い事ないじゃん。

348:デフォルトの名無しさん
11/08/08 19:17:51.01
じゃあC++やればいいじゃんw

349:デフォルトの名無しさん
11/08/08 19:40:49.09
そういえば、5年位前にネットで7行くらいのテトリスみたことあったけど
HSPだと何行くらいかかるんだろうな

350:デフォルトの名無しさん
11/08/08 19:51:26.35
テトリスならHSPの弱点が影響しにくいから
他言語とそんなに違いは出ないかと

351:デフォルトの名無しさん
11/08/08 20:32:56.90
>>343
ありがとうございます
一度 dummy を呼ぶようにします


352:デフォルトの名無しさん
11/08/09 00:55:26.99
>>350
ソース解説なんぞいくらでも転がってるからがんばれは移植できそうだよな

時間掛かりそうだなあ・・・

353:デフォルトの名無しさん
11/08/09 13:49:24.88
>>351
moduleを別ファイルにしてるなら
そっちにdummyを追加な
includeすれば実行されるし

354:デフォルトの名無しさん
11/08/09 22:41:43.14
おれを無視するなよ・・・

355:デフォルトの名無しさん
11/08/09 23:31:30.40
>>354
どのレスがお前やねん・・・

356:デフォルトの名無しさん
11/08/10 01:59:30.98
夏休みどすな

357:デフォルトの名無しさん
11/08/12 12:20:49.69
ですねw

358:デフォルトの名無しさん
11/08/13 13:28:39.67
盆休み保守

359:デフォルトの名無しさん
11/08/13 15:02:21.99
なんでか、盆休みのほうがかきこみすくないね

360:デフォルトの名無しさん
11/08/13 15:07:31.62
embed_grotate ver1.9
URLリンク(simasuzu.web.fc2.com)

#cmpopt varinit 1 に対応したよ
ファイルサイズが小さくなったよ

361:デフォルトの名無しさん
11/08/13 16:46:45.36
>>360
おつかれさん
機会があったら使ってみるよ

362:デフォルトの名無しさん
11/08/16 12:35:27.48
>>359
不思議だよね

363:デフォルトの名無しさん
11/08/16 15:27:53.61
オッサン達は帰省やら家庭のことでむしろ忙しいのかもしれぬ。
コンテストの投稿者みてたら、キャリア5年前後の10代が多いようだ。
ベーシック(HSP)は、オッサンホイホイだと思っていただけに以外だった。

364:デフォルトの名無しさん
11/08/16 19:47:40.19
コンテスト期間の後半を待ってみ
オッサンがいっぱい来るから

365:デフォルトの名無しさん
11/08/16 19:49:09.87
>>363
おっさんならまず「BASIC」でググるような気がする・・・
そして互換BASICに流れる気がする・・・

366:デフォルトの名無しさん
11/08/17 01:57:22.71
見た目はあんまりBASICっぽくないよな
泥臭さはBASICより酷いが

367:デフォルトの名無しさん
11/08/17 21:17:14.69
セーブがうまいことできないけど
やりようによっちゃ普通のRPGみたいにできるもんだね

368:デフォルトの名無しさん
11/08/17 22:04:43.55
notesaveとかbsave使えよ

369:デフォルトの名無しさん
11/08/17 23:34:27.09
そこはvsaveだろ


370:デフォルトの名無しさん
11/08/18 01:23:49.10
vsaveっていう命令もあったのか。標準命令じゃなかったので知らなかった。
便利そうだから今度使ってみる。サンクス。

371:デフォルトの名無しさん
11/08/18 09:28:14.82
皆さんは、モニタの画面解像度をどのくらいにしてますでしょうか?
自分は、1027x768が丁度いいと思っているのですが、昔のHSP製のゲームの場合
ウィンドウが小さくなってしまって遊びづらい物も数多くあります。
(とはいえ、画面の解像度をいちいち800x600に変更したくはありませんよね?)
これからゲームを作る場合、スクリーンのサイズをなるべく大きなものにして
32x32で描いていたキャラクターを倍にしたほうがよいのでしょうか?
あともう一つ気になったのですが、さらに高解像度にしたところ画像が歪んで見えました。
(アイコンが横長だったり、縦長になったりなんとなく比率が違うように感じました。)
将来的には、どの解像度を基準にしてプログラムを作ったらよいのでしょうか?

372:デフォルトの名無しさん
11/08/18 11:09:00.44
>>371
幾つかのウィンドウサイズに変更可能にしておいてユーザに選ばせるのが一番楽

373:668
11/08/18 16:28:13.44
自分がユーザーなら>>372

374:デフォルトの名無しさん
11/08/18 17:59:18.41
668ってなに?

375:デフォルトの名無しさん
11/08/19 11:14:34.31
コンテストスレで使ったコテの消し忘れだな

376:デフォルトの名無しさん
11/08/21 14:46:28.40
へえ

377:デフォルトの名無しさん
11/08/21 22:11:52.15
test

378:デフォルトの名無しさん
11/08/22 17:35:57.59
mes "test"

379:デフォルトの名無しさん
11/08/22 21:55:14.26
test

380:デフォルトの名無しさん
11/08/22 22:51:41.51
そろそろsageる事くらい覚えたらどうかね

381:デフォルトの名無しさん
11/08/22 23:47:02.10
>>342 は dummy をユーザーが呼び出す可能性を考えると

is_initialized@test_module = 0
;~~~~~~~~~~~~~↑↓別ファイル(でなくてもいいけど)
#cmpopt varinit 1
#module test_module

とする方がより安全かなと今思った

382:デフォルトの名無しさん
11/08/25 16:25:30.48
 

383:デフォルトの名無しさん
11/08/25 23:53:38.83
>>382
それは、全角スペースが原因です。

384:デフォルトの名無しさん
11/08/26 13:35:53.91
復活!

385:デフォルトの名無しさん
11/08/28 21:58:03.04
へえ

386: 忍法帖【Lv=2,xxxP】
11/08/28 22:04:50.85
mes "test"

387:デフォルトの名無しさん
11/08/29 09:37:46.58
>>386
テストはこっちでやって

[TEST] 書きこみテスト 専用スレッド 38 [確認]
スレリンク(software板)

388:デフォルトの名無しさん
11/08/29 10:01:15.46
テストって何のためにやってるの?

389:デフォルトの名無しさん
11/08/29 20:20:17.20
勉強した内容を理解してるかの確認のためじゃね?

390:デフォルトの名無しさん
11/08/31 07:39:47.68
     _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
         .______________  __
         |韓国はなぜ反日か?            | |検索|←をクリック!!

391:デフォルトの名無しさん
11/08/31 22:03:52.33
今HSPでメトロノーム作ってるんだけど、音の間隔が安定しなくて
全然使い物にならない・・・

392:デフォルトの名無しさん
11/08/31 22:22:45.26
wait とか await だけだとバラつくよ

393:デフォルトの名無しさん
11/08/31 22:30:20.55
await使ってる
他になんか間隔あけれる命令ある?

394:デフォルトの名無しさん
11/08/31 22:56:57.49
>>388
勉強的な理由→勉強できたかの確認
プログラミング的な理由→バグの洗い出し&改良点の確認

395:デフォルトの名無しさん
11/08/31 22:59:46.02
>>393
いっそ
#uselib "winmm.dll"
#cfunc global timer "timeGetTime"
みたいにしてtimer()で時間を取り出して、
現在時間-開始時間がなんとかミリ秒の整数倍なら云々といったルーチンはどうだい?
内部で間隔を開ける発想のawaitとかと違って正確にリズムを刻める
音ゲーづくりにも役立つと思う

396:デフォルトの名無しさん
11/09/01 00:04:20.15
>>393
×あけれる
○あけられる

397:393
11/09/01 01:25:34.42
>>396
ごめんなさい
ぼくがまちがってました・・・

398:デフォルトの名無しさん
11/09/01 05:00:13.14
    _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
         ______________  __
         |韓国はなぜ反日か?         .| |検索|←をクリック!!

399:デフォルトの名無しさん
11/09/01 07:58:54.14
そんなのいちいち指摘しなくてもいい気がするけどね

400:デフォルトの名無しさん
11/09/01 14:29:24.06
イライラ迷路を作ってるけど、あたり判定をする命令が書けないorz

401:デフォルトの名無しさん
11/09/01 14:56:59.68
>>400
当たり判定用の buffer を作って
pget すればおk

402:デフォルトの名無しさん
11/09/01 15:43:29.46
>>400
キー操作でマウス動かせるソフトでズルできないようにすればももっと完璧だな

403:デフォルトの名無しさん
11/09/01 20:08:36.96
>>393
WM_TIMERを使うとか?
正確とは言い難いけどなw

404:デフォルトの名無しさん
11/09/01 22:12:56.66
返信してくれた方ありがとうございます

>>395
鳴ボタン押した時間取得して、
それから設定時間経過したら音を鳴らすってことですよね?
で、次は音鳴らした瞬間の時間から設定時間まで
の繰り返しってことですよね?

>>396
申し訳ない

>>403
なるべく精度高めたいからなぁ…
参考にしてみます


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch