ズブの初心者がゲーム作れるまで勉強するスレ

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
【参加資格】
ズブの初心者以外お断りです。

なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
2名無しさん@お腹いっぱい。:01/11/07 20:28 ID:???
ズブです。特に質問はないです。また来ます。
3名無しさん@お腹いっぱい。:01/11/07 20:28 ID:???
ズブ2号です。おやすみなさい。
4名無しさん@お腹いっぱい。:01/11/07 20:32 ID:bEnmjzL7
まずはHSPでいいからゲーム一個作れ>ズブ初
5名無しさん@お腹いっぱい。:01/11/07 20:33 ID:???
正直、ここ重複スレだから何とかしろ。

●初心者歓迎 スレを立てる前にここで質問を
http://game.2ch.net/test/read.cgi/gamedev/1005038203/
6名無しさん@お腹いっぱい。:01/11/07 20:34 ID:ClGYxpg6
とりあえずコンパイラをダウンロードしてゲームを打ち込みたいと思うのですが
何か初心者にお勧めなソースはありませんか?
7名無しさん@お腹いっぱい。:01/11/07 20:37 ID:3UOikNmf
テトリス作れ
8名無しさん@お腹いっぱい。:01/11/07 20:41 ID:???
ダウンロードして入門ページ見た。
いきなりわからないことがある。
mesとprintの違いってなに?
9名無しさん@お腹いっぱい。:01/11/07 20:43 ID:mfMymfYH
>>6
そのコンパイラとは?
それが分からないとソースは探せないよ。
10名無しさん@お腹いっぱい。:01/11/07 20:45 ID:BmDeF3mo
ここを見習え。ブロック崩しはゲームづくりの基本がびっしりだ。
http://pc.2ch.net/test/read.cgi/tech/1004855513/
11名無しさん@お腹いっぱい。:01/11/07 20:46 ID:mfMymfYH
>>8
HSP?だったら同じらしいよ、2つとも。
でもみんなmes命令を使うしサンプルなんかもprint命令使ってるもの
は見たことないからmesでやってみれば?
12名無しさん@お腹いっぱい。:01/11/07 20:48 ID:???
>>1-9
とりあえず、こっちでやってくれんか。な。
http://game.2ch.net/test/read.cgi/gamedev/1005038203/
13名無しさん@お腹いっぱい。:01/11/07 20:53 ID:ClGYxpg6
>>9
ボーランド社のデルファイです.
>>12
失礼しました。これを最後にします。
14名無しさん@お腹いっぱい。:01/11/07 20:56 ID:???
>>1

自分で削除依頼出すか?それとも俺が出そうか?
15名無しさん@お腹いっぱい。:01/11/07 20:57 ID:???
mesで"を表示するにはどうするの?
16名無しさん@お腹いっぱい。:01/11/07 20:58 ID:???
>>14
ほっときゃ下がる。とりあえず>>12のスレをあげろ。
17名無しさん@お腹いっぱい。:01/11/07 20:58 ID:???
18名無しさん@お腹いっぱい。:01/11/07 21:05 ID:???
htmlをかじった程度の俺でもデルファイで格ゲー作れるようになるには最低何時間かかる?
19名無しさん@お腹いっぱい。:01/11/07 21:07 ID:???
20続く:01/11/07 21:20 ID:???
; 茂名娘GP
screen 0,640,480,16
objsize 200
mes"2ちゃんねるゲーム"
mes"正しいレスを返さないとあぼーんされますよ"
mes"問題"
mes"逝ってよし"
button "オマエモナー", *q1ok
button "(;´Д`)", *gameover
button "(=゚ω゚)ノぃぃょぅ", *gameover
stop
*q1ok
mes" ビクッ ∧ ∧ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes"  Σ(゚Д゚;≡;゚д゚) < 所詮、削除されるまでの命さ"
mes"    ./ つ つ    \_________________"
mes"   〜(_⌒ヽ ドキドキ "
mes"  .ブッ ω)ノ `Jззз"
mes""
mes"嵐じゃないのよ嵐じゃ"
stop
end
21続き:01/11/07 21:21 ID:???
*gameover
mes"/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes"| 削除以来出てますけど。"
mes"\ "
mes"   ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes"   ∧_∧       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes"  ( ・∀・)  ∧ ∧ < こ、これくらいいいじゃねーか。"
mes" (  ⊃ )  (゚Д゚;)  \____________"
mes" ̄ ̄ ̄ ̄ ̄ (つ 1つ"
mes" ̄ ̄ ̄日∇ ̄\ | BIBLO |\"
mes"        ̄ =======  \"
mes""
mes"スレは大切にね!!"
stop
22名無しさん@お腹いっぱい。:01/11/07 21:25 ID:???
>>20-21=22
>>4に反応してつくってみました。
とりあえず>>12のQ&Aに貼ると迷惑な気がしてこっちに貼ったけどそれも違うような。
うーん、どうしよう。ソースを貼るスレも趣旨が違うようだし困ったぞ。
23名無しさん@お腹いっぱい。:01/11/07 21:29 ID:???
>>20,21
あのー・・・
それ実行したら分かると思うけど"\n"が無いと
全部の行が画面端まで横並びに表示されるよ。
マニュアル読んで出直してきな。
ってかネタか・・・
24名無しさん@お腹いっぱい。:01/11/07 21:33 ID:???
>>23
???
HSPで動作確認してからUPしてます。
つか確かにマニュアルはしっかり読んでないけど変な動きした?
25名無しさん@お腹いっぱい。:01/11/07 22:17 ID:???
Ruby以外は全てクソ。
26名無しさん@お腹いっぱい。:01/11/07 22:17 ID:???
>23
所詮はHSPなんて初心者用の言語。
改行なんて自動でやってくれるんだとさ。
27名無しさん@お腹いっぱい。:01/11/07 22:24 ID:???
Ruby >>>>>>>>>>> HSP
2823:01/11/07 22:24 ID:???
>>26
あ、そうなんだ・・・thx
厨房言語に憶測レスしたのが間違いだったか・・・
改行も入れずに命令文ズラズラ並べるなんて
微笑ましい光景だね。HSPらしいよ。うん。
29名無しさん@お腹いっぱい。:01/11/07 22:29 ID:???
程度の低い言語だな。
Rubyマンセー
30名無しさん@お腹いっぱい。:01/11/07 22:31 ID:???
>>28
あなたも昔はやってたクセにぃ?
N88?Hu?
改行したくない時は;つけなきゃ逝けないよ(;´Д`)
31名無しさん@お腹いっぱい。:01/11/07 22:41 ID:???
>>26
Javaにもprintln()という自動で改行をつけてくれるメソッドがありますので、
Javaもやっぱ、初心者用の言語なんですね。
つか、RubyRubyとうるさい奴が居るので、言うが、
Rubyにもputs()という自動で改行してくれメソッドがありますので、
これまた、Rubyも初心者用の言語なんですね。
32名無しさん@お腹いっぱい。:01/11/07 22:55 ID:???
MES" | | |"
MES"ー十ー十ー十ー"
MES" | | |"
MES"ー十ー十ー十ー"
MES" | | |"
次は3目並べをつくってみます。
33名無しさん@お腹いっぱい。:01/11/07 22:56 ID:???
>>28
ソースコード上で別行なのに
出力したら繋がってるなんて
(広義の)インターフェースとしてクソ

いちいち"\n"入れないと改行しないなんて
プログラマに負担掛けるだけの非効率仕様

そんなんで「俺は文字列を自在に操っている!」
とかホザいてたら痛すぎ
3432:01/11/07 22:56 ID:???
と思ったけどマウスがどこクリックしたかわかる命令が無いじゃん。
ジョイパッドとかに対応させるべきかな。
35名無しさん@お腹いっぱい。:01/11/07 23:36 ID:???
;途中経過。コマ置けるようにした。
pos 100, 100: button "A1", *a1
pos 180, 100: button "A2", *a2
pos 260, 100: button "A3", *a3
pos 100, 180: button "b1", *b1
pos 180, 180: button "b2", *b2
pos 260, 180: button "b3", *b3
pos 100, 260: button "c1", *c1
pos 180, 260: button "c2", *c2
pos 260, 260: button "c3", *c3
line 170, 60, 170, 320
line 250, 60, 250, 320
line 60, 170, 380, 170
line 60, 250, 380, 250

stop
*a1
boxf 60, 60, 170, 170
goto *check
*a2
boxf 170, 60, 250, 170
goto *check
*a3
boxf 250, 60, 380, 170
goto *check
*b1
boxf 60, 170, 170, 250
goto *check
*b2
boxf 170, 170, 250, 250
goto *check
*b3
boxf 250, 170, 380, 250
goto *check
*c1
boxf 60, 250, 170, 380
goto *check
*c2
boxf 170, 250, 250, 380
goto *check
*c3
boxf 250, 250, 380, 380
stop

*check
stop
36名無しさん@お腹いっぱい。:01/11/08 00:11 ID:???
;すでにコマ置いてるところにコマを置けなくした。
;配列変数を覚えた。
;次は勝ち判定をつけようとおもう。

pos 100, 100: button "A1", *a1
pos 180, 100: button "A2", *a2
pos 260, 100: button "A3", *a3
pos 100, 180: button "b1", *b1
pos 180, 180: button "b2", *b2
pos 260, 180: button "b3", *b3
pos 100, 260: button "c1", *c1
pos 180, 260: button "c2", *c2
pos 260, 260: button "c3", *c3
line 170, 60, 170, 320
line 250, 60, 250, 320
line 60, 170, 380, 170
line 60, 250, 380, 250
dim ban,4,4
player=2
goto *check
37続き:01/11/08 00:11 ID:???
*a1
if ban.1.1>0: goto *pass
ban.1.1=player
boxf 60, 60, 170, 170
goto *check
*a2
if ban.1.2>0: goto *pass
ban.1.2=player
boxf 170, 60, 250, 170
goto *check
*a3
if ban.1.3>0: goto *pass
ban.1.3=player
boxf 250, 60, 380, 170
goto *check
*b1
if ban.2.1>0: goto *pass
ban.2.1=player
boxf 60, 170, 170, 250
goto *check
*b2
if ban.2.2>0: goto *pass
ban.2.2=player
boxf 170, 170, 250, 250
goto *check
*b3
if ban.2.3>0: goto *pass
ban.2.3=player
boxf 250, 170, 380, 250
goto *check
*c1
if ban.3.1>0: goto *pass
ban.3.1=player
boxf 60, 250, 170, 380
goto *check
*c2
if ban.3.2>0: goto *pass
ban.3.2=player
boxf 170, 250, 250, 380
goto *check
*c3
if ban.3.3>0: goto *pass
ban.3.3=player
boxf 250, 250, 380, 380
stop

*check
player=3-player
boxf 100,20, 400, 40
color player*100, player*100, player*100

pos 100, 20: mes"player"+player+"の番です。"
*pass
stop
38名無しさん@お腹いっぱい。:01/11/08 00:22 ID:Qeo8WtK2
>32
・マウスの位置
マウスのクリックを監視→システム変数(mousex,mousey)を参照で可能です
・ジョイパッド
プラグインで可能ですよ〜
39名無しさん@お腹いっぱい。:01/11/08 00:42 ID:???
>>38
ありがとうございますm(__)m
実はボタンぺたぺたでつくってました。
これで見栄え良くできそう。

プラグイン使うとココに貼り付けてるやつだけで動かないんでどうしようか思案中
あ、こんなのコピペでやってくれる人はDLぐらいしてくれるか。
よし!使います。
使い方調べなきゃ(^^;
う、その前に3目並べにジョイパットはやりにくかなぁ。

とりあえず遊べるようにしてから悩もう。
ありがとうございました。
40名無しさん@お腹いっぱい。:01/11/08 02:58 ID:???
;はじめからつくりなおしてみました。
;すると、あらビックリ!!ひとつ前のよりだいぶすっきりしました。
;見栄えもだいぶ良くなったし、ひとまず完成!!
;HSPをダウンロードして約7時間ほどでした。早っ!!
次はなにつくろうかなぁ。
今日は眠たくなったので寝ます。おやすみなさい。
;3moku2.as
screen 0, 384, 384

*restart
dim ban,3,3
dim col,2,3
cls

line 0, 128, 384, 128
line 0, 256, 384, 256
line 128, 0, 128, 384
line 256, 0, 256, 384

*keywait
getkey k, 1
if k=1: goto *lclick
wait 1
goto *keywait

*lclick
x=mousex/128
y=mousey/128
if ban.x.y > 0: goto *keywait
ban.x.y=player+1
boxf x*128, y*128, x*128+127, y*128+127

repeat 3
if (ban.0.cnt + ban.1.cnt + ban.2.cnt) = ((player+1)*3): goto *win
loop
repeat 3
if (ban.cnt.0 + ban.cnt.1 + ban.cnt.2) = ((player+1)*3): goto *win
loop
if (ban.0.0 + ban.1.1 + ban.2.2) = ((player+1)*3): goto *win
if (ban.0.2 + ban.1.1 + ban.2.0) = ((player+1)*3): goto *win
if (ban.0.0 + ban.1.0 + ban.2.0 + ban.0.1 + ban.1.1 + ban.2.1 + ban.0.2 + ban.1.2 + ban.2.2) = 21: goto *draw
player=3-player
color player*255, 0, 0
goto *keywait

*win
mesa="Player"
mesb=player/3+1
mesc="の勝利です。"
winmes = mesa+mesb+mesc
dialog winmes, 1
goto *restart

*draw
dialog "引き分けです。", 1
goto *restart
4140:01/11/08 03:02 ID:???
しまった
コメントのマーク(;←コレ)つけわすれてる行がある。
あぼーんしておこう。かちゅ〜しゃで。
こんどこそおやすみなさい。
42 :01/11/08 03:29 ID:???
>>33
なんかむかつく
43名無しさん@お腹いっぱい。:01/11/08 06:31 ID:???
>>42
Stringがなければ文字列つかえないようなヤツのこと気にすんなよ。
44名無しさん@お腹いっぱい。:01/11/08 16:52 ID:???
;コンピュータと対戦できるようにしました。
;3moku2.as
screen 0, 384, 384

*restart
player=0
dim ban,3,3
dim col,2,3

cls
line 0, 128, 384, 128
line 0, 256, 384, 256
line 128, 0, 128, 384
line 256, 0, 256, 384

*keywait
if player=3: goto *com
getkey k, 1
if k=1: goto *lclick
wait 1
goto *keywait

*lclick
x=mousex/128
y=mousey/128
if ban.x.y > 0: goto *keywait

*setkoma
ban.x.y=player+1
boxf x*128, y*128, x*128+127, y*128+127

repeat 3
if (ban.0.cnt + ban.1.cnt + ban.2.cnt) = ((player+1)*3): goto *win
if (ban.cnt.0 + ban.cnt.1 + ban.cnt.2) = ((player+1)*3): goto *win
loop
if (ban.0.0 + ban.1.1 + ban.2.2) = ((player+1)*3): goto *win
if (ban.0.2 + ban.1.1 + ban.2.0) = ((player+1)*3): goto *win
if (ban.0.0 + ban.1.0 + ban.2.0 + ban.0.1 + ban.1.1 + ban.2.1 + ban.0.2 + ban.1.2 + ban.2.2) = 21: goto *draw
player=3-player
color player*255, 0, 0
goto *keywait

*win
mestemp=player/3+1
winmes = "Player"+mestemp+"の勝利です。"
dialog winmes, 1
goto *restart

*draw
dialog "引き分けです。", 1
goto *restart

*com
rnd x, 3
rnd y, 3
await 1
if ban.x.y > 0: goto *com
goto *setkoma
45名無しさん@お腹いっぱい。:01/11/09 05:04 ID:???
;見た目で気になるところをちょっとだけ変えました。完成です。
;さて、次は連珠つくらなきゃ。
;3moku2.as
screen 0, 384, 384

*restart
player=0
dim ban,3,3
dim col,2,3

cls
line 0, 128, 384, 128
line 0, 256, 384, 256
line 128, 0, 128, 384
line 256, 0, 256, 384

*keywait
if player=3: goto *com
getkey k, 1
if k=1: goto *lclick
wait 1
goto *keywait

*lclick
x=mousex/128
y=mousey/128
if ban.x.y > 0: goto *keywait

*setkoma
ban.x.y=player+1
boxf x*128, y*128, x*128+127, y*128+127

repeat 3
if (ban.0.cnt + ban.1.cnt + ban.2.cnt) = ((player+1)*3): goto *win
if (ban.cnt.0 + ban.cnt.1 + ban.cnt.2) = ((player+1)*3): goto *win
loop
if (ban.0.0 + ban.1.1 + ban.2.2) = ((player+1)*3): goto *win
if (ban.0.2 + ban.1.1 + ban.2.0) = ((player+1)*3): goto *win
if (ban.0.0 + ban.1.0 + ban.2.0 + ban.0.1 + ban.1.1 + ban.2.1 + ban.0.2 + ban.1.2 + ban.2.2) = 21: goto *draw
player=3-player
color player*255, 0, 0
goto *keywait

*win
mestemp= player/3+1
winmes = "Player"+mestemp+"の勝利です。"
dialog winmes, 0
goto *restart

*draw
dialog "引き分けです。", 0
goto *restart

*com
rnd x, 3
rnd y, 3
await 1
if ban.x.y > 0: goto *com
goto *setkoma
46名無しさん@お腹いっぱい。:01/11/09 10:22 ID:???
>>42
反論できなければ「むかつく」ですか。ははは。

>>43
「cout << "message" << endl;」でも同じ事だろ。
あぁ、でもこの場合endlが\nと同じようなモンか・・・
要するに文字列をどうあつかうかで「高級言語<>厨房言語」とかいってるのが
オサムイねってことよ。
47名無しさん@お腹いっぱい。:01/11/09 15:37 ID:???
真性厨房のスレでいい大人が争ってるっていい絵になるね。
48名無しさん@お腹いっぱい。:01/11/14 20:24 ID:???
HSPってのは簡易命令が多めに入ってる。そん代わりできることが少なめ。これ。

HSPってのはできること減らした分で
きちんと開発の早さとか分かりやすさ優位に立ってる。
(外部DLLを使えば大概のことはできそうだが)
欠点増やした分でちゃんと利点を作ってるんだから
厨房言語ってことはないと思われ。
49名無しさん@お腹いっぱい。:01/11/15 02:26 ID:???
>>48
その厳選された命令がツカエネェって話だと思うが。
特に分岐やループがつかえないし簡単でもない。
50名無しさん@お腹いっぱい。:01/11/15 19:16 ID:N6GHtlAZ
>>46

言語の善し悪しなんてどうでもいいだろ。
俺だってBASICがなかったら、今の俺は無かったろうさ。

要はモノを作るってことをやり遂げられるかだろ?
その点32は頑張ってると思うぞ。

言語なんてのはその都度覚えていけばいいんだ。
開発環境が変われば言語も変わるんだし。

がんばれ! >>32
51名無しさん@お腹いっぱい。:01/11/15 19:23 ID:???
>>50
いい事いうねぇ。
言語の良し悪しをどうこういうヤツはメンドクサガリ屋なんだろ。
どんな事柄においてもね・・・。
52名無しさん@お腹いっぱい。:01/11/15 19:29 ID:N6GHtlAZ
>>52

本職だったしね。(^^;

#エロげーばっかだったが・・・(鬱
53名無しさん@お腹いっぱい。:01/11/15 20:11 ID:rfRVyC2P
というわけで、先日delphi落としたんですが、まずどうすれば良いでしょう?
メモ帳はなんとか作れましたが、ゲームは良くわからないっす
とりあえずbmpファイルはあるんで、それを画面に表示して動かしてみたいです
54名無しさん@お腹いっぱい。:01/11/15 21:32 ID:RRPopQgu
>>53
Imageコンポーネントをフォームにぺたっと貼って、
Pictureプロパティにイメージを読み込んで、
LeftプロパティやTopプロパティを操作します。
5553じゃないよ。:01/11/16 01:22 ID:nKarEaJd
>>54

delphiの事はよくわからんが、イメージはなんとなく分かるな。

デバイスコンテキストにbmp読み込んでクライアント領域に張り付けて
表示座標いじるようなもんか。
56名無しさん@お腹いっぱい。:01/11/16 01:41 ID:ZgDDdgZX
5753:01/11/16 04:49 ID:lU86qPrA
>>54
ぺたっとやったらできました
これをカーソルキーで表示位置を動かせるようにはできますか?

>>56
なるほど、ちなみに厚さはどれくらいですか?
58名無しさん@お腹いっぱい。:01/11/16 08:22 ID:P4w93E0K
>>57
コンポーネントのプロパティ凝視すればわかるよ。
top,leftいじってみ。
5953:01/11/16 08:37 ID:sMi8XlU9
>>58
マジすか?
プロパティだけで[→]キー押したら右に動くようにできます?

直感でフォームのイベントのOnKeyDownの所に名前入れてリターン押したらメッセージが出せるようになったんですが
上下左右のキーで画像の表示座標を変えたいんですよ
60名無しさん@お腹いっぱい。:01/11/16 09:45 ID:dc03umab
>>59
そこからかい(w
OnKeyDown でキーコード(引数key?)拾って、Image1.left++;みたいな。
61名無しさん@お腹いっぱい。:01/11/16 09:51 ID:QGZlYshc
>>59
こんな感じでどう?
かっこの中にいれるのは「仮想キーコード」でヘルプ探せばすぐでてくる。

procedure TForm1.Timer1Timer(Sender: TObject);
var
speed: integer;
begin
speed:=8;
if GetKeyState( VK_LEFT ) < 0 then image1.Left := image1.Left-speed;
if GetKeyState( VK_RIGHT ) < 0 then image1.Left := image1.Left+speed;
if GetKeyState( VK_UP ) < 0 then image1.top := image1.top-speed;
if GetKeyState( VK_DOWN ) < 0 then image1.top := image1.top+speed;
end;

end.
62:01/11/16 17:46 ID:???
timeGettimeってナニを返してるんですか?
是非受けたいんだすが。
63名無しさん@お腹いっぱい。:01/11/16 17:50 ID:gGtA8+lG
agu
64名無しさん@お腹いっぱい。:01/11/16 17:54 ID:???
>>62
Windowsが起動してからのミリ秒を4294967296で割った余り
65名無しさん@お腹いっぱい。:01/11/16 18:01 ID:???
>>64
ありがとっす。
ゲームで使うときどんな実装のし方していますか?
それともこれ使うのはマズイ?!
66名無しさん@お腹いっぱい。:01/11/16 19:16 ID:???
t1 = timeGetTime();
何らかの処理
t2 = timeGetTime();

t2 - t1 で、この処理に要したミリ秒がわかる
6753:01/11/16 21:52 ID:QAvUh6au
>>60-61
どうも、お二方
で、入力タイマーを適当にぺたっと貼って
61さんのを実行してみた所、最初一秒ごとにしか進まなかったのです
ので、ターマーのプロパティのIntervalを10にしてみたらスススーと行きました
が、このままだと結構ちらつくんですよね
なんとかしたい金曜日です
68名無しさん@お腹いっぱい。:01/11/16 21:58 ID:???
>>67
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.DoubleBuffered:=true;
end;

end.
6953:01/11/16 22:02 ID:QAvUh6au
>>68
[エラー] Unit1.pas(38): 未定義の識別子 : 'FormCreate'
ですって・・・
70名無しさん@お腹いっぱい。:01/11/16 22:04 ID:???
>>69
フォームをダブルクリックする。

form1.DoubleBuffered:=true;と入力。

ウマー

form1ってのはデフォルト名だが変更してればそれに変える。
7153:01/11/16 22:10 ID:QAvUh6au
>>70
成功です!チラつかないです!
画像の透明色はパレット番号で決まるんですか?
あとキャラの画像が↓みたいにつながってるbmpファイルで
この○の部分だけ表示して、○と◎の部分でアニメーションさせる事はできますか?
┌――┐
│○△│
│◎▲│
└――┘
72名無しさん@お腹いっぱい。:01/11/16 22:24 ID:???
imagelistが使えそうな予感
73名無しさん@お腹いっぱい。:01/11/16 22:34 ID:???
imagelistをダブルクリックしたらメニュー開く。
そこであらかじめ画像貼り付けとく。

imagelist1.GetBitmap(0, image1.Picture.Bitmap);
で0を1,2,3,4とか変える。
7453:01/11/16 22:45 ID:QAvUh6au
こんな感じすかね・・・?

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if GetKeyState( VK_LEFT ) < 0 then
begin
imagelist1.GetBitmap(1, image1.Picture.Bitmap);
end;
if GetKeyState( VK_RIGHT ) < 0 then
begin
imagelist1.GetBitmap(3, image1.Picture.Bitmap);
end;
if GetKeyState( VK_UP ) < 0 then
begin
imagelist1.GetBitmap(2, image1.Picture.Bitmap);
end;
if GetKeyState( VK_DOWN ) < 0 then
begin
imagelist1.GetBitmap(0, image1.Picture.Bitmap);
end;
Image1.Refresh;
end;
75名無しさん@お腹いっぱい。:01/11/16 22:53 ID:???
向上心のある初心者が多いね。大成するよ。
76名無しさん@お腹いっぱい。:01/11/16 22:57 ID:???
>>74
キャラクターのアニメーションはタイマーを別にしたほうがよくないかい?
7753:01/11/16 23:31 ID:QAvUh6au
いろいろと考えた結果、こうなりました。どうですか?
タイマー2のIntervalはとりあえず350にしました
で、キャラの移動なんですが、61の方法では失敗しました

var
 Form1: TForm1;
 ch,key,chtim : Integer;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if GetKeyState( VK_LEFT ) < 0 then key :=1;
 if GetKeyState( VK_RIGHT ) < 0 then key :=3;
 if GetKeyState( VK_UP ) < 0 then key :=2;
 if GetKeyState( VK_DOWN ) < 0 then key :=0;
 imagelist1.GetBitmap(ch, image1.Picture.Bitmap);
 Image1.Refresh;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
 if chtim=8 then chtim:=0
 else chtim:=8;
 ch := key+chtim;
end;
78名無しさん@お腹いっぱい。:01/11/17 00:55 ID:???
CUIのゲームじゃだめ?
79名無しさん@お腹いっぱい。:01/11/17 01:12 ID:???
>>78
このスレの主旨から言えばなら問題ないと思う。
80名無しさん@お腹いっぱい。:01/11/17 03:03 ID:???
>>77
失敗ってのはどんな風になった?
8153:01/11/17 03:39 ID:s4sRLZbo
>>80
キャラクターがパッと消えました
8253:01/11/17 04:28 ID:???
>>77の挙動がおかしかったので、ch := key+chtim;を移動させて
ch := key+chtim;
imagelist1.GetBitmap(ch, image1.Picture.Bitmap);
Image1.Refresh;
に修正しました

メインルーチンの位置は基本的にタイマーで良いんですかね?
あと、画像の背景が透過されてるので、画面にゴミが残ります
8353:01/11/17 04:32 ID:???
>>80
ごめんなさい
動きました
8453:01/11/17 06:53 ID:???
こんな風にしてみました
 ch := key+chtim;
 image1.canvas.brush.color:=RGB(128,255,0);
 image1.Canvas.FillRect(rect(0,0,image1.width,image1.height));
 imagelist1.GetBitmap(ch, image1.Picture.Bitmap);
 Image1.Refresh;
85名無しさん@お腹いっぱい。:01/11/17 21:10 ID:???
ところで完成したらなんになるの?
STG?ACT?それともRPGか?
8653:01/11/17 22:02 ID:???
RPGが良いなあ
8753:01/11/18 01:11 ID:zl0z4KJc
マップを規則的に並べてキャラを動かすってのはどうやれば良いんだろう?
ロマサガ1のイメージで
88C++初心:01/11/18 01:15 ID:???
>>84
なんの演算子かと思って調べちゃったYO!
Delでしたね。
89名無しさん@お腹いっぱい。:01/11/18 01:34 ID:???
RPGって結構大変だから、最初はブロック崩しやパックマンみたいな
昔のTVゲームを真似て作るのが良いよ。
90名無しさん@お腹いっぱい。:01/11/18 01:39 ID:???
RPGはプログラムよりデータ(シナリオ・画像とか)作成の方が大変と思われ
9153:01/11/18 02:01 ID:uY6igSYu
>>89
そうかもしれないです。ただパックマンもロマサガも
・マップを表示させてキャラクターを動かす
・敵キャラとの接触によってイベントを起こす
みたいな基本的な部分は一緒だと思うんですよ
だから今のレベルじゃパックマンも作れないっす

>>90
ドット絵は毎日コツコツ書き溜めてあります・・・
これをなんとか動かして使ってみたいですよ
92名無しさん@お腹いっぱい。:01/11/18 11:32 ID:???
RPGっていいかたまぎらわしい・・・
93名無しさん@お腹いっぱい。:01/11/18 13:22 ID:???
>>92
何とまぎれてるの?
ロケットランチャーなのか、それともAS/400とかのアレか…
94age:01/11/19 01:16 ID:???
age
95名無しさん@お腹いっぱい。:01/11/19 01:30 ID:???
RealProgrammer
96:01/11/19 01:34 ID:???
内容:
こんなんでよければ公開するよ〜 Cだよ〜
Cは Cmachine が超初心者専用、、現在フリーのBORLANDC++
やVBよりいいって言う人多いDERPHIもコンパイラとしてイケテルよ〜

作成に2時間ほどの宝探しゲームのソース↓ 昔のでしょぼいっス、、

#include<stdio.h>
#include<stdlib.h>
void main(){

int x,y,kawari,ki,rp=0,dora=60,tka,si=1,i,p,h=0,tokuten=0;
int tax[3],tay[3];
x=0;y=0;
97:01/11/19 01:35 ID:???
do{
do{
tax[1]=rand();tay[1]=rand();
tax[0]=(tax[1]+h)%10;tay[0]=(tay[1]*2*h)%10;
}while((x==tax[0])&&(y==tay[0]));
do{
do{

printf("進む方向を決めてくらさい。\n");
printf("1:↑\n");
printf("2:↓\n");
printf("3:←\n");
printf("4:→\n");

scanf("%d",&ki);
rewind(stdin);


switch(ki){

case 1:
kawari=y+1;
break;
case 2:
kawari=y-1;
break;
case 3:
kawari=x-1;
break;
case 4:
kawari=x+1;
break;
}
h++;
if(dora==0) break;
}while((kawari<0)||(kawari>9)||(ki>4)||(ki<1));



if((ki==1)||(ki==2)) y=kawari;
if((ki==3)||(ki==4)) x=kawari;

tax[2]=tax[0]-x;
tay[2]=tay[0]-y;
if(tax[2]<0) tax[2]=tax[2]*(-1);
if(tay[2]<0) tay[2]=tay[2]*(-1);
tka=tax[2]+tay[2];
///////////////////
for(i=10;i>-2;i--){
for(p=-1;p<11;p++){
98:01/11/19 01:38 ID:???
switch(i)
{
case -1:
if((p==-1)||(p==10)){
printf("|");
}else{
printf("_");
}
break;
case 0:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 1:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
99:01/11/19 01:39 ID:???
case 2:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 3:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 4:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
100:01/11/19 01:40 ID:???
case 5:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 6:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 7:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
101:01/11/19 01:41 ID:???
case 8:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 9:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 10:
if((p==-1)||(p==10)){
printf("|");
}else{
printf(" ̄");
}
break;

}
}
printf("\n");
}
102:01/11/19 01:42 ID:???
/////////////////
printf("現在地(%d,%d)\n",x,y);
if(tka!=0){
printf("タカラ(株)との距離は%dです\n",tka);
dora=dora-1;
printf("のこりのドラヤキは%d個です\n",dora);
}else{
printf("ドザエモンはドラヤキを手に入れた!\n");
dora=dora+5;
rp=1;
tokuten=tokuten+h;
}
if(dora==0) break;
}while(rp==0);
rp=0;
if(dora==0) break;
}while(si==1);
printf("ゲーム叔母ーです\n");
printf("\x1b[34m");
printf(" ___ \n");
printf("ドラヤキ%3d個うめぇ〜 (゚P゚)\n",tokuten);
printf(" 〇| |〇 \n");
printf(" 凸凸 \n");
printf("\x1b[37m");
scanf("%d",&si);
}
103:01/11/19 01:45 ID:???
スレよごしスマソ、、、
このソースプラス 、CコンパイラでDOSの宝探しゲームできます。
軽いCMACHINEだかはVECTORにあったかな、、
104名無しさん@お腹いっぱい。:01/11/19 01:48 ID:???
このスレの誰かのソースを修正してみた…とかじゃないから、
ソースを上げるスレッドの方が適当じゃないかな。もう遅いけど。
105大まかな流れだよ(一例):01/11/19 02:07 ID:???
>91
<グラフィックデータ編>
ドット絵は仮絵(かろうじて何の絵か分かるレベル)でOK。
プログラムがある程度形になってから、きちんと描いたやつに
差し替えよう。音楽・効果音も同様です。

<設計編>
実際のプログラミングにとりかかる前に、データ(マップ&イベント配置・
シナリオデータ・モンスター・魔法・アイテムetc)フォーマットは
曖昧にせず、きちんと決めておきましょう。
自機キャラのパラメータ要素はいろんな場面で必要になってくる
ので特に慎重に設計しましょう。

<データ入力編>
モンスター・魔法・アイテムのデータ入力は表計算ソフトを使うと楽です。
それをそのまま使うなり、独自形式にコンバートするなり。
マップ入力はマップエディタを使います。手間を考えると、専用エディタ
の自作をお勧めしますが、しんどければフリーソフトを探しましょう。
RPG用途だから、マップの配置だけでなく、上位何Bitかに自由に
数字を入れられるものがいいです(そこにイベントの配置を割り当てる)。
やっぱりそれをそのまま使うなり、独自形式にコンバートするなり。

<プログラム編>
マップ表示部分を心行くまで作ったら、メニュー処理・戦闘処理・
イベントや会話処理…etc、場面別に一つづつプログラムを組んでは、
マップ表示部分から呼び出せるようにしてあげます。
OPやEDやビジュアルシーンなど、演出を強化する部分は最後に作ります。

予想よりもずっとしんどい作業になると思います。頑張って下さい。
106名無しさん@お腹いっぱい。:01/11/19 13:47 ID:???
>>93

例えが渋いな・・・
ATMも対戦車ミサイルにしか見えない漏れ・・・

AS400か。去年までRPGでコード書いてたよ(藁
107名無しさん@お腹いっぱい。:01/11/20 04:31 ID:yODdoyPq
家庭用コンソールの場合は、アセンブラと線形代数できたら就職できるよ。
108名無しさん@お腹いっぱい。:01/11/20 04:49 ID:???
わけないじゃん。
109 :01/11/21 07:20 ID:???
>>23
ハァ?

テメェがマニュアル読んで出直して来い
110名無しさん@お腹いっぱい。:01/11/21 20:21 ID:???
2週間も経ってからレスすんな。
11153:01/11/29 01:52 ID:???
サイト回ってなんとなく解ってきたかも・・・
112名前は開発中のものです。:01/12/16 15:18 ID:0Fpf1AlI
113名前は開発中のものです。:01/12/17 00:28 ID:???
114名前は開発中のものです。:02/02/10 14:20 ID:???
あげ









115名前は開発中のものです。:02/02/13 00:06 ID:jlORD8b3
C言語でGBのプログラム作ってんだけど
%2dを受けつけてくれないのよ
数字を右寄せ表示するにはどしたらいいの?
116名前は開発中のものです。:02/02/13 03:05 ID:???
setw(2)
117名前は開発中のものです。:02/02/13 06:14 ID:???
>>109
もの凄ぇ亀レスだな、俺もだけど
118名前は開発中のものです。:02/02/13 09:24 ID:???
>>116
cout<<setw(2)<<x;かな?
<iomanip.h>をインクルードしなきゃいけないみたいだけど
インクルードできない


そもそもこんなヘッダ見たことない
119名前は開発中のものです。:02/03/23 22:24 ID:UKJQHvTc
>>1
糞スレ立てんなヴォケ
120名前は開発中のものです。:02/03/23 23:07 ID:hSR28MHk
>>109
正しいけどおそすぎるって。
121名前は開発中のものです。:02/03/28 11:50 ID:luhBBlnn
ズブズブの初心者がゲーム作れるまで勉強するスレ
122名前は開発中のものです。:02/03/28 14:44 ID:???
ガバガバの初心者が...(以下略)
123名前は開発中のものです。:02/03/28 15:54 ID:luhBBlnn
童貞がゲーム作れるまで勉強するスレ
124名前は開発中のものです。:02/04/22 15:57 ID:fVxmBSA2
>>120
>>119の間違いだよね!
125名前は開発中のものです。:02/04/23 23:06 ID:???
残念ながらおれは糞スレ大好きだ
126126:02/05/10 19:45 ID:OvKq4PFU
再利用カイーシ。

今から俺がゲーム作るまで勉強するのでおまえら見ててください。

目標:DirectX使って3Dゲー(迷路みたいの)
使える言語:Basic, Java, C, C++, いずれもちょっとずつ。

まずは、開発環境からだ!
DirectX SDKとBorland C++を落とすよ。
127126:02/05/10 19:55 ID:OvKq4PFU
Googleがダリっててびっくりしたよ。
はじめたばっかりで悪いけどダウソしながら飯食ってくるわ。
128名前は開発中のものです。:02/05/10 20:04 ID:???
>>127
グーグルワラタ
129126:02/05/10 22:20 ID:OvKq4PFU
おう。インストールはできたっぽい。次だが、
やっぱりHelloWorld系のことをやりたいのだが、まずどこを読むかだな。
MSDNをちょっとさわり読んでみたんだが、わけがわからなかった。簡単なサンプルを
眺めるほうがいいかな・・・

DirectX 8.0 日本語ドキュメントって別に落とさないといけないのかな。

>128
誰もカキコしてくれないかと思った。ありがとう。
130名前は開発中のものです。:02/05/10 23:37 ID:???
応援age
でももちょっと丁寧に喋ったほうがレスつくと思われ。
131名前は開発中のものです。:02/05/11 00:16 ID:???
俺も応援するけどさ、ゲームと関係ないところは極力省いてほしいな。
開発環境そろえてからすれ立ててほしかった。

>>130
同意

>>129
>DirectX 8.0 日本語ドキュメントって別に落とさないといけないのかな。
うん、別。
http://www.microsoft.com/downloads/release.asp?ReleaseID=26072&area=search&ordinal=2
132126:02/05/11 01:25 ID:???
>130
スマヌ。もうちょっと丁寧に書いてみます。

>131
激しく同意。話進まないもんね。
なるたけご迷惑はかけないようにヒソーリとするです。
#日本語ヘルプは落とせました

色々検索したりしてせめてコンパイルできる段階には整えてみる。
この辺だろうか。
http://homepage1.nifty.com/mcn/dev/bccgogo/index.htm
133名前は開発中のものです。:02/05/11 13:38 ID:???
俺は>>119=>>124です。
たま〜に糞レスしといてよかった。
がんばってね> 126
134名前は開発中のものです。:02/05/12 01:15 ID:???
ヘイ!
俺もずぶの素人だけど、俺の考えをちょっときいてくれ!
キャラクターとかの描画処理のしかたなんだけどさ、こんな感じの構造体はどうだろ?

struct CHARACTER
{
int map_x;
int map_y;
int dis_x;
int dis_y;

int anime_pic;
int anime_max;
float anime_index;
float anime_speed;

int *anime;

int visible;
}
上四つはそのまま、マップ位置と、画面の描画位置ね。
*animeに動的に確保したメモリの先頭アドレスを渡して、
anime_indexが、何コマ目かを保持する。
アニメのコマ数はファイルからanime_maxに読み込んで、
これが確保するメモリの大きさを決定する。
anime_speedはそのままアニメーションのスピード。
1フリップ中、何コマ進むかを指定する。
anime_picは、画像からどの位置を原点にして読み込むかを入れる。
135126:02/05/12 22:12 ID:???
うん? 今行列計算の手前のベクトル計算を復習してるんだが、
u=[3,4,0], v=[1,0,0] とすると、内積の式から

cosθ=(u・v)/(|u||v|)==3/5 になるが、何かおかしいな。明らかに間違えてる気がする。

何か混乱してきたので恥をしのんでレス。もういちど自分でも考え直そう。
136126:02/05/12 22:18 ID:???
おかしくないよ(泣 3:4:5の三角形の角度は60°じゃないよ(泣
そんなことも忘れてる…ヤヴァ

つぅか余弦求める式すら失念してました。
首吊ってきます。
137名前は開発中のものです。:02/05/13 22:54 ID:???
ヲイ、プログラミングのプの字も知らない漏れがゲームを作るには
まず何をしたらいい?
138名前は開発中のものです。:02/05/13 23:38 ID:???
本当にゲームを作りたいのか考える
139名前は開発中のものです。:02/05/14 19:52 ID:???
その次に3年プログラミングを勉強する
その間にグラフィックと音楽も勉強する
そしてじっくり構想を練る
名づけて「ゲーム作成5ヶ年計画」
140126:02/05/14 22:37 ID:???
ポリゴンをぐるぐる回せるようになりました。次はテクスチャ。

>>137
漏れの例ですまないが、1年くらい勉強すれば「あれが目指す頂上だ」というのは見える、気がする。
しかし、山はすさまじく高く、目指す頂上ははるかにかすむ雲の上なことに気づく。
見えた途端気力が萎え5年くらい挫折。今に至る。
141名前は開発中のものです。:02/05/18 23:24 ID:Giz/a7t6
どんなときも〜♪
142名前は開発中のものです。:02/05/18 23:42 ID:???
おまえらすごいです!ヲレもズブでHSPやってるがサパーリ
143名前は開発中のものです。:02/05/19 00:55 ID:rJhBZc8k
>>126

どう?進んでる? 140のカキコ禿堂だよ
今やってるって事はdirectX8だよね?以前に比べて簡単?
俺directX5時代にD3Dの初期化で挫折したけど最近やる気が出てきたからさ・・・
144名前は開発中のものです。:02/05/19 05:13 ID:???
>D3Dの初期化で挫折
プ
145名前は開発中のものです。:02/05/19 05:24 ID:rJhBZc8k
>>144
だって意味わかんねーんだもん
146名前は開発中のものです。:02/05/19 13:01 ID:???
>>145
検索しる。又はM$のサンプルでも眺めててください。
http://google.yahoo.co.jp/bin/query?p=Direct3d+%bd%e9%b4%fc%b2%bd+%c6%fe%cc%e7&hc=0&hs=0
147名前は開発中のものです。:02/05/19 20:56 ID:PKjSaSw.
今日も講座サイトブクマクーしまくり。
いつになったらゲつくれるようになるのやらな。
148 :02/05/19 20:58 ID:bVrEC/Ks
???
なにをしていいのかわかりません
最初に何やったらいいですか?
149名前は開発中のものです。:02/05/19 21:05 ID:???
ゲームでもやっとけ
150名前は開発中のものです。:02/05/19 21:08 ID:14D6m/7M
>>148
どんなゲームを作りたいかのイメージを作るのが大事だと思う。。。

それから、
1.C覚えて(リアルタイム処理のゲーム作るなら
C++は使わないほうがいいと思うな。。。)
2.WindowsのAPI覚えて(本屋で売ってるWindowsプログラミング入門見たいな本で
MFC覚えると、後で大変な事になりますw)
3.DX8覚える。

暇な人なら1年もあればケッコー形にはなると思いますよ。
151 :02/05/19 21:11 ID:bVrEC/Ks
>>150
ぅぅっ仕事があるので土日ぐらいしか暇が(以下略

信長の野望みたいなゲームが作って見たいです
152名前は開発中のものです。:02/05/19 23:27 ID:???
>>148
>リアルタイム処理のゲーム作るならC++は使わないほうがいいと思うな
なして?
153名前は開発中のものです。:02/05/20 02:11 ID:???
たぶんCオヤジでしょう。
154名前は開発中のものです。:02/05/20 03:35 ID:???
MFC覚えると大変なことになるってなんだーYO
MFCを覚えるのに費やした時間の大部分は無駄になるけど

1 Doc-View(MVC)の考え方
2 悪い設計と実装
3 便利なソケットクラス
4 基本的なUIの設計

が分かるようになるぞ。
155126:02/05/20 08:44 ID:iujKHjG6
>>143
ビデオカード買ったんだけど、ここ一週間ゲームばっかりやっててしまいました。
一応プログラマの目で見ながらやってるつもりなんだけど…
初期化は簡単でしたーよ。少なくともMSの真似してる限りは。

そろそろ再開しよう。物体をユーザが好き勝手に回すのって実は大変なのかな。
クォータニオンってナンだろう。

>>154
俺はscribbleを何回いじくってもわけがわからなかったのでMFCは半挫折しました。
MFCの正体がもっと早くわかっていればなあと思う。
「SDKに代わる画期的な」とかの煽りを信じ込んでたし(その時2chがあれば…)
今見るとわかる。APIが顔出すんだよね。SetWindowLongとか。
156名前は開発中のものです。:02/06/04 14:03 ID:GmOTHIoY
>>1
で、結局>>1はゲーム作ったのか?
ちょっと見せろ。
157通りすがりのズブの初心者:02/06/04 22:36 ID:A11NeAUw
かまいたちの夜(またはときめもORバロシン)のような、
選択式シュミレーション(ノベル?)ゲームって、
どうやって作るのですか?
フリーソフトで、そういうの作れるやつあるんですか?

本気で初心者なのですが、大まかにで良いのでどなたか教えて下さい。
158通りすがりのズブの初心者:02/06/04 22:45 ID:???
……って、このスレに出てた「HSP」で検索かけてみたら、
これでも出来るのですね。
自分で調べることもせず書き込んでしまい、本当に申し訳ありませんでした。
159名前は開発中のものです。:02/06/04 23:30 ID:???
1はスレたて屋だよ
160名前は開発中のものです。:02/06/04 23:31 ID:???
>>157
NScripter、吉里吉里、コミックメーカー、DNML etc...
161名前は開発中のものです。:02/06/04 23:58 ID:YimKkdU.
162名前は開発中のものです。:02/06/05 00:04 ID:???
>>161 「フリーソフトで作れるゲーム」からの誤爆だな。
163161:02/06/05 00:06 ID:???
誤爆スマソ
164名前は開発中のものです。:02/08/17 20:45 ID:E+5tyHaP
Delphi使ってゲーム作ってやろうと考えてる厨房です。
ただメモ帳ぐらいしか形になったものができません。
これからゲームの方も作っていきたいと思ってます。

で、マリオみたいなゲームから作ろうかと思うんですが、
あのジャンプってどうやって作ればいいんでしょうか?
Imageで画像貼り付けて、ボタン押したらその画像を山なりに動かすヤツです。
サパーリわかりません。誰かご享受頂けないですか?
165名前は開発中のものです。:02/08/17 21:07 ID:dTYDhk5t
パパだってママの母乳が飲みたいんだよ、トローリ初乳チュパチュパ画像
http://jbbs.shitaraba.com/computer/bbs/read.cgi?BBS=2784&KEY=1029503890&LAST=100

166名前は開発中のものです。:02/08/18 01:11 ID:???
>>164
表示はImageList、ボタンはGetAsyncKeyState
山なりにしたきゃ移動する量を増減しとけ
面倒なら糞っぽくsinカーブだ

重力加速度 ゲーム でGoogleで検索したらそれらしいのでるじゃねーかよヴォケ
167名前は開発中のものです。:02/08/18 16:54 ID:pXa4T0r0
聖剣伝説のようなアクションRPGを作りたいんですけど、コボルの知識しかないんです。
cをかじってvisualc++5を昔買ったんですけど、ソフト自体使いこなせませんでした。
ちょっとづつちょっとづつ作りたいんですけど、どうしよう?
168名前は開発中のものです。:02/08/18 17:23 ID:???
COBOLERならJavaを勉強するのが良い
JB Personalでも落としてきなさい
169マジレスしちゃった:02/08/18 23:13 ID:???
>>164
ゲーム製作初心者なら……
とりあえず最初に、ジャンプもスクロールも無い、
迷路で動き回るゲームを作るべし。

プレイヤーの動きの処理とか、壁の有無の処理とか、
作ってから考えたほうがいーぞ。
いきなりマリオじゃ、崩れるって。
170名前は開発中のものです。:02/08/19 17:28 ID:???
マリオマンなんですけど
171名前は開発中のものです。:02/08/20 12:31 ID:Ndzqs1xo
>>169
いや、数当てゲームから作るべきだろ。
ズブの素人には迷路ゲームすら敷居が高い。
172名前は開発中のものです。:02/08/20 16:41 ID:???
>>171
同意

まずは数当てゲームで、ループと条件判断を理解するのが先。
173名前は開発中のものです。:02/08/20 22:17 ID:???
ゲームじゃないところで理解してるんですが。
174名前は開発中のものです。:02/08/22 14:59 ID:4xp7IqpG
フルカラー(32bit)画面のフェードイン、フェードアウトってどーやれば
いいんでしょう。パレットが使えるならそのカラーテーブルを除算して
いくだけで済むんですがねぇ。

試しに元画面のピクセル輝度値を一個一個除算して別バッファに保存、
ちゅー 640*480回の割り算やってみたらスゲェ遅くて使い物になりませんですた。
175名前は開発中のものです。:02/08/22 15:10 ID:???
>>174
まぁ〜100万回近くも計算してたらそら重かろう
176名前は開発中のものです。:02/08/22 15:36 ID:???
引き算にしろ
177名前は開発中のものです。:02/08/22 19:04 ID:H4cbyZTA
思うんだけどさー
プログラム初心者に「これをやれ」とかいうのってなんかダメな気がする。

力量に応じたものを作れってことは分かるんだけど、
初心者の時って自分の力量を自分で理解して、
できる範囲内でできうるものでかつ、何か自分だけのアイデアだしてやるほうが
次へとつながる力になると思うんだけど。(やってみると範囲を少し越えてたというのもいい)
178名前は開発中のものです。:02/08/22 23:36 ID:???
じゃああんたはそうすれば?
179164:02/08/23 10:18 ID:???
とりあえず「DelphiでWindowsゲームを作ろう!」を購入してきますた。

まずは熟読&ソース写す辺りから始めることにします
180けん:02/08/23 15:58 ID:dh8dR5UR
すみません、ズブの初心者なのですが、何から作ったほうがいいですかね?
言語はVBしか分からないのですが・・
上に書いてあるとおり数当てゲームから作ったほうがいいですかね?
181名前は開発中のものです。:02/08/23 16:05 ID:???
VBはよくわからないし、君がどこまでできるのか分からない。
その上どういったゲームを作りたいのか分からないとなんともいえないけど…。
182けん:02/08/23 16:07 ID:dh8dR5UR
>>180
ゲームを作りたいのではなくて、あくまでもスキルアップしたいということで・・・
183名前は開発中のものです。:02/08/23 16:15 ID:???
それなら当初は数字当てでいいんじゃない?
とりあえずヒット&ブローなんてどう?
計算機が用意した数字を人が当てるところまで作れば基礎はできるよ。
184けん:02/08/23 16:24 ID:dh8dR5UR
http://www.antun.net/game/hit/
この様なゲームでしょうか?
185名前は開発中のものです。:02/08/23 16:28 ID:???
そうそう、そういうやつ。
186けん:02/08/23 16:34 ID:dh8dR5UR
やってきます
187名前は開発中のものです。:02/08/23 16:40 ID:???
がんばれ。
一通り完成したら、次は自分が興味が持てた部分を拡張してごらん。

プレイヤーが当てるということ自体に興味をもてたら
履歴やグラフといったヒント表示に凝って手書きのメモを要らなくする。
あるいは計算機に簡単な思考ルーチンを搭載して対戦できるようにする。
(実は賢くするのはなかなか難しいが…。)
インターフェイスを工夫してみる。
当てる数字の桁を可変にして難易度調整ができるようにする。

飽きるまで拡張を繰り返せばそれなりに遊べるものができるよ。
188けん:02/08/23 17:11 ID:dh8dR5UR
これって正解の数に0XXとか00Xってありえるんですか?
189名前は開発中のものです。:02/08/23 17:13 ID:???
答えから先に書くと、ありえます。
つまり、入力を「数字」として受け取ろうとした場合は
ちょっとだけ工夫が必要ということです。
190名前は開発中のものです。:02/08/23 17:17 ID:???
あ、もう一つ追加。
オリジナルのヒット&ブローでは、
正解の数字は、「同じ数字が2回出現しない」ことになっています。
0216、9156、1234などの数字は普通に答えになりますが、
2052(2が2回出現している)、4655(5が2回出現している)は
答えにはならないということです。
もちろんオリジナルのルールなので変更しても構いません。

また、プレイヤーが入力する数字をどこまで許すかはプログラマ次第です。
191けん:02/08/23 17:21 ID:dh8dR5UR
ありがとうございます
>2052(2が2回出現している)、4655(5が2回出現している)は
のところにはまったく気づきませんでした
改めてがんばってきます
192けん:02/08/23 19:33 ID:dh8dR5UR
193名前は開発中のものです。:02/08/23 20:06 ID:???
あ、偉いなぁ〜。
どうだった? 簡単だった?
拡張したい? それとも他の分野をやりたい?
194けん:02/08/23 20:42 ID:dh8dR5UR
意外と難しかったです
ほかの分野にしたいです
195名前は開発中のものです。:02/08/23 20:51 ID:???
exeじゃ怖くてダウソできんばい。
196名前は開発中のものです。:02/08/23 20:52 ID:???
そっかぁ。でも堅牢さを感じさせるなかなか良い出来だったよ。
ん〜、じゃあ次はグラフィックの使い方ということで
神経衰弱なんてどう?

あ、そうそう、やるんだったら個人的に私から一つ注文つけさせて。
「カードを整然と並べないこと」。
他の子の作ったものを見てるとカードが整然と並んでて気持ち悪くて…。
バラバラに並べる方法はお任せします。
私だったらバラバラになるように場所を決め打ちしてしまうか、
乱数を使ってバラバラに置くものを作りますが…。
197ano//:02/08/23 20:56 ID:8yLgJfYw
>>150
APIだけでプログラムしようとしたら余計に大変なことになるような・・
あまり賢い人のとる方法とは思えません。
C++でMFC使わないとVC++使ってる意味が全くありませんよ。
198名前は開発中のものです。:02/08/23 20:59 ID:???
スキル上げるんだったらソースごとみせた方がよいべさ
199けん:02/08/23 21:05 ID:dh8dR5UR
>>195
安全です
>>196
神経衰弱ですかーがんばります
>>198
ここに直接載せていいんですかね?
でもVBですしソース汚くてはずかしいんです
200名前は開発中のものです。:02/08/23 21:06 ID:???
どっかにソースを晒すスレがあったべ
201名前は開発中のものです。:02/08/23 21:07 ID:???
ソースを上げるスレッド
http://game.2ch.net/test/read.cgi/gamedev/1005038280/
202けん:02/08/23 21:22 ID:dh8dR5UR
http://ken-japan.gotdns.com/hb.txt
に上げました、めちゃくちゃなソースですが勘弁してください
203名前は開発中のものです。:02/08/23 21:26 ID:???
ゲ製作技術@2ch板専用あぷろだ
http://forgamedev.zombie.jp/uploader/up1/
204名前は開発中のものです。:02/08/23 21:28 ID:???
>197
Windowsプログラミングを覚えず即DirectX覚えてもらうつもりなのでは?
Windowsプログラミングしないつもりなら必ずしもMFC覚える必要ないよ。
#そういうのはBCB使ってます。
DX8使うためにVC++使うのもありだと思います。
#両方買うと高つくけどね・・・
205名前は開発中のものです。:02/08/26 09:55 ID:???
なんか応援したくなる人だ。
206名前は開発中のものです。:02/09/29 14:02 ID:???
CやC++の基本だけ出来るようになった人は、
やね氏とかのDirectXライブラリで取りあえず形にするのも1つの手?
207アキヒト ◆rs645sLqh2 :02/11/03 03:56 ID:???
とりあえずCもC++も大体使えるようになったんだが
SDKのほうがむずいんですよね・・・

なんで画像ひとつ表示するのにあんなにすること多いんだとか

http://www.kumei.ne.jp/c_lang/
猫見てるがいまいちわからん・・・もう年か。

ライブラリ使うと本当に簡単に作れるんだが
どうなんだろうなぁ
208名前は開発中のものです。:02/11/18 17:05 ID:???
コントロールつくってたらわかってきたけど
209名前は開発中のものです。:02/11/27 01:57 ID:93eDrZze
もっといろんな話が聞きたいage
210名前は開発中のものです。:02/11/27 02:03 ID:CYDP0b9U
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
211名前は開発中のものです。:02/11/27 02:59 ID:/ggb77kh
>>197
ゲームプログラムの力を上げている時は逆にMFCの勉強に時間をとられるよりも
実際にゲームのコードを書きまくったほうがいいと思う
プロを目指しているんだったらもちろん不要
とはいえMFCの作りとかプログラマとしては勉強になるわな

>>207
猫とかみて自分でライブラリをつくっていっては?
理解できたとこはもちろん理解不十分でも
実際に動かしてみると意外と簡単だったりする
SDKはただ記述する量が多いだけで実際はお約束の塊だからね

>猫見てるがいまいちわからん・・・もう年か。
自分はある程度年逝ってからプログラムはじめたから気持ちわかる…
若いうちにやっとけばもっと楽だったのになーとか(藁
212名前は開発中のものです。:02/11/27 04:41 ID:YNe506i4
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
213名前は開発中のものです。:02/11/27 05:33 ID:hCN74peA
VC++とEasy Link Libraryっていうライブラリ使って
アクションゲームを作りたいのですが、
詰まったところを質問してもいいでしょうか?
214名前は開発中のものです。:02/11/27 06:12 ID:/PCAVEfp
そんな質問するならさっさと本題質問しろ
215213:02/11/27 07:18 ID:hCN74peA
>>214
では。

http://forgamedev.zombie.jp/uploader/up1/img/061.txt
http://forgamedev.zombie.jp/uploader/up1/img/062.txt

HyoujiHaikeiという関数ですが、061のように3つに分けると
正常に動くのですが、062のように一つにまとめると動きません。
違うところは引数しかないはずなのですが、なぜでしょうか?

あと、↑キーを押すとキャラをジャンプさせるようにもしたいのですが
これも動かないので、よかったらそちらもよろしくお願いします。
216名前は開発中のものです。:02/11/27 08:29 ID:xVsrJAk0
            o
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無事に  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /   モララーより      /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
217独り言:02/11/27 19:03 ID:PKAmZtFr
最近Cとかのリファレンス的なものばかり読んでたから
気分転換にHSPとかでゲーム作ってみよっと
218名前は開発中のものです。:02/11/27 19:19 ID:vufY8nV5
λ......         λ......       λ......
  λ......            λ......
 λ......      λ......
        λ......                  λ......
    λ......             λ......
                λ......
 λ......       λ......          λ...... このスレ、終了だって カエロッカ…
219独り言:02/11/28 11:29 ID:DPm/T1UL
HPS最高!!
220名前は開発中のものです。:02/11/28 16:18 ID:fMiowBwq
  _n
 ( l    _、_
  \ \ ( <_,` )
   ヽ___ ̄ ̄  )   GOOD END!!
     /    /
221名前は開発中のものです。:02/12/05 22:07 ID:36pDm152
マリオカートの2P対戦とかで、相手(2P)のドット絵を
こちら(1P)の視点に合わせてドット絵の向きを切り替えるには
どうすればいいのん?
222名前は開発中のものです。:02/12/05 23:14 ID:8ZIjJMW9
自分(カメラ)の角度を、2Pの角度に足せば良いかと。
ラジアンでもなんでも。
んで、そいつを用意した向きのパターンで割ったので割る(ヤヤコシ…)
前後左右の絵があればラジアンなら90で割る、と。
223名前は開発中のものです。:02/12/06 00:56 ID:JdMbn7h4
ラジアンを90で割ったらえらいことになりそうだ
224名前は開発中のものです。:02/12/06 02:01 ID:EUKMicrJ
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□■□□□□□□□□□■□□□□□□□□□□□□□□□■□□
□□□□■□□□□□□□□□■□□□□□□□□□■□□□□□■□□
□□■■■■■■□■□□■■■■□■■■■□□□■□□□□□■□□
□□□□■□□□□□■□□□■□■□□□□■□□■□□□□□■□□
□□□□■□□□□□□□□□■■□□□□□□■□■□□□□□■□□
□□□■■■■■■□□□□■■□□□□□□□■□■□■□□□■□□
□□■□■□□□□■□□□■■□□□□□□□■□■■□□□□■□□
□■□□■□□□□□■□■□■□□□□□□■□□□□□□□□■□□
□■□□■□□□□□■□■□■□□□□□□■□□□□□□□□■□□
□■□□■□□□□□■□□□■□□□□□■□□□□□□□□■□□□
□□■■□□□■■■□□□□■□□□■■□□□□□□■■■□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

        /) (\
        | |∧| |         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       /∂ФДФ)      < 長らくのご声援ありやとやんした!!!!
      ||||||||||||||| 雷|||||___  \_________
    ※※※|  V |____テ
   ※※\ |==/
   ※※\〇|  |
 ※※(___)__)
225名前は開発中のものです。:02/12/06 12:29 ID:ZRXXstsW
>>224
        /) (\
        | |∧| |         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       /∂ФДФ)      < 長らくのご声援ありやとやんした!!!!
      ||||||||||||||| 雷|||||___  \_________
    ※※※|  V |____テ
   ※※\ |==/
   ※※\〇|  |
 ※※(___)__)

↑こいつかっこいい
226222:02/12/07 01:57 ID:Do1LLX5j
>223
あれ…なんだっけ…
とにかく一週が360度のやつ…スマソ(´Д`;)
227名前は開発中のものです。:02/12/10 11:11 ID:gBlzGrOn
             /ヽ       /ヽ
            / ヽ      / ヽ
  ______ /U ヽ___/  ヽ
  | ____ /   U    :::::::::::U:\
  | |       /○     ○   ::::::::::::::|
  | | このスレ | ├──┤    U :::::::::::::| オワッチャッタ・・・
  | |   終了い..|U |   |      ::::::U::::|
  | | ありがと ..|  └―┘ U.....:::::::::::::::::::/
  | |____ ヽ     .....:::::::::::::::::::::::<
  └___/ ̄ ̄      :::::::::::::::::::::::::|
  |\    |           :::::::::::::::::::::::|
  \ \  \___      ::::::         〜 終 了 〜
228名前は開発中のものです。:02/12/11 08:29 ID:4B0/2BCo
度数法(六十分法)ですな
229名前は開発中のものです。:02/12/11 09:10 ID:j69l7STj
========大感動!愛と涙と友情の最終レス========

     〜未だかつてこれほどまでに感動的な
             最終レスがあっただろうか?〜

 ★このスレッドを読んだ人達の声★
「何気なく開いたこのスレッドとの出会いから、
 新しい自分の可能性を信じようと思った。」(27歳、フリーター、女)
「感動した!勇気が湧いてきた!人生観が変わった!
 自分にも何かやれそうな気がした!」(24歳、会社員、男)
「落ち込んでる時にこのスレッドを見つけ、
 期待しないで読んだが、読んで涙が出た。」(21歳、学生、女)


これほどまでにみなさんに愛されてきたこのスレッドですが、
残念ながら、このレスで終了となってしまいました。
でも悲しまないでください。
このスレッドはいつまでも
あなたの心の中で生き続けているのですから…
230名前は開発中のものです。:03/05/12 23:49 ID:XewRwL3b
231名前は開発中のものです。:03/11/26 07:12 ID:Yw4jxn/j
テス
232名前は開発中のものです。:04/01/10 11:09 ID:ENNgku1J
age
233名前は開発中のものです。:04/01/21 16:32 ID:BODtSELp
当たり判定が出来ませぬ(泣
iアプリでシューティングゲーム作ってるのですが、
自キャラが24*24で敵が12*12の場合、
どういうルーチンになるのでしょうか?

自キャラ、x,y
敵キャラ、ex、ey
の変数です。
234名前は開発中のものです。:04/01/21 19:24 ID:Lni3+kqz
>>233
大きさのデータを持つのが良いと思います。
javaわかんないのでCでかきますが、

int sxj=8; /* 自機x幅の半分 */
int syj=8; /* 自機y幅の半分 */
int sxe=6; /* 敵x幅の半分 */
int sye=6; /* 敵y幅の半分 */
if ( (x+sxj)>=(ex-sxe) && (x-sxj)<=(ex+sxe) && (y+syj)>=(ey-sye) && (x-syj)<=(ex+sye) )
{
/* あたり処理 */
}

とか。
円同士の判定にしたりなど方法は色々あります。
がんばれー。
235名前は開発中のものです。:04/01/23 07:42 ID:918ymA03
>>234
>if ( (x+sxj)>=(ex-sxe) && (x-sxj)<=(ex+sxe) && (y+syj)>=(ey-sye) && (x-syj)<=(ex+sye) )
これどういうこと?
思った通りに動かないですが……
236名前は開発中のものです。:04/01/23 11:56 ID:1U2cSSBw
左辺・右辺、上底・下底をそれぞれ比較。
左辺より右辺が大きく、下底より上底が大きければ接触。
矩形の四辺の位置関係を調べてるだけ。

式は検証してないけど。

というか、自分がどういう判定をとりたいか頭の中で解析すれ。
四角同士なんて人に聞かなくても図にかいて考えれば解るでしょ。
小学生くらいならしょうがないけどさ。

と徹夜明けで眠いのなか逆切れしてみました。
まじで考える力を身につけてください。
237名前は開発中のものです。:04/01/23 12:27 ID:918ymA03
>>236
一番最後の
>(x-syj)<=(ex+sye)
この条件の意味は何?
238名前は開発中のものです。:04/01/23 13:40 ID:1U2cSSBw
コピペミス。
というか、図でかいて考えてみてくれ。
何と何を比較して、どの条件がそろったときに接触となるかを考えてコーディングしてくれって。

if ( (x+sxj)>=(ex-sxe) && (x-sxj)<=(ex+sxe) && (y+syj)>=(ey-sye) && (y-syj)<=(ey+sye) )
{
]

正しくはこう。
239名前は開発中のものです。:04/01/23 19:32 ID:CDrIG5aE
>>238
嘘教えておいてその態度は何だ!
しかも最後は}だろ!細かい事だろと言うなら構わんが
240名前は開発中のものです。:04/01/24 00:00 ID:V6anYAvY
悪かったよ。まじで。
でも、考えれば分かることだと思うんだが。
間違ってかいたのはすまなかったけど、この程度の極当たり前に
使われている判定くらい考えれないとゲームなんぞ作れないと思うが。
一番簡単で原始的なあたり判定だぞ。
241名前は開発中のものです。:04/01/24 00:21 ID:oMHA4IKY
>>239 このぐらいはいいんじゃないスか?? というか、この程度の事だったら HSPとかのゲームサイト行くといいスよ。 簡単なんで必要な考え方がすぐわかるし。 というかちゃんといろんなスクリプト見て 勉強してればわかってるはずですよ。
242凡_寸 ◆eU3/hitQL2 :04/01/24 00:34 ID:81eJaH2c
座標ってやっぱり、キャラの中心で持っておくのが普通?
というのは俺は左上の座標そのままで持つことが多いから。
すぐ相互に変換できるのだが、この例見てたらやっぱり中心で持っておいた方が自然な気がしてきた。
243名前は開発中のものです。:04/01/24 00:40 ID:AZKTxeHm
オレはキャラごとに中心座標を設定してるよ。
244名前は開発中のものです。:04/01/24 15:43 ID:V6anYAvY
表示用とオフセット1つと、
判定用のオフセットを配列で数個もって、一つの判定だと不自然になる場合のフォロー。
とか。
245名前は開発中のものです。:04/01/25 02:21 ID:p1I3qhx4
HSPってpenIII500でWin98SEでも大丈夫っすかね(´・ω・`)
246名前は開発中のものです。:04/01/25 16:56 ID:Muw0/s4A
そんだけあれば十分
247名前は開発中のものです。:04/01/27 16:49 ID:RmwZgkGj
C++で
炎や水しぶきなどのパーティクルのやり方がよくわからないんですが
どのようにしたらいいんでしょうか?
248名前は開発中のものです。:04/01/27 17:22 ID:zjWcizaP
使用言語の問題ではないと思うんだけど。
パーティクル以外、ビルボードやモデルは表示できる?
249名前は開発中のものです。:04/01/27 18:08 ID:RmwZgkGj
ごめんなさい…
本当に初心者なもんで…
ビルボードやモデルというのがわかりません…
250名前は開発中のものです。:04/01/27 19:56 ID:zjWcizaP
「英語の文法教えて!ところでアルファベットってなに?」
みたいな感じですな。
DirectX 講座 とかで検索して基本的なところからしっかりやった方が良いと思います。
水や炎はフェイクにせよシミュレートにせよ難易度が高いと思うので、
まずは用語や基礎からドウゾー。
251名前は開発中のものです。:04/01/27 21:11 ID:7x9u9V4u
Cでシューティング作ろうと思ってるんですが、
マップ(BG)スクロールとか敵出現ってどうやったらいいんですか?
252名前は開発中のものです。:04/01/27 22:15 ID:SRn/E90g
WINAPIを1から学んでシューつくんのって無謀でしょうか
253名前は開発中のものです。:04/01/27 22:21 ID:RmwZgkGj
>>250
勉強しなおしてきます
ご指導ありがとうございました!!
254名前は開発中のものです。:04/01/27 22:35 ID:3NcSPmrW
>>251
「ゲーム ビットマップ スクロール」とかでぐぐってみな。
255名前は開発中のものです。:04/01/28 08:05 ID:Q/c0Z8xc
>>252
WINAPIは必要?
256名前は開発中のものです。:04/01/28 17:32 ID:f43Jmpgo
環境が整わなくて…。 DirectX使おうにも本買うにはお金がないし ダウンロードには回線遅いしで
257名前は開発中のものです。:04/01/28 18:26 ID:Q/c0Z8xc
>>256
開発環境……は?
言語はわかるの?
もしかしてグラフィクスやサウンドなどのリソースを使うのにWINAPIを使うということ?
相当の知識があれば問題ないけど、1からってならやめておいたほうがいいと思うよ。
グラフィクスを描画するにも、簡単じゃないし。

実行環境と好みの問題があるけど、まさにズブの初心者ならJAVAで試しにやってみるといい。
イメージを描画するのも、
IMAGE img = g.getImage("image.gif");
g.drawImage(img, x, y);
こんな感じで出来たはず…。
画像の知識とかハードウェアの知識とかないなら、こっちは激しく簡単でイイと思うよ。
サウンドもこんな感じで出来た気がするし。

実行環境の問題で速度とか満足できないけど、1から学んで作るってのならこっちのほうが早く作れていいんでないかな?
258名前は開発中のものです。:04/01/28 19:06 ID:cUUxla/0
>>256
DirectXよりは簡単ではないかと思うのだがどうか
259名前は開発中のものです。:04/01/28 19:48 ID:/PK3qi7G
>>257
そうですか・・・。
ちなみに開発環境はBorland C/C++をBccDevで使ってます。
知識は生半可なんで・・・そうですね、javaも考えてみます。
>>258
DirectXの場合はEL.hを使うなどの手段があるのでそれほど困難ではないと思われます。。

260名前は開発中のものです。:04/01/28 20:07 ID:PqofyoTN
人の作ったライブラリ使うなら、DirectXである必要なんかねーだろう
261名前は開発中のものです。:04/01/28 20:17 ID:f43Jmpgo
そーいやそーかも
262名前は開発中のものです。:04/01/28 22:44 ID:AEsTA2RV
>>256

3DやるんでなければDirectXは不要だよ。
BCBなら、Win32APIで通常のWindowsアプリとして作ればよい。
DirectXではなくDIBやDIBSectionを中心とした描画システムでも十分ゲームは作れるし、そうやって作った経験はDirectXでも役に立つ(というか、先にDIBベースでウインドウやメモリ上のピクセルの操作に習熟しておくと、DirectXで作るのもぐんと楽になる)。
263名前は開発中のものです。:04/01/28 23:49 ID:NHMF/MaT
いきなりシェーダまで行くならともかくいまさらピクセル処理はいらなさげ。
264名前は開発中のものです。:04/01/30 03:20 ID:skb3rLGp
なんか、作ってるうちに
その場その場で適当に作るせいですごくごちゃごちゃしちゃうんだよ。
こういう場合はなにを勉強したらいいのかな。
265名前は開発中のものです。:04/01/30 05:01 ID:CxoCD6l+
「超整理法」とか
266名前は開発中のものです。:04/01/30 15:52 ID:JB9gE/bP
>>262 ありがとうございます。 早速取り組んでみます。。
267名前は開発中のものです。:04/01/30 22:36 ID:6yC1pPDZ
>>264
「メモ」のとり方。
268名前は開発中のものです。:04/01/31 01:04 ID:O4JnobK+
>>264
SE関係の設計の本
269名前は開発中のものです。:04/01/31 19:05 ID:ClGldXhi
>>256
当方ISDNですが、DirectXSDKは気合で落としてます。
270名前は開発中のものです。:04/02/01 12:58 ID:kirDs/YS
>>269 あなた"残り28時間"なんて表示されて待てますか。 私は無理です。 そんなに暇ではないし、ほっとくにしても他の作業が落ち着いてできないので大変な障害になります。 それに、あなたは「1日中電話を使うな」と言うんですか。
271名前は開発中のものです。:04/02/01 13:09 ID:WSmyTBhx
>>270
工夫しる。
ネットカフェは使えない?
学生さんなら学校のPCは?
本は高くとも、例えば雑誌のおまけなんかは?
友人にブロードバンド回線を使っている人はいない?
試してないことは一つも残ってない?
272名前は開発中のものです。:04/02/01 14:04 ID:kirDs/YS
というか、前のレスを見ればわかる通り、DirectXはもう必要ないんですけど。 ちなみに、友人はシロートばかり、学校はそんなことをさせてくれないしCDも焼けないし、ネットカフェなんて近くにないです。 雑誌?? 金がないことは先に述べました。
273名前は開発中のものです。:04/02/01 14:09 ID:BE2pVZMt
小中学生か
274名前は開発中のものです。:04/02/01 14:22 ID:kirDs/YS
中高生です
275名前は開発中のものです。:04/02/01 14:46 ID:G99NjoUS
高校生か。
友人はシロートばかりって・・・。

蒸し返すようで悪いけど、DirectXの方がいいと思うけどね。
お金も環境もないなら厳しいのは確かだけど。
28時間とでても、ダウンロードソフトが使えるなら落とした方がいい。
276名前は開発中のものです。:04/02/01 14:55 ID:PRhnZ1t4
>>272
文句いってりゃ誰かが解決してくれるという基本姿勢の奴に
物作りは無理だよ。
自分の判断の正しさを声高に主張して、それで作業が進むのか?
与えられた材料の中で工夫するしかない。
277名前は開発中のものです。:04/02/01 14:58 ID:kirDs/YS
せっかくのアドバイスなんですけど、いま、電話が使えないとマズい状況なんで…。 そのうち小遣いをもらえると思うんで、それを待ちたいと思います。
278sayuki:04/02/01 15:05 ID:taN65quc
誰か分かる人いたらお願いします。

yahooメッセの「話す押しっぱしなしツール」とゆうものをインストールして以来
ゲームをすると効果音(wave)かBGM(synthesizer)どちらかひとつしか音が
鳴らなくなってしまいました(アセ

ゲームするだけなら音なしでもいいと思うんですが、
作っているので音の確認が出来なくて困ってます。
誰か分かる人がいたら教えていただけると助かります(>_<)
279名前は開発中のものです。:04/02/01 15:06 ID:kirDs/YS
>>276 前のレスもちゃんとみてください。 その与えられた環境のなかでやるといったはずです。 余計なことをいって話をかき乱さないでください。
280名前は開発中のものです。:04/02/01 15:37 ID:PRhnZ1t4
>>279
全部読んでるけどね。
自分が自分のためにやりたいんでしょ。
他人がわざわざしてくれたアドバイスに食ってかかってどうなるっていうの?
という意味だったんだが。
どうも君のセリフは他人の為にやってあげてる人のセリフに聞こえるんだが。
281名前は開発中のものです。:04/02/01 17:10 ID:PGuD5iiA
>>280
あなたは国語力が欠如している。

私は始めから「DirectXが使えないのでWin32APIでがんばる」といっていたはず。

それに「作業が進むのか」だって?
あなたは私の作業をみてたんですか。
どんだけ進まなかったのか言ってごらんなさいよ。

>>272についても、私はWin32APIを使って作業するということを前提に、
DirectXの使えない理由を説明していたんですよ。終わった話を穿り返すなってね。
文章を見ればわかりますよね。それがダダをこねて何もしないでいることに
なるんですか。Win32APIで作業しちゃいけないんですか。
それでもあなたは私がなにもしないでグダグダいっていると言うわけだ。

ずいぶんとおかしなことを平気で言うんですね。
282(-_-)さん:04/02/01 17:13 ID:dZRW0Ddv
ゲームつくぅろぉう
283名前は開発中のものです。:04/02/01 17:16 ID:kirDs/YS
ごめんなさい、熱くなりすぎました。
284名前は開発中のものです。:04/02/01 17:27 ID:V4PIb0xK
>>281
お前は文盲か?
どう考えてもお前が悪いだろ

>>あなたは私の作業をみてたんですか。
>>どんだけ進まなかったのか言ってごらんなさいよ。
ん?お前ID:kirDs/YSなのか?。携帯からごくろうさん(ゲラ

>>なるんですか。Win32APIで作業しちゃいけないんですか。
>>それでもあなたは私がなにもしないでグダグダいっていると言うわけだ。
280は32APIで作業するなとか言ってないだろ?どこをどう捉えたらこうなるんだ?
さらに280は御丁寧に「他人がわざわざしてくれたアドバイスに食ってかかってどうなるっていうの?」
って言ってんだろ?そろそろ自分のウンコを肥料代わりに顔に塗ったらどうだ?
人に物教わる態度じゃないよ、
285名前は開発中のものです。:04/02/01 17:35 ID:BE2pVZMt
まぁ環境に拘ってんだか拘ってないんだかわからんが、
高校生ならツクールにしとけば?
君が成人する頃にはだいぶこの世界変わってるから、今マジにやらんでも多分いいよん
286名前は開発中のものです。:04/02/01 17:44 ID:I0fBvvjS
287名前は開発中のものです。:04/02/01 17:52 ID:H3pCkE83
JAVAでゲーム作ってみれば?
C++より簡単っしょ
288名前は開発中のものです。:04/02/01 22:07 ID:38LSgSLD
質問しておいて答えが気に入らなかったら暴れだす奴って結構いるのな。
避難所の旧シューティングスレにも定期的に現れてたし(同一人物じゃないだろうけど)。

というか、何時も思うんだけど、みんななんでそんな電波君を親切にも相手するの?
スルーしとけって。
289名前は開発中のものです。:04/02/02 20:47 ID:qCykuM3X
ずぶの素人です。
ターン制RPG作るのって何が必要ですか?
チョコボの不思議なダンジョン2のようなのを作りたいです。
まじめに作りたいんでマジレスお願いします。
できる言語はHSPちょっとだけと、Cは勉強中です。
どんな言語覚えればいいか、でもいいんでアドバイスよろ
290名前は開発中のものです。:04/02/02 20:57 ID:2+6Y3MVD
>>289
言語はオブジェクト系なら何でも良いと思うぞ。
ターン性RPGなら、どっちかというと、
どんな流れで何をどうするのか?という設計の方が大変だと思うが。
291名前は開発中のものです。:04/02/02 21:32 ID:WcP70SUw
Cの勉強してるけど、
ポインタと引数戻り値が絡んでくると訳分からんくなる。
この辺ってそんなに重要?
292名前は開発中のものです。:04/02/02 21:55 ID:cPLiu5er
>>291
つまりコンピュータがなんたるか、まぁコンパイラが何やってるか理解してないってことでしょ。
293289:04/02/02 23:39 ID:qCykuM3X
分かりました。
とりあえずC覚えてやってみます。
294名無し募集中。。。:04/02/03 00:09 ID:plKD59at
VCを買ったはいいけど、ゲーム作るのに全く役に立たないと感じるのは俺だけ?
295名前は開発中のものです。:04/02/03 00:11 ID:9+QBC3/q
ぶっちゃけ、素人はポインタなんて使わずに
グローバル変数使いまくって、関数なんて作らずにgoto使って
とにかく描画関係だけに注力したらいいんじゃないの、とか思ったんだけど
それじゃCとか使う意味ないよな。
296オレー:04/02/03 00:20 ID:lqBJLK7t
>>294
VC最強だろ!!!!??他のしらねーけど!
慣れれば何でも作れるぞ!!ガンバレよヴォゲ!
297名無し募集中。。。:04/02/03 00:38 ID:ZZoWZizL
ゲームを作るときMFCとか使い道があるのかな?
298オレー:04/02/03 00:45 ID:lqBJLK7t
>>297
ツール作る以外、ほとんど無いんじゃね?
VCがいいのは、MFCとかじゃなくて一般的に使われているからだ!
なんか他の環境だと悩み多そうだからな!
299名前は開発中のものです。:04/02/03 00:50 ID:WodIwMqV
Cだけじゃゲームってできないんですか?
SDKってやつを使わないといけないのだろうか。
300オレー:04/02/03 00:58 ID:lqBJLK7t
>>299
そう考えていいだろうな!
Cだけってどこまでかシラネーけど、システムにふつーについてるAPI使っても絵かけるぞ。
でもグラボの3D機能使ったり、高速に描画したいならばDirectX使うしかねーよ!
301名前は開発中のものです。:04/02/03 01:50 ID:lYaC3Zey
>>291
難しいのでなくてややこしいのです。
紙と鉛筆でコンピューターのやる処理を真似っ子してみてください。
脳味噌が最適化され理解がすすみます。
302名無し募集中。。。:04/02/03 02:29 ID:QGiQp3Rb
Directxの記述量の多さに圧倒されました。VCを使ったら、記述量を減らせるとか、何か恩恵があるんでしょうか。VCの神様教えてください。







303名前は開発中のものです。:04/02/03 02:43 ID:ELowTiDo
>>302
設計が悪いんだろう。
>>295の裏返しだけど、
そこを関数で整理するのが利点かと。(vcじゃなくてc全般の話だけど)
304名前は開発中のものです。:04/02/03 05:30 ID:fdd6paxL
プログラミングを独習するには10年かかる
http://www1.neweb.ne.jp/wa/yamdas/column/technique/21-daysj.html

10年というのは専門家のレベルにたどり着くまでの数字だろうけど。

まあなんだ、一般論としてだが、あまり慌てないほうがいいと思うYO
今分からないことでも、数ヶ月後に改めて考え直してみれば簡単だったりするから。
(人間の記憶というものがそういう風になってるらしい)
所詮この道はイバラの道、王道も銀の弾丸もないと思うよろ。
305名無し募集中。。。:04/02/03 06:15 ID:7JKJyNuW
いまいちわからないんですが、VCからdirectxを使うと雛形を作ってくれるとかそういった機能はないんでしょうか。
306名前は開発中のものです。:04/02/03 07:35 ID:7mBO3EkB
無いよ!
307名前は開発中のものです。:04/02/03 07:47 ID:aRx0nIHF
>>305
俺は使わんけど、DirectXインスコするとVCのAppWizardにDirectX用の奴ができるでしょ。
激しく要らんけど、もしかしたらズブには役に立つものだったかもしれないという記憶があるようなないような
308名前は開発中のものです。:04/02/03 19:54 ID:qRytbDYn
こだわらないならJAVAから初めてもいいんじゃない?
iアプリとかもあるし
3DだってGL4JAVAとかJAVA3Dもあるし
必要になったらC++に移行すればいいべ
309名前は開発中のものです。:04/02/03 20:06 ID:9LHEny52
こだわらないならHSPで十分
310オレー:04/02/03 20:31 ID:VYXMEMW7
VC買ったんだろ???わざわざJAVAからやる意味ねーと思うけどな!
第一、記述量大杉とかって、オマエラはゲーム製作をなめてるな。
311名前は開発中のものです。:04/02/03 22:50 ID:N+CejGtj
オレーは3Dのレースゲー作ってんだもんな。
すごいよお前。
312オレー:04/02/03 23:30 ID:VYXMEMW7
俺も最初はサンプルいじくってたぞ!
理解力とかより、膨大な作業をしつこくやる能力が大事なのだ!!ってことでがんばろーぜ
313名前は開発中のものです。:04/02/04 08:26 ID:zjy0Z+qF
今ネレーがいい事言うた。
314ネレー:04/02/04 20:09 ID:HzAYdwYd
ゲームは一日一時間!
315オレー:04/02/04 20:51 ID:fS3mIMsY
ネレーじゃねーよ
316名前は開発中のものです。:04/02/04 21:11 ID:4hJy9BbG
>>312
サンプルってどこで手に入るの?
317オレー:04/02/04 21:37 ID:fS3mIMsY
>>316
SDKに付いてるだろ。結構いいぞ。
318名前は開発中のものです。:04/02/04 23:06 ID:XfT3Ux5K
三桁の数字の1桁目とか二桁目を引数に入れたい場合ってどうすれば(・∀・)イイ?
319名前は開発中のものです。:04/02/04 23:21 ID:dSDQ2Dxn
>>318
1桁目 = 3桁の数 % 10
2桁目 = (3桁の数 / 10) % 10
320名前は開発中のものです。:04/02/04 23:36 ID:8ShUWIq1
>三桁の数字の1桁目とか二桁目を引数に入れたい場合ってどうすれば(・∀・)イイ?
これを使った何をしたいかが謎
321(・∀・)デキタヨー:04/02/06 01:03 ID:gzRDLAVC
>>319-320
#include "iostream.h"
#include "stdlib.h"
#include "time.h"
class kazuate
{
private:
int number[3] ;
public:
kazuate(){srand((unsigned) time(NULL)) ;};
~kazuate(){} ;
run() ;
};

int kazuate::run()
{
int iGetnumber, iHit, iBlow, iPlaytimes ;
kazuate answer ;
answer.number[0] = rand() % 10 ;
answer.number[1] = rand() % 10 ;
answer.number[2] = rand() % 10 ;
kazuate input ;
iPlaytimes = 1 ;
322(・∀・)デキタヨー:04/02/06 01:03 ID:gzRDLAVC
for(;;)
{
iHit = 0 ; iBlow = 0 ;
cout << iPlaytimes << "回目ですよ"<< endl ;
cout << "3桁の数字をいれてくらはい"<< endl ;
cin >> iGetnumber ;
if(iGetnumber >=1000){cout<<"3桁じゃなきゃ駄目!。終了"<<endl ;return 0 ;}
input.number[0] = iGetnumber % 10 ;
input.number[1] = (iGetnumber / 10) % 10 ;
input.number[2] = (iGetnumber / 100) % 10 ;
for(int i = 0; i <= 2; i++)
{
if(answer.number[i] == input.number[i]){iHit++ ;}
}
for (i = 0 ; i <= 2 ; i++) {
for (int j = 0 ; j <= 2 ; j++) {
if (i != j && answer.number[i] == input.number[j]) {iBlow++ ;}
}
}
if(iHit >=3){cout << "正解" << endl ;return 0 ;}
cout << iHit <<"ヒット "<< iBlow << "ブロー"<< endl ;
iPlaytimes++ ;
}
return 0 ;
}

int main()
{
kazuate kazu ;
kazu.run() ;
return 0 ;
}
323(・∀・)デキタヨー:04/02/06 01:08 ID:gzRDLAVC
(・∀・)アヒャtabが全部消えちった
324名前は開発中のものです。:04/02/06 12:10 ID:LNUfAAFk
イカレテヤガル…
325名前は開発中のものです。:04/02/06 18:44 ID:FVcGO3fs
HSPとデルファイでのプログラムは簡単だったのにC言語のプログラムはすごく複雑ですね
ウインド1つ出すだけでもたくさん書かないといけないし難解です
C言語でごく単純なゲームをつくりながら詳しくプログラムを解説してるお勧めサイトがありましたら教えてください
326(・∀・)デキタヨー:04/02/06 20:05 ID:gzRDLAVC
>>324
(´・ω・`)ダメデシカ?
327名前は開発中のものです。:04/02/06 22:19 ID:G2d1LxCf
(・∀・)イイヨイイヨー!
328名前は開発中のものです。:04/02/06 23:15 ID:+xrJVE3l
>>325
発想が逆だよ。
ウインドウを出すだけでじゃなくて、ウインドウを出すのが一番大変なの。
だけど、初心者はコンソールアプリいやがるから、しょうがなくC言語の本とかで最初の方に出てくる。

あんなもんみたらズブの初心者は面食らうに決まってるさ。
でも理解しなくていいんだよ、丸暗記で十分なのです。めんどくさいのはそこだけです。
329名前は開発中のものです。:04/02/06 23:37 ID:lIMux0XN
ていうかサンプル見てもファイルの数が多すぎて理解できない。
330名前は開発中のものです。:04/02/06 23:51 ID:mMIlunZa
>>325
C言語でもライブラリを使えば簡単にウインドウが出る
他言語でもライブラリぐらい使ってるんだから(外野の声など)気にするな

言語習得のためなら個人的にはエミュレータをターゲットに
ゲームボーイプログラミングをするのがお勧め

お勧めのサイトや書籍を聞く場合は自分の実力や開発環境ぐらい書け
目ぼしいのは↓ここからリンクされてる
http://pc2.2ch.net/test/read.cgi/gamedev/1005060553/
331名前は開発中のものです。:04/02/06 23:55 ID:FVcGO3fs
>>328
初心者の私には丸暗記も無理っぽいのでコピペで済ましてしまいそうです
半端じゃなく設定が細かいのでプログラム全体の流れが掴みにくいです


メイン関数内はウインドウの設定するところで
ウインドウプロシージャはゲーム動かすための条件分岐とかを書き込む所と思っていいのでしょうか?


332名前は開発中のものです。:04/02/06 23:57 ID:HdQ5e5TB
俺は今、ゲームが作りたいので作ることにした。
とりあえずデルヒをダウンロードしてインストールした。
フォームにボタンつけた。
実行してみた。
動かない。
なぜ?
333名前は開発中のものです。:04/02/07 00:14 ID:zFTP1vLo
>>330
今はc言語に関して全くの素人で0からc言語学習したいと思っいます
ゲームといってもc言語の知識がまったくないのですごくシンプルでなゲーム
(テンキーで自機動かしてスペースでミサイル発射、敵に一回命中すればゲームオーバーなどの単純なゲーム)
のプログラムを参考にしたいです

開発ではなくVisual C++ .NETでc言語に少し慣れたいと思ってます
334名前は開発中のものです。:04/02/07 09:07 ID:v/xUHw+o
>>333
>(テンキーで自機動かしてスペースでミサイル発射、敵に一回命中すればゲームオーバーなどの単純なゲーム)

こんなかんじのやつか?

http://www.sm.rim.or.jp/~shishido/act.html
335名前は開発中のものです。:04/02/07 14:18 ID:K1FCp2hB
プレイステーション上でスーパーファミコンを動かすエミュって
どうやって作るんですか?
336名前は開発中のものです。:04/02/07 14:25 ID:r/NTeXJu
そんなこと聞いてどうするの?
337(めдめ*):04/02/07 15:07 ID:21YEQZs/
X座標とY座標、半径を指定したら、
お花のマークを描く関数を作りたいんですが、なにぶん数学が苦手なもので、
サインとかコサインとかもさっぱり分かりませんん。
どなたか作ってはいただけないでしょうか。
花びらの枚数は5枚で、SetPixelで・・・と、思ってるんですが・・・。VC++です。
338名前は開発中のものです。:04/02/07 15:08 ID:1EMOZBJi
ズブの初心者がゲーム作るならDirectXではなくDirector

http://hyohyohyo.cool.ne.jp/mmo/
http://www.station-entrance.com/rpg/
339(めдめ*):04/02/07 15:19 ID:21YEQZs/
>>337
あっ、すみません、クレクレではなくて、
どうやって作るのか、ヒントだけでも、教えていただきたいのでした。
340名前は開発中のものです。:04/02/07 15:30 ID:xFHMm5Bm
Ecllipse()、Arc()等のAPI関数を調べて試行錯誤してくれ。
普通は絵を表示するのにSetPixelなんて使わないよ。
341(めдめ*):04/02/07 15:55 ID:21YEQZs/
>>340
えっ、そうなんですか?
すみません、最近始めたので、一般常識とか分からなくて・・・
そのAPI関数って、円やパックマンみたいな図形を描くやつですよね。
それらは講座で見て知ってたんですけど、花を描くアルゴリズム?の方が分からないんです。
板違いですかね・・・一応ゲームで使おうと思ってるんですが・・・
342名前は開発中のものです。:04/02/07 15:57 ID:xFHMm5Bm
放っていってもいろいろ有るだろう。
丸に半円がついた(テストにつけるはなまるみたいな)やつから写真まで。
343名前は開発中のものです。:04/02/07 15:58 ID:xFHMm5Bm
×放って
○花って
344(めдめ*):04/02/07 16:06 ID:21YEQZs/
>>342
すみません、言葉足らずでした。
えーと、簡単に言うと、MSペイントだけで描けるような、
五角形に、正確におさまる感じの・・・
なんて言えばいいんだろう、フォントのサイズを最大にして、アスタリスクを表示すると、
お花に見えますよね・・ああいう感じで、花びら5枚にしたいんです。
説明下手で、ホントすみません・・・
345名前は開発中のものです。:04/02/07 16:41 ID:Wy3YunFG
C言語はいいけど
WINDOWS API とかなんとかいうやつムズすぎ・・
天才でもない俺が、んなもんできるか!!
346名前は開発中のものです。:04/02/07 16:58 ID:KBP4gfT2
てかC言語がわかってりゃむずすぎってこたないだろ
347名前は開発中のものです。:04/02/07 17:02 ID:xFHMm5Bm
>>344
それは、円と直線では書けないの?
348(めдめ*):04/02/07 17:21 ID:21YEQZs/
>>347
1番上となる花びらは描けるんですけど(多分)、
残りの4枚の座標を、どうやってだしたらいいのか、分からないんです。
基となる図形の、五角形すら描けないんですよね・・・プログラムではなくて、紙とペン、定規で。
で、まず、中心となる(X,Y)から、それぞれ5点に向かった線だけ描こうと思うんですが、
それにはどういった計算が必要なんでしょうか・・・?
349名前は開発中のものです。:04/02/07 17:57 ID:Q6oiyPpR
>>348
花びらの部分って正葉曲線が使えないか?
350(めдめ*):04/02/07 18:08 ID:21YEQZs/
>>349
正葉曲線って初めて聞いたんですけど、ググってみたら結構ヒットしますね。
確かにこっちの方が、最初に考えていた花の形に近いです。
VBでソース公開しておられる方もおられるみたいなので、ちょっとこちらで勉強してみますね。
ありがとうございます!
351(めдめ*):04/02/07 19:03 ID:21YEQZs/
出来ました!!!
sinやcosなど出てきて、理屈はイマイチ分かってないかもですけど、
とりあえず表示は出来てしまったので、(本当は良くないだろうけど)良しとします。
また暇なときにでも数学を勉強して、ちゃんと理解したいと思います。
xFHMm5Bmさん、>>349さん、どうもありがとうございました!
352名前は開発中のものです。:04/02/07 19:07 ID:BCMAqWn3
>>334
そんな感じのゲームです
ソース見てみましたが全然わかりません
難しいです
353名前は開発中のものです。:04/02/07 22:43 ID:rPXWL6/H
http://hp.vector.co.jp/authors/VA014337/VC/lecture/source/no6_src.txt
これでウインドウを作ることができたけど、
これからどこをいじっていけばゲームとか作れるのか分からん
354名前は開発中のものです。:04/02/07 22:48 ID:xFHMm5Bm
ゲームプログラミングでググるか、本買え。
355名前は開発中のものです。:04/02/08 00:05 ID:V4CrTBaC
ゲーム製作ツールの紹介サイトみたいなのありませんか?
2,3年前挫折したツールが一番使いやすかったかもって思って探してみたんですが
なかなか見つからないんです
356名前は開発中のものです。:04/02/08 02:17 ID:AfH9OrsO
おいおまいら、音楽製作ソフトよさげなの教えろ!








                ウソです.。どうか教えてください_| ̄|○このとーり
357333:04/02/08 04:38 ID:CoCrlWqN
なかなかいい解説サイトがみつからないな〜
358名前は開発中のものです。:04/02/08 07:49 ID:fe0e/CMI
>>357

最初は本が手元にあったほうがよいよ。
プログラミングWindowsとあとはごく基本的なゲームプログラミングの本。
359名前は開発中のものです。:04/02/08 09:50 ID:i+ctVYKx
borlandのコンパイラ使ってるんですけど
なんかウインドウ表示とかのサンプルをコンパイルできないんですが・・・

なんで?
360名前は開発中のものです。:04/02/08 10:37 ID:l8LpgmAm
「モーション」って何ですか?
「イベント」って何ですか?
上記検索してもいっぱいヒットしすぎてわからないです。
361名前は開発中のものです。:04/02/08 10:45 ID:d5V45uuZ
3DCGとWindowsのプログラミングを基礎から学びなおせ。
362名無しさんは14才:04/02/08 13:36 ID:jDa33yn9
>356 あんまりレスになってないかもしれないけど。
GarageBandがなんかすごく簡単でいいらしいって聞いた。
そんなに高くないし、お小遣いためて買おうかなぁ。
363356:04/02/08 16:28 ID:HcNW0j0y
14歳の人サンクス
364名前は開発中のものです。:04/02/08 21:13 ID:b0eOsysj
>362
何だ。さっくり教えてくれるのかと思ったのに。
365名前は開発中のものです。:04/02/08 21:25 ID:id/HrN2s
良く分からないものをむやみに使うとお腹壊すョ
366名前は開発中のものです。:04/02/08 21:35 ID:b0eOsysj
いや、使うというか話についていけないんです。
会議の。中途でゲ会社に入ったんですけど。
話が見えない・・・。
367名前は開発中のものです。:04/02/08 22:27 ID:id/HrN2s
じゃぁ、離乳食から一刻も早く卒業できるように
噛む練習をするのが良いと思うなぁ。
いつまでも離乳食はつらいっしょ。
368名前は開発中のものです。:04/02/08 22:28 ID:PbkZSuYJ
おっぱいハァハァ
369名無しさんは14才:04/02/08 22:45 ID:jDa33yn9
>364
さっくりって言われても……ごめんね。マジあんまり知らないんだ。
誰もがレコポ使ってた頃はこういうの悩まなかったんだけどね。
370333:04/02/08 23:06 ID:i0uC/ppX
>>358
インターネット上の資料でなんとかしたいんです
371名前は開発中のものです。:04/02/08 23:22 ID:HUImdgWv
>>370
<いいサイト>の評価基準を述べよ
ゲームで釣りつつ適当な解説でお茶を濁すようなものは
書籍ぐらいでしか見当たらないよ

あとは猫とか
372名前は開発中のものです。:04/02/08 23:50 ID:i0uC/ppX
>>371
ウインドウにキャラクターのビットマップを表示させて
テンキーで上下左右に動かすみたいなシンプルで飾り気のない単純なプログラム
を使って、解説してるようなサイトなんですけど
見つかるまでは猫を参考にして学ぼうと思います
373名前は開発中のものです。:04/02/09 00:04 ID:tCmgrn6p
>>369
そうでつか。ありがとうございました。
恥をしのんで会社の人に聞いてみまつ。
374333:04/02/09 03:38 ID:dgv0YHUG
http://www.kumei.ne.jp/c_lang/sdk/sdk_00.htm
ここのソースをビルドしたらエラーが出て実行できませんでした
このサイトも参考にできないのかな…
375名前は開発中のものです。:04/02/09 03:45 ID:BBUziY6J
どんな環境でどんなエラーが出たか、を書きなよ。
どこで質問をするにもそれくらいは書かないと流されると思うが。
376333:04/02/09 05:11 ID:dgv0YHUG
Visual C++ netで

この行に myProg.hbrBackground =GetStockObject(WHITE_BRUSH);

: error C2440: '=' : 'HGDIOBJ' から 'HBRUSH' に変換できません。
'void*' から非 'void' 型への変換には明示的なキャストが必要です。
ってエラーがつきました
377オレー:04/02/09 05:14 ID:LbK50eNj
>>376
明示的なキャストしてみたらどうだ?
myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
とか
378名前は開発中のものです。:04/02/09 05:19 ID:dgv0YHUG
>>377
ありがとうございます
ちゃんと実行できるようになりました
379名前は開発中のものです。:04/02/09 05:28 ID:Yiz201vx
Cを勉強したいのですが、サイトや本などオススメを教えてほしいです。
私はパソコン暦1年目で、ワードやエクセルもわからない人ですが、、、
がんばって、マスターしていきたいと思ってます。
それと質問ですが、Cはソフトウェアが必要なのでしょうか?
昨日Cの存在を知った未熟者です・・・レス待ってます^-^
380名前は開発中のものです。:04/02/09 06:57 ID:yluYWkbM
>>379

新訂 新C言語入門 ビギナー編
著 林晴比古

サイト
ttp://www.kumei.ne.jp/c_lang/

>Cはソフトウェアが必要なのでしょうか?
必要です。
プログラムソースから実行ファイル(exe)を生成するのに
”コンパイラ”というソフトが必要。

市販コンパイラなら
Visual C++.net
タダなら
Borland Compailer
がオススメ。

大変かもしれないけど頑張って。
381名前は開発中のものです。:04/02/09 10:11 ID:HbdSiSGG
>>379
とりあえず一時間くらい本屋にこもれ。
382名前は開発中のものです。:04/02/09 10:13 ID:HbdSiSGG
>>379
ってマルチか。帰れ。
383名前は開発中のものです。:04/02/09 11:44 ID:Yiz201vx
>>380さん、ありがとうございます^-^
384383:04/02/09 15:32 ID:PM9gYJwg
>>382
あなたには聞いていません^-^
385356:04/02/09 15:49 ID:PAej/ELB
ttp://freesoft_2ch.at.infoseek.co.jp/
音楽製作のイイフリーソフトは探しても見つからないもんだな・・・
素材HPから直接強奪しかないのかな。
386356:04/02/09 16:02 ID:PAej/ELB
連続スマソ
ttp://www.frieve.com/musicstd/
Music Studio Producer フリーソフトウェア
msp111.exe Version 1.11 正式版(7.62MB)

今から使ってみよ
387名前は開発中のものです。:04/02/09 18:44 ID:3mvRD+VM
VC++.net 2003+DirectXの解説サイトってありますか?
VC++6.0の解説サイトなら腐るほど見つかるんだけど…
388名前は開発中のものです。:04/02/09 20:56 ID:OX8rMmrZ
>>356
使えるフリーソフトスレ@DTM板 まとめぺーじ
http://www.geocities.co.jp/Hollywood-Cinema/8681/index.html
http://members.at.infoseek.co.jp/mysong2001/index.htm

でも正直、(俺みたいな音楽)ずぶの素人が使えるものはなかったよ
プログラムと同じく王道なしだろうな

音楽ほしいだけなら、素直に著作権フリーのBGMをありがたく使わせてもらうか、
音楽好きの知り合いにおながいするのが早い
389382:04/02/09 21:16 ID:r5i6CdtX
>>384
釣師に釣られる覚悟で。
電気回線を挟めど人と人との基本的なマナーも守れない。
一人で充分に言語の習得は出来ないにも関わらずだ。
そんな調子でプログラム言語とうまく付き合えるのかね?
390383:04/02/10 06:49 ID:GUZ5KeqK
私は383ですが、384は私になりすました人だと思います・・・
391モース ◆v6o3ST9mLM :04/02/10 12:14 ID:b4IHCPLK
みんな頑張ろうぜ!
392名前は開発中のものです。:04/02/10 13:16 ID:N6fMBtpq
確かに6時間以上ID変わってないのに
ID変わってるし名前欄をわざわざ入れてるのは・・・ですね。
(マルチは・・・少ないに越したことはないですが
393名前は開発中のものです。:04/02/10 15:31 ID:/8y/3PIi
>>392
ばれたか。
394333:04/02/11 02:46 ID:APap8/zE
VC++とDirectXでゲームを作ろう
http://rina.jpn.ph/~rance/directx/index.html
ここのサイトはすごくわかりやすいみたいです
395名前は開発中のものです。:04/02/11 19:00 ID:iiIkz8B8
もうできないからツクールの自作戦闘で我慢しよう・・・。
396名前は開発中のものです。:04/02/11 21:13 ID:znEGNYAh
俺はツクールの自作戦闘もできないぞw
これって無謀かなぁ・・・
397名前は開発中のものです。:04/02/14 21:43 ID:tiSnmUSv
二点間の角度をもとめるにはどうすればいいですか?
398名前は開発中のものです。:04/02/14 21:46 ID:t8Nnp+oI
>>397
2点間の角度って何?
399名前は開発中のものです。:04/02/14 22:11 ID:lHPHsGsS
>>397
ある点から二点をそれぞれ結んだ2本の線分の角度って事だろ。
座標分かってんだから内積使っとけ。
400397:04/02/15 02:06 ID:Y3Owx8fK
>>399
内積をどう使うのですか?
数学苦手なもので…
401名前は開発中のものです。:04/02/15 02:14 ID:QkNG5rO+
vector A
vector B

A・B = |A||B|cosθ

ココからcosθを求めて使え。
402名前は開発中のものです。:04/02/15 08:22 ID:4nf88IsW
cosθ=(x1*x2+y1*y2)/√{(x1^2+y1^2)*(x2^2+y2^2)}

かな?自信ない
403名前は開発中のものです。:04/02/15 08:23 ID:4nf88IsW
これじゃ原点からだった・・・・orz
404397:04/02/16 02:38 ID:nRcHbn7i
>>398,399,401,402さん、ありがとうございます。
なんとかやってみます。
405名無しさんは14才:04/02/16 23:04 ID:Y32yY4fF
>356,364
おすすめだけしておしまいっていうのもアレなのでGarageBand買っちゃいました。
ほんとは自分が欲しかったんですけど♪

……ああ、でもこれで当分おやつ抜きだわ。
406名無しさんは14才:04/02/17 01:05 ID:3jAAI9V7
とりあえずぺたぺた貼っていけばなんかそれっぽい音楽になることが判明!
簡単です。値段から考えたらかなりお買い得だと思う。
Midiで吐けないのがちょっと難かな。用途次第だけど、Midi欲しいよねえ。
値段考えると文句言えない気もするけど。

打ち込みはあんまり得意そうじゃないので、主旋律入力にはマイクがいるみたい。
楽器って言っても、鼻歌でいいっぽいけど。
ウチにあったマイクは電池切れで試せませんでした。残念。

以下、わが家の会話。
「ね、ね、どう? わたしの曲。一時間で作ったの♪」
「……終わり方だけはそれっぽいわね」
「そう?そうかな?じゃあ、これ2ちゃんにアップしようかしら」
「叩かれて鬱になるわよ」
……わたしに音楽の才能はなさそうです。ってゆうか、そんなにはっきり言わなくてもさー。
407名前は開発中のものです。:04/02/17 03:25 ID:HI+t4Vsa
>「叩かれて鬱になるわよ」
ワラタ。
2chに理解のある家族なんか(・∀・)イイ!!ね
数を積み重ねりゃそのうちいいのできるさ。
がんばれー
408名前は開発中のものです。:04/02/17 10:34 ID:hqb34U7d
取り合えず今日中に何か作りたいから教えて

使用言語java
GUI:CPad for Java2 SDK

コンぐらいしかわかんねぇ、それでもヒソヒソ教えてくれる人居ますか?

当方、Cちょっと理解可能、javaはほとんどわからん
オブジェクト指向っぽく作りたいです
409名無しさんは14才:04/02/17 23:28 ID:3jAAI9V7
あと三十分だけどがんばれ〜♪
わたしも今日こそはもう少しバカにされないものを……!
410名前は開発中のものです。:04/02/18 03:03 ID:uuFEIAL2
なにかってのを突き詰めていこうとすると、なにも作りたくなくなるんだよね。
411名前は開発中のものです。:04/02/18 13:25 ID:YDmkdr/c
ゲームプログラミング練習帳買ってきた。
412名前は開発中のものです。:04/02/18 22:31 ID:su9YvBQ+
亀だが
>>397
アークタンジェントでは?
Cなら math.hに入ってる atan又はatan2

シューティングの追尾弾とかでよく使うます(・ω・)
413名前は開発中のものです。:04/02/18 22:52 ID:Zr4t4JER
>>412
それは、x,yの2次元座標じゃないの?
二点間って事は、片方の座標をoffsetで原点扱いにでもする?

つーか、3次元でも使える内積が無難でしょ。
414412:04/02/18 23:18 ID:su9YvBQ+
>>413
なるほど。
スマンかった。
415名前は開発中のものです。:04/02/20 17:03 ID:qnhxR2WO
俺を3流のゲームデザイナーに育成してくれる方希望です。
416名前は開発中のものです。:04/02/21 18:34 ID:xUxW4pva
>>415
デジトキに登録して、自称(詐称)すればいっちょあがり
417名前は開発中のものです。:04/02/21 23:11 ID:XiRsPFUi
>>415
すでに三流だから安心しろ。
418397:04/02/22 04:18 ID:hRI1ig6X
>>412,413さん、どうもです。
よくわからんけど、もう一度やってみます。
419名前は開発中のものです。:04/02/22 21:44 ID:fz/BpWBq
CでRPGの簡単な戦闘を作ってるんですが、戦闘で技を出すときに
if文100個ぐらいに分岐しそうで怖いんですが普通こういうのは
どうすればいいんでしょうか?
関数へのポインタ使ってやればいいのかとも思ったりしたけど、結局
100個も関数へのポインタに入れてやる方法しか思いつかないしなあ・・・。
420名前は開発中のものです。:04/02/22 22:03 ID:sRJhcXYB
C言語だいたいできるようになったら
WIN API
やって
その次DirectSDK
やればいいんですか?
421名前は開発中のものです。:04/02/22 22:27 ID:kwjkiYoP
何をしたいかによりますので
422名前は開発中のものです。:04/02/23 00:53 ID:VMGjuvjo
CでネットゲームのマクロやBOTを作りたいのですが、DOSプログラムしかやったことがありません
マクロやBOTを作るにあたって参考になるサイトなどありませんか?
もし有益なアドバイスなど頂けたら、形としてお礼をします
423名前は開発中のものです。:04/02/23 12:40 ID:CndOTp3o
まずはうんこを1週間我慢しろ
話はそれからだ
424名前は開発中のものです。:04/02/23 15:29 ID:tx5Vu6A0
じゃあ我慢するぜ!!
425名前は開発中のものです。:04/02/24 00:27 ID:egxTU+So
│    ______           _||
│\|/        \          三||
│ /  _______|     .......  _||  ガラッ
│| /../  __  ___ |          二||
│ | /   ./  \/ ||           ||
│ ( 6----|  > ||< ||.... ドラエも〜ん!||
│ .|   \_/ ).__/.|  ジャイアンが ||
│ |     ________)  スネ夫が  ..||
│  ..\ .. /   ...ノノ__          ||
│/ ̄ ̄\  ̄ ̄ ̄/... . ̄ ̄ ̄ ̄ ̄ ̄ ̄||
│       ̄ ̄ ̄        .....   三||
│                 ...  ...   ||





      ____
     /∵∴∵∴\
    /∵/∴∵\∵\           .  ..     \|
   /∵<・>∴∴.<・>∵|           . . / ̄ ̄ ̄
   |∵∵/ ●\∵∵|           . /
   |∵ /三 | 三|∵ |            |
   |∵ |\_|_/| ∵|            ∩
    \ | \__ノ  |/         .   |.|
     \___/:、             ∪、
     /∵━○━∵ヽ            ..| \
    /∵人∵∵∵ \:\           \  \
  ⊂´:_/  )∵∵∵∵ヽ:_`⊃      / ̄ ̄ ̄ ̄ ̄ ̄
                        /
426名前は開発中のものです。:04/02/28 15:09 ID:FO2lj2+X
すみません。今VisualC++とDirectx9を使ってゲームを作る方法を勉強しようと思っているのですが、
directx9のhelpを見てもよくわかりません。
directx9を勉強するのに最適なサイトってあるのでしょうか?
427名前は開発中のものです。:04/02/29 09:45 ID:yzlx/o3W
「ゆきいるか」でくぐれ
428名前は開発中のものです。:04/03/02 17:53 ID:lJhVVoT3
>>419
データ駆動にする
100個全部が違う効能でないなら、
技に属性を持たせて、属性で処理をわける
後は、属性を組み合わせられるようにする
429名前は開発中のものです。:04/03/05 20:38 ID:Ua6PG82z
最初に作ろうとしているゲームがアクションゲームってゆうのはまずい?
430名前は開発中のものです。:04/03/05 21:27 ID:w7+3fy9+
↑マルチ
431名前は開発中のものです。:04/03/06 22:23 ID:GGE+RQF4
>>428
どうも、ということは技の動きとかもそういうふうにすればいいのかな。
なんとかできそうです、ありがとうございました。
432名前は開発中のものです。:04/04/09 16:56 ID:CEu0SDwR
HSPを使ってドンキーコング(初代)もどきを作りたいのですが
敵の初期配置まではマップチップエディタで作れても動き(エレベーター、
バネ、コング、タル等)が作れません。誰かお助けを・・・
433名前は開発中のものです。:04/04/09 17:49 ID:UK8Ty0N1
>>432
一つ一つ片付けていけ。
自キャラは動かせられるか?
434432:04/04/09 17:59 ID:CEu0SDwR
自キャラは歩く+ジャンプできます。
某サイトからパクっただけですが・・・
435名前は開発中のものです。:04/04/09 20:58 ID:DqZB2HIa
>>434
ハシゴは登れる?
ってか勉強目的ならパクるのはあまりよくない。
436432:04/04/10 09:23 ID:J1HEKCQ/
登れるようにはできると思いますが・・・自信ありません。
screen 0,256,224,1,dispx/2-125,dispy/2-112
buffer 2,200,200,1;バッファー
picload ".bmp"
gsel 0,1
title "ジャンプ付きマリオ"
carapos=20;キャラクタの位置(x座標)
caramuki=0;キャラクタの向いている方向、0が右、1が左
jumpryou=0
zimen=200;地面の高さ。
repeat
redraw 0
stick k,47
color 255,255,255:boxf 0,0,winx,winy
color 0,0,0:line 0,200,winx,200
gosub *jump
gosub *walk
gosub *mario;マリオを描写する。
redraw 1
await 16
loop
*mario
if kasoku=0:caraani=0
if jumpryou!0:caraani=5
pos carapos,zimen-16:gmode 2,16,16:gcopy 2,caraani*16,caramuki*16,16,16
return
437432:04/04/10 09:26 ID:J1HEKCQ/
*walk
walkchk+=1
if walkchk<2:return;ジャンプと同じ速さで移動すると速くなりすぎるから、
walkchk=0;2回に1回しか書き換えたりしないようにする。
kasoku3+=1;ボタンを押した後何回書き換えたか。
if kasoku3\2=0{
if (k=0)|(k=5):{
carabreak=0
kasoku3=0
if kasoku<0:kasoku+=1
if kasoku>0:kasoku-=1
}
if k&4:{
carabreak=0
if jumpryou=0:caramuki=0
if kasoku<0:caraani=4:carabreak=1
if kasoku<6:kasoku+=1:
}
if k&1{
carabreak=0
if jumpryou=0:caramuki=1
if kasoku>0:caraani=4:carabreak=1
if kasoku>-6:kasoku-=1
}
if (kasoku!0)&(carabreak=0){
caraani+=1
if caraani>=4:caraani=1
}
}
kasoku2=kasoku/2;移動量の推移を2回に1回にする。(1,1,2,2、3,3というように)
carapos+=kasoku2
return
438432:04/04/10 09:32 ID:J1HEKCQ/
*jump
if k&32{
if (jumpryou=0)&(jumpstop=0):jumpstop=1
}else{
if (jumpryou=0)&(jumpstop!1):jumpstop=0
if (jumpstop=1)&(jumpryou>=30):jumpstop=3
}
if jumpstop>=3:jumpstop+=1:goto *jump↑↓
if (jumpstop=2):goto *jump↓
if jumpstop=0:return
goto *jump↑

*jump↑
if jumpryou<=19:jumpkasoku=4:goto *jump↑2
if jumpryou<=40:jumpkasoku=3:goto *jump↑2
if jumpryou<=58:jumpkasoku=2:goto *jump↑2
if jumpryou<=65:jumpkasoku=1:goto *jump↑2
if jumpryou>=67:jumpkasoku=0:jumpstop=2
*jump↑2
if jumpryou=51:jumpkasoku=4
if jumpryou=16:jumpkasoku=3
if jumpryou=38:jumpkasoku=2
if jumpryou=57:jumpkasoku=1
;title ""+jumpstop+" "+jumpryou+" "
jumpryou+=jumpkasoku
zimen-=jumpkasoku
return
439432:04/04/10 09:41 ID:J1HEKCQ/
*jump↓
if jumpryou>=62:jumpkasoku=1:goto *jump↓2
if jumpryou>=51:jumpkasoku=3:goto *jump↓2
if jumpryou>=4:jumpkasoku=4:goto *jump↓2
*jump↓2
if jumpryou=62:jumpkasoku=2
if jumpryou=51:jumpkasoku=4
if jumpryou=47:jumpkasoku=5
if jumpryou=22:jumpkasoku=5
if jumpryou<=5:jumpkasoku=jumpryou

jumpryou-=jumpkasoku
zimen+=jumpkasoku
return
*jump↑↓
if jumpstop<=4:jumpryou+=1:zimen-=1
if jumpstop>6:jumpryou-=1:zimen+=1
if jumpstop=9:jumpstop=2

return  このプログラムで逝こうかと思ってるのですが。
440名前は開発中のものです。:04/04/10 21:17 ID:8lOF11Ft
1行も読んでいないが、長めのソースを上げるときはどこかにうpしる。
441432:04/04/11 09:10 ID:A6JtVjTv
http://gamdev.org/up/upload.php
ここの458
442432:04/04/11 09:16 ID:A6JtVjTv
とりあえず、敵キャラの動きとエレベーターからなんとかしていきたいのですが。
443名前は開発中のものです。:04/04/13 01:51 ID:bffhB7Dj
>442
HSPは読みにくいな…このjumpってサブルーチンの中ではループしてないんだな?
だったら*mario とか呼んでるメインルーチンに、エレベータとか動かすルーチンを
付け加えたらいいじゃないか。
444432:04/04/13 16:06 ID:4DU9oHFH
それがわからないのですが・・・
445名前は開発中のものです。:04/04/13 20:48 ID:bffhB7Dj
>>444
んじゃ無理だ。HSPの事なんか忘れて
vectorでも逝ってフリーのゲーム落として遊んどけ。
どうしても作りたいなら、とりあえずこのパクったソースの数字を1ずつ変えては動作させて
なんとなく動作がわかるまで続けろ。
446432:04/04/14 14:27 ID:6GvtzIet
>>445
後者を選ぶんで、いつか完成したらうpするんでそのときは評価お願います。
447名前は開発中のものです。:04/04/14 22:23 ID:QzJ05j2p
PPF-O-MATIC3でパッチを当てる時に
「Binblock Patchvalidation failed」
と表示されるのですが、どうすれば上手く当てることが
できますか?アドバイスお願いします。
448名前は開発中のものです。:04/04/15 20:48 ID:Mhaj1jFG
これからゲームつくるためにプログラムおぼえようと思い、
Cを勉強するつもりです。そこで質問なんですが、Cでいいんでしょうか。
もっと初心者がやるべき言語があるんでしょうか?
449名前は開発中のものです。:04/04/15 21:43 ID:KL9zvr3b
C++にも繋がるし良い言語だとは思うけど
初心者には敷居が高いね。漏れはあまりオススメしない。
Delphiあたりがすぐにビジュアルな表示が出来るから
プログラミングの面白さを感じやすいと思う。
一つの言語覚えたら二つ目、三つ目を覚えるのはそこまで苦痛にならんし。
450名前は開発中のものです。:04/04/15 22:13 ID:cgpTXQVv
私はC、C++、Visual C++、DirectXの順で学びました。
Visual C++まで行けばウインドウズゲームが作れるけどそこまで半年ちょいぐらいかかったかな。
それまでは文字しか表示できなくて地味なプログラムだったな...

ようは地味な下積みを耐えられるかどうか、とりあえずお手軽に見栄えのいいものが作れたほうが
楽めて長続きしそうって人は449さんの言うようにDelphiから初めたほうがいいかも。

一刻も早くゲームプログラムを極めたいって人はCかC++かな。
C++言語はC言語を内包しているから、C++言語から勉強を始めてもいいと思うけど、
いきなりたくさんの情報に混乱しそうと思う場合はC言語から始めたほうがいいかも。
451名前は開発中のものです。:04/04/15 22:17 ID:Mhaj1jFG
>>449 >>450
レスありがとうございます。少しずつがんばって面白いゲーム作れるように
なります!!!!!
452名前は開発中のものです。:04/04/16 02:20 ID:g/W+Go02
むずかしい・
453名前は開発中のものです。:04/04/16 21:57 ID:gLXzG93z
最終的にゲームを作るには
どの言語から勉強していけば良いのか質問しようとしたら
450に答えが…(`・ω・´)printf カラ、ガンバルッス!!
454名前は開発中のものです。:04/04/17 16:08 ID:Iaz63Ew/
453ガンガレ
455名前は開発中のものです。:04/04/17 21:58 ID:u6Fa0MOe
3月上旬からプログラムの本を読み始めて、
3月中旬に家にVCのCDがあることを知り、
3月下旬からプログラムを書けるようになって、
4月1日からできたプログラムを保存しております
もうすごい楽しい!現在進行形で頑張ってます

今ブロック崩しができました。これに少し独自のルールを付け加えて終りにしたいと思います
次は何を作ろうかな?テトリスは難しいか!?
456名前は開発中のものです。:04/04/18 21:03 ID:4spkHYFp
思いついたのを片っ端から形にしていくのでもいいのでは無いかと思います。
プログラムは言語の仕様・書式を覚えたらアルゴリズムの発想しだいだし。
457455:04/04/19 20:57 ID:YPIC9Z/a
>>456
でもやっぱりステップアップするには、常套手段に従ってありふれた簡単なゲームを作っていく方がよくないですか?
目的も持てるし、できたら嬉しいし

そういうわけで、とりあえずテトリスは難しそうなので、今から五目並べやってみます
458名前は開発中のものです。:04/04/20 01:02 ID:byeyzMFH
今テトリスのCPU対戦を作ってます。
ですが思うように、というか全然アホCPUしか作れません。
なにかアドバイスをいただけませんか。
459455:04/04/20 01:25 ID:Hld2EAau
交互に打って5つ並んだら終了・・・基本は出来た!
いやー、楽しいですね
できればCPU対戦のことも考えたいけど、無理だろうな
コンピューターの動きのアイディアが全然思いつかない
460名前は開発中のものです。:04/04/23 00:37 ID:pRqu8Vw+
>>459
とりあえず三目並べ(要するに○×)でCPU作ってみたら?
461455:04/04/24 00:10 ID:TZY+vRaw
>>460
うーん、なるほど
考えてみます・・・これだけでも頭を捻ってしまう
462練習帳著者:04/04/25 10:45 ID:LyJsr1s0
>>459
とりあえず、以下の処理を試してみましょう。

1 可能な手を列挙する(制約のない五目並べなら空白の場所を列挙するだけ)。
2 その中から「ランダムに」打つ手を選ぶ
3 コンピュータがその手を打つ処理を実装する

これができれば、あとは2の部分でよりましな手を選べるよう改良していくだけ。
463455:04/04/29 00:57 ID:vcMIXwea
>>462
あ。わざわざすいません
でも先日から別のプログラムを作り始めてしまって・・・
後回しにすると忘れてしまいそうなので、それが終ってからやってみます
464名前は開発中のものです。:04/04/30 17:12 ID:bNvYLXW7
http://www.geocities.co.jp/SiliconValley-Bay/2919/
これ使っていろいろやってみようかな、と思ってたんです。
で、簡単な文をコンパイルしようとしたら「d3drm.libが開けません」ですって。
なんか他のプログラムでもこのライブラリのせいでエラーが出ます。

↑の文だけで原因っぽいもの分かりますか?
465名前は開発中のものです。:04/04/30 17:15 ID:La2rD6H9
pathが通ってない
466名前は開発中のものです。:04/04/30 18:10 ID:bNvYLXW7
>>465
どうも
もう一回しっかり見てみます
467464:04/05/02 13:59 ID:y/UaHwjT
ちゃんと通したら今度はエントリーポイントを作れだの云々・・・

それより上のより簡単そうなEasy Link Libraryってのを見つけたんです
サンプルのテトリスとかがありまして、実行ファイルはもちろん動くのですが
自分でプロジェクトを開いてビルドするとエラーが出ます。

この件に限らずサンプルは殆ど++6なので、自分が使ってる.NETだと
開いた時の++7形式に変換しますか?→はい でおかしくなってるのだと思います

こういう場合は何か書き足す必要があるのでしょうか?
468名前は開発中のものです。:04/05/02 14:35 ID:a+vlsVTZ
VC6なので力になれないと思うが、とりあえずどんなエラーか書いてみ?
4696にすればよかった・・・:04/05/02 15:12 ID:y/UaHwjT
どうもです

ttp://www3.justnet.ne.jp/~botchy/el/el63.htm
ここの手順通りにやったのですが・・・
ビルドすると
・Project fatal error LNK1136: ファイルが無効であるか、 または壊れています。
と出ます

続きます
470名前は開発中のものです。:04/05/02 15:16 ID:y/UaHwjT
simpleXでやった時は↓のようなのをビルドしました

#include<simpleX.h>

void StartUp()
{
}

void MainLoop()
{
Clear();
Text(0,0,"Hello World");
}

そうすると
・resu warning LNK4003: ライブラリの形式が無効です。ライブラリは無視されます。
この警告が4つと
・resu fatal error LNK1561: エントリー ポイントを定義しなければなりません。
となりました

resuってのはプロジェクト名です
471464:04/05/04 20:27 ID:Nhb0M37d
よっしゃ、何とかしたで!

パスの順番変えたり、いろいろしたら出来ました
472名前は開発中のものです。:04/05/07 09:39 ID:7PPmi+4T
腹へった
473名前は開発中のものです。:04/05/09 18:56 ID:FkW++Xq5
メシ食ったか?
474464:04/05/10 20:05 ID:XWABRbZ8
elについて質問していいですか?

http://www3.justnet.ne.jp/~botchy/sample/Sam0201.cpp
>// 3Dを使って開発する場合、必ず必要です。
>#define DIRECT3D_IM

これってDirectXSDKにある何かですか?
具体的にどのように設定すれば上のコードをビルドできますか?
475名前は開発中のものです。:04/05/10 20:31 ID:XWABRbZ8
すいません、依存関係ってとこにいろいろぶち込んだら動きました

「質問書く前にいろいろ試せや、このタマキン野郎が!」って罵ってください
476名前は開発中のものです。:04/05/10 23:11 ID:b3c9N5XP
質問書く前にいろいろ試せや、このタマキン野郎が!
477464:04/05/11 19:45 ID:mn01Zinh
>>476
乙です
478名前は開発中のものです。:04/05/16 15:21 ID:cS86WeRi
ほんと低レベルな質問で申し訳ないのだが、弾が難しい。

シューティングってほどでもないんだけど、自機が弾を撃つのね。
でも画面上に一つしか出ないのよ、次撃つと前のが消える。
弾の座標が一個分しかないからなんだろうけど。で、サンプルみたいなのを見てみたら
配列を使ってたのかな?当たり前なんだろうけど、それで弾を一つ一つ管理してたのかと
少し分かった気がしたのですよ。でもどう組めばいいのか解らない・・・・

普通はどのようにしてるのでしょうか?

479名前は開発中のものです。:04/05/16 17:51 ID:b74ZsW5L
Cだと
//弾定義
struct _Tama
{
  int x;
  int y;
  bool isAlive;
};
//定義した弾を配列で宣言
struct _Tama tama[16];

//撃つとき
for(i=0;i<16;i++)
{
  if(!tama[i].isAlive)
  {
    tama[i].isAlive = true;
    tama[i].x = 弾出現位置X
    tama[i].y = 弾出現位置Y
    break;
  }
}

が、一番シンプルかな・・・。
480名前は開発中のものです。:04/05/17 17:08 ID:6yEm3iSB
なるほど、微妙につかめてきました。どうもです
MOTHERでいうと最初の電気スタンドを倒したところです
481名前は開発中のものです。:04/05/18 16:37 ID:H7HjmD2r

すいません、elだとどんな感じになりますか?

bool ってのは真偽の為のものですよね?
482名前は開発中のものです。:04/05/18 17:57 ID:mlpq/arS
boolが使えなかったら{
int isAlive;//弾の生存フラグ
で、isAlive=0が画面に出てないヤツ、isAlive=1が画面に出てるヤツとか、
2つの状態を区別できれば、型はなんでも大丈夫だよ
483名前は開発中のものです。:04/05/18 20:20 ID:oOiAEM3V
el ってCベースというか、Cそのものだと思うんだが。
484名前は開発中のものです。:04/05/18 21:56 ID:z93EQDk5
そのCがあまり分からないのです。

つまり作れないって事です
485名前は開発中のものです。:04/05/18 23:04 ID:oOiAEM3V
作れないなら、まぁ、がんばれというか、勉強してください。

479さんの上げた例はCなので多分問題なくいけるはずですが。
使用言語の基本書式とか理解してないとゲーム以前の問題になりませんか。

「猫でもわかる」でぐぐったりしてもう少し基礎の所からはじめるのをお勧めします。
もしくはツクール。
486名前は開発中のものです。:04/05/19 02:06 ID:39xvAhxl
Cできなかったらelもあまり分からないことないですか?
487名前は開発中のものです。:04/05/19 02:48 ID:KEtzYPtB
>>486
学習ガイドライン
1.Cを覚える(教科書は「猫でもわかる〜」でOK)

2.elのサンプルコードを読む(判らない部分はとりあえずgoogleへ)

3.elのサンプルコードを改造する(一ヶ所変えるたびにコンパイルして実行)

4.本番(もう何も言うことはない)

途中のステップをとばすと「自分が何を判らないのか判らない」状態にはまるから
トータルで考えれば時間の無駄になるよん。
488478:04/05/19 16:33 ID:ryT9K2cQ
親切な助言どうもです。
Cは基礎は大丈夫だと思います。まあ、これも勉強します。

>2.elのサンプルコードを読む(判らない部分はとりあえずgoogleへ)

>3.elのサンプルコードを改造する(一ヶ所変えるたびにコンパイルして実行)

で、今ここら辺をやっているわけですがSc2のコードを見て弾の部分を理解しようと試みています。
余計なものが多くてややこしいですが、頑張ってれば理解できそうな感じです。
489名前は開発中のものです。:04/05/19 16:52 ID:ryT9K2cQ
とと、いろいろいじってたらエラーの数も減ってきて遂に0に。
もう少し頑張ってみれば何とかなりそうです。

やっぱ成長するにはいろいろ悩まないと駄目ですね。
490名前は開発中のものです。:04/05/19 20:50 ID:AQMqopBj
>>488 君は >>484 とは別人なのかな?
491名前は開発中のものです。:04/05/20 17:21 ID:Mw1SlL99
>>490
いや、同じです
というか>>484以外はだいたい自分です、>>464です。
492464:04/05/22 14:11 ID:ptk8g+iv
>>479
最初は何のことだか解らなかったのですが、構造体ということがやっと解りましたw
これは便利ですね、少し賢くなりました。どうもです
493464:04/05/25 16:53 ID:QdGCgPCN
構造体と++のクラスってのは似たようなものですか?
494名前は開発中のものです。:04/05/25 19:01 ID:FiBx1oTV
struct X
{
  int a;
};


class X
{
public:
  int a;
}:
はかなり似てます。
495名前は開発中のものです。:04/05/25 19:02 ID:FiBx1oTV
あ・・・・・・・。

誤) }:
正) };
496464:04/05/26 22:39 ID:U7ffWaSi
どうもです
497HSPビギナー:04/06/21 18:45 ID:CIr1o5ig
初めまして。今日からHSPを学ぼうと思っております。初心者ですがよろしくお願いします。
それで、さっき5時間くらいかけて初めて数当てゲームぽいものできたのですが、ここにソース貼り付けたら何かアドバイスしていただけるのでしょうか?
498名前は開発中のものです。:04/06/21 23:04 ID:M6UaUL66
>>497
数当てゲーム程度の規模だとあまり工夫の余地がないのでアドバイスしにくいかもなあ。
「上手く動かない」とかならともかく
499HSPビギナー:04/06/21 23:32 ID:CIr1o5ig
>>497
レスありがとです。そですか〜、では次に簡単なものって何があるか分かります?テトリスとかですかねぇ・・?
500HSPビギナー:04/06/21 23:35 ID:CIr1o5ig
連レススマソ
上の>>497>>498の間違いです_| ̄|○
501名前は開発中のものです。:04/06/23 12:50 ID:MYfPkn/Q
>>500
15パズル。
数当てで使ってると思われるinputなどのコントロールを使わないやつを練習すべし。
502HSPビギナー:04/06/30 20:16 ID:vWGgncp3
一週間ぶりにカキコします_| ̄|○
15パズル作ろうとしてるんですが、どうやったら作れるのかまだ分かりません。
自分的に考えているのは↓
1.まず○を → ○○○○
         ○○○○
         ○○○

と表示し、
2.次に○のなかに数字を振り分け、

3.最後にクリックすれば○が無い方向に動く

というようにすればできると思うのですがどうなのでしょうか?

これであっているのなら、まず初めのどうやったら○が並ぶのかがいまいち分かりません_| ̄|○
教えて君ですいませんが、お願いします。

P.S 長文&読みにくい文章でスマソです_| ̄|○
503HSPビギナー:04/06/30 20:24 ID:vWGgncp3
連レススマソ

○○○○
○○○○
○○○
と表示させたかったのですがずれました_| ̄|○
504名前は開発中のものです。:04/07/01 02:59 ID:Er33M+6r
>>502
01020304<改行>
05060708<改行>
09101112<改行>
131415■<改行>
HSPはしらないけど、↑みたいに表示すれば文字だけでも表示できる。
上下左右を押すと■がその方向の数字と入れ替わるようにすれば充分かと。
505501:04/07/01 16:23 ID:Uuze0tzS
>>502
504の言うように、空白が移動方向のパーツと入れ替わるようにすればいい。
ポイントは配列変数、空白の座標の管理だな。
表示は各パーツごとに表示する。こんな感じ。テキトーに改行してくれ。

//パーツの表示サイズ
#define PARTX 32
#define PARTY 32
#const PARTBX PARTX-2
#const PARTBY PARTY-2

dim part,4,4:px=3:py=3//配列宣言と空白の座標

//配列に数値を格納
i=1:repeat 4:y=cnt:repeat 4:part.cnt.y=i:i++:loop:loop
part.px.py=0//空白部分は0にする

//表示してみる
color:boxf
repeat 4:y=cnt:repeat 4
if part.cnt.y {
xx=cnt*PARTX:yy=y*PARTY
color ,,255:boxf xx,yy,xx+PARTBX,yy+PARTBY
color 255:pos xx,yy:mes part.cnt.y
}
loop:loop

stop
506名前は開発中のものです。:04/07/02 12:25 ID:u1M+Bkgk
フリーでRPGには何が必要ですか?
win98を使っています
507名前は開発中のものです。:04/07/03 21:18 ID:dqxJIYXl
自分が考えていることを的確に相手に伝える文章力
508名前は開発中のものです。:04/07/04 02:44 ID:/gx8vrG/
知性
509HSPビギナー:04/07/12 01:52 ID:NjMiC/7h
>>505
自分なりに解釈してみました。

//パーツの表示サイズ(定義しておく)
#define PARTX 32 //PARTXは32である
#define PARTY 32 //PARTYは32である
#const PARTBX PARTX-2 //PARTBXはPARTX-2である(つまりこの場合は30である)
#const PARTBY PARTY-2 //PARTBYはPARTY-2である(つまりこの場合は30である)
dim part,4,4 //配列宣言(part 0,0 から3,3 まで使用できるようにする)
px=3:py=3 //空白の座標
//配列に数値を格納
i=1 //とりあえずiに1を代入
repeat 4 //4回繰り返す
y=cnt //とりあえずyにcntを代入(初めのリピートについての回数になる)
repeat 4 //4回繰り返す
part.cnt.y=i //part.cnt.yの座標の値はi(この場合のcntは後の方のリピートについての回数)
i++ //iに1を加える
loop //後のrepeatについてのループ
loop //初めのrepeatについてのループ
part.px.py=0 //空白部分は0にする(つまりpart 3.3は0)
510HSPビギナー:04/07/12 01:55 ID:NjMiC/7h
//表示してみる
color //色の設定(ここでは黒)
boxf //塗りつぶし(指定していないので背景が塗りつぶされる)
repeat 4 //4回繰り返す
y=cnt //yにcnt(ループ回数)を代入
repeat 4 //4回繰り返す
if part.cnt.y { //もしpart.cnt.yなら
xx=cnt*PARTX //cnt*PARTXをxxとする
yy=y*PARTY //y*PARTYをyyとする
color ,,255 //ここでは青色に設定している
boxf xx,yy,xx+PARTBX,yy+PARTBY //(xx,yy)と(xx+PARTX,yy+PARTBY)を左上、右下の点として、矩形(四角形)を塗りつぶす。
//描画色は、color命令で設定されたものになる。
color 255 //色の変更(ここでは赤色にしてある)
pos xx,yy //カレントポジションを(xx.yy)に指定
mes part.cnt.y //カレントポジションからpart.cnt.yを表示
} //上のことをまとめてする(xx=からmesまで)
loop //後のrepeatについてのループ
loop //初めのrepeatについてのループ
stop //プログラムの実行を一時中断
一行ごとに説明入れてみたので長くなりました_| ̄|○
違ってたら指摘おねです_| ̄|○
(ってかこんな説明いれるのに凄い時間がかかった俺って・・・| ̄|○)
511501:04/07/12 21:06 ID:Fg4Dow09
>>510
あってる。準備と表示の基本がわかったと思う。
あとは表示部分をサブルーチンにしてしまい、以下の段取りで作っていけばいいかと。
*スタート
・準備。(配列に数字を格納する)
・最初の配置表示。(表示サブルーチンを呼ぶ)
・キー入力を待つ。(いわゆるスタートボタンを待つ待機)
 この時、開始のキーを画面に表示してアナウンスするのが望ましい。
 例:「クリックでスタート」とか。
・シャッフル開始。(空白を300回くらいランダム移動させる)
・シャッフル後の配置表示。(表示サブルーチンを呼ぶ)
 この時、シャッフルで空白を一回動かす度に呼べば、
 プレイヤーにシャッフル中の画面を見せる事になる。そこはお好みで。
*メインループ
・プレイヤーのキー入力を待つ。(マウスでもキーボードでもお好きに)
・空白が動いたら配置表示。(表示サブルーチンを呼ぶ)
・揃ったかどうか判定。
・揃ったらメインループを抜ける。(*揃ったへ)
・揃ってなければ *メインループへ。
*揃った
・揃ったうまを表示。
・プレイヤーのキー入力を待つ。
・*スタートへ。(繰り返し遊べるようにする)

メインループは当然無限ループになるから、waitかawaitは忘れずに。
わからなくなったらまた聞いてくれ。
512HSPビギナー:04/07/13 22:14 ID:OxDPuipy
ありがとうございます。
で、いきなりなんですが空白と移動方向のパーツをどうすれば入れ替わるのかが分かりません・・・
repeat
await 10
stick key,0
if key!0 : gosub *keyget
loop
*keyget
if key=1 :
if key=4 :
if key=2 :
if key=8 :
return

ifの後に空白と移動方向のパーツの入れ替えを行いたいのです。
よろしくお願いします。(表示は504にあるソースを引用させてもらってます)
513名前は開発中のものです。:04/07/13 22:43 ID:N2yNRIPu
焦る気持ちは解るが、もう少し自分の力で試行錯誤してみようとは思わないのかね?
514名前は開発中のものです。:04/07/13 23:14 ID:hVT4K+XE
o 自分が初心者であることを全面に出す
o 「よろしくお願いします」

これも嫌われるのでやめた方がいいですよ
515HSPビギナー:04/07/14 06:24 ID:MKaeeCfq
>>513,514
そうですね・・以後気をつけますλ....
516名前は開発中のものです。:04/07/14 08:33 ID:x4u7RW7f
>>515
自分のやりたいことを実現するには、作業を細分化して考えるんだ。
表示方法、盤の状態をどんなデータで持つか、どんな条件の時は入れ替えないのか。
データの入れ替え自体はそんなに面倒でもないだろ?
517HSPビギナー:04/07/15 23:33 ID:fffn1Y5+
試行錯誤を繰り返した結果エセ8パズルできました。(8ができたら15ができるとおもったので^^;)
とりあえず数字のみが動くようにしました。一応はっときます↓
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazru.as
ぐちゃぐちゃですが「こうしたほうがいいよ」みたいなことがあればレスおねです。
518501:04/07/16 05:25 ID:KYwEYXqC
>>517
これらの命令を調べてくれ。エディタで命令を書いて、そこでF1を押せば説明が出る。
・gosub、return、repeat、loop、gcopy
すぐに使うことになるから、よくわからなくても説明だけは読んでおく事。
できれば、「これらの命令を使えば物凄くソースが短くなるかも」という事に気が付いてもらいたい。

・シャッフルについて
このシャッフル法だと絶対に解けない場合が出てくる。空白をランダムに移動させる方法をとるべし。

配列変数ってのは、小学校とかに下駄箱あるじゃん?あれが配列変数。
横と縦のそれぞれ何番目かを指定する必要があるが、マス目で並んでるので便利。
4x4の配列変数を作った場合、15パズルと見た目が同じになるから使わない手はない。
当然9パズルの時は3x3の配列変数を作ればよい。
配列変数の作り方は・・・。詳しくはマニュアル読んでくれ。
ちなみに3x3の配列変数を作るには dim 変数名,3,3 と書く。
こうするとメモリに
□□□
□□□
□□□
というふうに変数が並ぶ。(下駄箱ができると思えばいい)
左上にアクセスするには、変数名.0.0。一番下の段の真中は、変数名.1.2。

とりあえず、意地でも配列変数を使ったバージョンに書き直してほしい。
(これができないと、ロールプレイングもシューティングも作れないから)
519HSPビギナー:04/07/16 20:47 ID:Y+cW3MUc
dim関数を使ってシャッフル法も変えてみました
使い方合ってるかどうか分かりませんが一応形になったので乗せます
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazuru02.as
少しは短くなったような気はしますがまだまだ多いです_| ̄|○
reprat,gosubあたりをもう少し効率よくつかえればなぁ・・・
520名前は開発中のものです。:04/07/16 22:07 ID:70qYYQBd
>>519
「字下げ」も覚えたほうがいいだろうねぇ。(解らなかったらぐぐってみてね)

ところで自分でリストを見直してみて、ほとんど同じような処理を
延々と書き続けていることには気が付いているかい?
何故そう書くことになったのか考えてみよう。
共通の処理で済ませるにはどうしたらいいかな。

まったく同じcolor命令がずらずら並ぶのをなんとかしてみよう。
521501:04/07/17 03:55 ID:GnjMzHwj
>>519
ソース見せてもらった。だいぶスッキリしたじゃないか。
あのラベルとifの羅列は自分でもなんとかしたいだろう。
そのためには、パーツ移動の考え方を変える必要がある。
つまり、入れ替える方法だな。
上のレスで配列変数を小学校の下駄箱に例えたが、入れ替える方法もそのまんまだ。
□□□  □□□
□□□→□□□
□□■  □■□
黒い所に自分の靴が入っているとする。それを左に移したい場合どうするか?
519ならどうする?
まず、動かしたい靴を自分の手に持たないか?
つまり、一旦別の場所に保管するわけだ。プログラミングで値を保管したい場合どうする?
変数に入れるだろう。答えは、「一時保管用の変数を用意」するだ。
2箇所の靴を入れ替えたい時は?・・・両手を使うだろう。保管用の変数が2個必要ってこった。
何も難しい事はないだろう。

サブルーチン(gosubで飛んだ先の事)の中でgotoはやってはいけない。これはプログラマーの暗黙の了解。
俺は519が作った数当てゲームのソースを見ていないから15パズルを薦めたが、荷が重かっただろうか。
522名前は開発中のものです。:04/07/17 16:51 ID:NsP+EN2X
>>519
*za02から*xy802までがまるまるコピーしたルーチンだね。
まるっきり無駄なのは本人もわかってるんだろうケド。
523HSPビギナー:04/07/20 22:25 ID:E/KOizbb
gosubのなかでgotoすれば、もしかしたらループから外れてしまうかもしれないのですね・・
少し直してみました。変数を使ってやってみましたが、考え方はこれであってるのでしょうか?
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazuru03.as
そもそもクリックの座標の取り方を変えなきゃだめですかねぇ・・
524501:04/07/21 20:06 ID:KwUOdNli
>>523
考え方はあってると思うが、無駄が多いのは確か。
お題変えていいか?15パズルはまだ無理だと判断したぜ。
休憩がてらにこの課題をやってみてくれ。
523の実力がどんなもんかを把握しておきたい。

課題:キーボードの十字キーで●を動かすプログラム。
シューティングの自機を動かす練習でもあり、メインループという仕組みを学ぶ事もできる。
stop命令を使わずにこの課題をクリアしてみそ。
525HSPビギナー:04/07/22 17:45 ID:fcznb9Aj
526名前は開発中のものです。:04/07/22 18:56 ID:O9iIDjrW
>>525
それができるなら>>523のソースはありえないと思うんだが……
527501:04/07/23 21:20 ID:QxYTfUZ3
>>525
あのさ、526に同意だぜ。それができるなら523のソースはありえんかと。
メインループってのがわからない人かと思ってた。
自分で考えたよな?どっかのサイトのをコピペしたんじゃないよな?
悪いけどコピペしたように見えちまうぜ。
メインループもしっかりしているし、どの部分をサブルーチンにするかの選別も完璧だ。
画面外処理にも気をつかってるようだし、523のソース書いた人と同じとは信じがたい。レベルアップしたって事なら心から祝福するが・・・。
とりあえず自分で考えたって事で話を進めるぜ。実力はわかった。
ここまでできれば15パズルなんざ屁でもないはず。
メインループを使って組んでみてくれ。
528HSPビギナー:04/07/27 22:13 ID:MycCT3Ob
コピペではないのですが、顔が移動するっていうソースを参照したのは確かです。。
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazuru04.as
いつdim関数を入れ替えればいいのかがまだ理解できません_| ̄|○
529520:04/07/28 08:06 ID:dtD/YKE5
大分スッキリしてきたね。(^^
でもまだ似たような処理が複数あるし、ループ内で行う処理の流れも把握し切れてないみたいだ。

たとえば『*move』で行う処理を単純化して変数keyの値(stick命令で得た情報)をもとに
「→が押されたときの処理」など別のサブルーチンに飛ばすだけにしてみたらどうだろう。
その飛び先で例外処理(528の『if n>358』みたいな場合、処理前にそのサブルーチンから抜ける)を行う。
配列内の値(マスの数字)はそこで入れ替えればいい。

ただし、この方法で行うにしてもメインループから『*sub』が毎回呼ばれるようでは
配列内の数値が毎回初期化されてしまうよね? 
それは『*sub』内で配列に数値を入れているからだよね?
だからループ内で行うべき処理とそうでない処理を分割してみよう。
530501:04/08/07 01:45 ID:2Nt1AYKG
>>528
マイルール作ろうぜ。
if key=8と書いてる所とif key = 128と書いてる所があるが、イコールの前後に空白を開けるか開けないか決めたほうがいい。
あと、変数の名前の付け方とかも決めたほうがいいな。
それを決めるとプログラミングの上達が速いから。騙されたと思って統一させてみな。
いつdim関数を入れ替えるか?中身をいつ入れ替えるかってこと?
当然空白が移動した時。順番はこう。
1、空白が移動できるなら元の位置を捨て変数に代入して移動。移動できなければ何もしないでメインループに戻る。
2、元の位置と現在の位置の中身を入れ替える。
3、画面に反映させる。(描画サブルーチンを呼ぶ)
こんな感じ。
空白の位置がどこかは配列を調べていってゼロの場所を探せばいいが、
>>505の俺のサンプルでは空白の位置をわざわざpx,pyに格納してるよね。なんでだと思う?
>>528の修正版ではわけもわからずpx,pyを使ってるみたいだね。
こうやって空白の位置を専用の変数に入れてるのは、こうしたほうが入れ替えが楽だから。
カーソルキーを押した時に変化させる数値はpx,pyって事。
空白はRPGの主人公と同じ意味。とりあえず今回はこんだけのヒントでなんとかなるかも。
531名前は開発中のものです。:04/08/10 13:20 ID:GK5zdL7G
マインスィーパを作りたいのですが、何をはじめていいかさっぱり・・・_| ̄|○
ご助言を受け賜りたいです。
532名前は開発中のものです。:04/08/10 13:49 ID:hjsHi1LT
>>531
使用する言語は何かわからんけど
とりあえず絵の表示とキー入力の取得が先かな
まぁ、これはマインスィーパに限った話じゃないが
533名前は開発中のものです。:04/08/11 09:34 ID:2huBTHVu
>>531
何がわからないのか書いてくれないと答えようが無いんだが……。
ホントになにもできないなら>532の言うとおりになる。

とりあえず
配列を用意して機雷を配置 (機雷が規定個数入った配列を用意して乱数で並び替え)
配列を順にチェックして、空欄の時は周囲8マス内にある機雷の数を入れる
マスが隠されているか開いているかの状態を表す配列を用意(531ができるなら上と同じ配列を使って処理しても良い)
クリックしたマスが隠されたマスなら中身を表示(機雷ならゲームオーバー)

周囲の機雷が0だったときの処理はひとまずおいといて、
ここまでやってみれ。
534名前は開発中のものです。:04/09/11 21:03:54 ID:6KaBvFrn
ウインドウをいくつか開く事を前提としたプログラムなのですが
プロシージャは窓ごとに別に持つのでしょうか
535名前は開発中のものです。:04/09/12 17:41:51 ID:1J5Jinh8
持たずに制御できるんなら別に
536名前は開発中のものです。:04/09/12 20:34:36 ID:Fy//4hU/
という事は持つのが普通で
それでかまわないという事でしょうか
遠まわしにありがとうございます
537('Д`):04/10/09 00:24:07 ID:lQ9GPwTv
このスレ使わせてもらいま。
最近VC++はじめた。
とりあえずC、C++勉強しつつ、パイナッポみたいなゲームを作ろうと思う。
538('Д`):04/10/09 00:32:13 ID:lQ9GPwTv
パイナッポについては下記サイトのコンテンツを参照してくださいね
ttp://www.mercury.sannet.ne.jp/yy3_yudai/freegame_guide/pinappo_guide/pinappo_index.htm

ダウンロードはvectorからドゾー(C&Cランタイムが必要)
ttp://www.vector.co.jp/games/soft/win95/game/se257409.html
539名前は開発中のものです。:04/10/09 12:02:19 ID:YEj74aTw
540名前は開発中のものです。:04/10/09 17:00:00 ID:wN3VFUnf
アゲ
541('Д`):04/10/09 20:05:23 ID:lQ9GPwTv
>>539
ありがとう。
542名前は開発中のものです。:04/10/09 23:11:08 ID:5Wk9KMOv
543名前は開発中のものです。:04/10/10 02:19:16 ID:LGf+Gaaw
Cでタイピングゲームを作ろうと思っているんですが、
参考になるサイトってありませんか?サンプルソースとかがあったりしたらサイコーです。
アルゴリズムとかがなかなか思いつかない。
544名前は開発中のものです。:04/10/10 02:54:41 ID:XFGTmMvI
>>543
昔ベーマガに載ってた記事
ttp://www.marchen.to/_old/bm15.pdf
545543:04/10/10 16:51:20 ID:V6ewNBHZ
>>544
すげぇっスこのサイト。
参考にします!ありがとうございま!!
546('Д`):04/10/11 10:37:25 ID:wxx0x9uV
とりあえず自機移動まで(適当です)
スペースキーで弾も出るけど動きはなし
今はクラスの継承とマクロ定義?なるものを勉強中
それと素材くれた方ごめんなさい
http://gamdev.org/up/img/1528.zip
547名前は開発中のものです。:04/10/11 20:26:42 ID:6Zwl7lU+
548名前は開発中のものです。:04/11/04 19:38:23 ID:vl8uXPTK
このスレの100あたりに載ってた宝探しゲーム面白すぎる・・・
549DelphiでSLG製作中:04/12/18 12:47:10 ID:iheJYytz
マスの描画で悩んでいるんですけれども、ご教授願います。
今、ヘクス型のSLGを作成していてマウスの乗っているヘクスに枠を乗せたい訳です。
しかし、どうしても画面のちらつきが発生してしまい困っています。
Form1.DoubleBuffered := True;
にもしているんですがちらつきを抑えられません。
因みにヘクス枠の描画方法は、表示するイメージとは別の、枠の無いイメージを用意し、マウスがポイントするヘクスが移動する度にそこから前にマウスがあったヘクスの部分を切り取って表示するイメージに貼り付けし、新しいヘクスに枠を書き込むという方法です。

コードはこちら
if (X3 <> X4) or (Y3 <> Y4)
then
begin //外枠描画
Image1.Canvas.CopyRect(Rect(X4,Y4,X4+48,Y4+48),Image2.Canvas ,Rect(X4,Y4,X4+48,Y4+48));
Image1.Canvas.Draw(X3,Y3,MouseTip);
X4 := X3;
Y4 := Y3;
end;

X3,Y3…マウスが乗っているヘクス
X4,Y4…その前にマウスが乗っていたヘクス
Image1,2…1が表示するイメージ、2が非表示のイメージ
Mousetip…ヘクス枠のBitmap名
550DelphiでSLG製作中:04/12/18 16:11:49 ID:iheJYytz
追記
ちらつきというのは、ずっと画面がちらつくというのではなく
新しい枠を描画する毎にちらつきの様なものが発生するという意味です。

その為、
procedure TMainForm.WMEraseBkgnd(var m : TWMEraseBkgnd);
begin
m.Result := LRESULT(False);
end;
をやってみましたが効果はありませんでした。
551騎士の紋章 ◆H611rReG66 :04/12/19 03:36:31 ID:mkdjQU32
私も参戦させて下さい。
とりあえず、目の前の問題解決から。
A  Cでコンソールによるファイルの入出力。
B  自動ダンジョンもどき(ファイル出力)。
C  数当て。
552騎士の紋章 ◆H611rReG66 :04/12/19 04:19:14 ID:mkdjQU32
とりあえず、 「A  Cでコンソールによるファイルの入出力。」は出来た。
でも、ソースをUpできない・・。(Gamedevに繋がらない。
553名前は開発中のものです。:04/12/22 11:38:48 ID:zs0cHsG2
373 名前: ◆NZ9myhrGS6 投稿日: 04/12/22 10:55:01 ID:y04a6POy
俺にポポロクロイス物語シリーズの最新作を任せてほしい
Tを上回る史上最高の傑作を作る自信がある。どうですかソニーさん
今のPS2になり余計なことばかりして自家撞着してるポポロを俺が
世紀の名作に戻してあげますよ。
その点では幻想水滸伝も同じか・・・Tであれほど名作だったのに続編になるごとに
退化を続け、PS2版になると完全に別のゲームに成り果ててファンを引き裂いた幻想水滸伝
あれも俺に最新作を任せてもらえれば完全にもとの輝きを取り戻してあげますよ、どうですかコナミさん
×××@hotmail.co.jp連絡はここまでお願いします

しかしRPG不作の時代は続きますねー PS2になって5年も経つというのに
PS2でのRPGの名作はまだゼロ。佳作としてグローランサーWがあるぐらいですかね
ちょっと肉付けしてシナリオとストーリーを変えるだけで新たに遊べるのに、
そのレベルにすらいかない。退化を続けるRPGの歴史に歯止めをかけたい
554名前は開発中のものです。:04/12/22 19:03:53 ID:JZkoDinq
>>549
一度、画面に表示するまえにTBitmapを作ってそこに描画する
すべて描画が完了したら実際にformに表示する
555名前は開発中のものです。:04/12/23 12:28:15 ID:Pdlo8kEQ
DoubleBufferedをScrollBoxでなくてFormにしてました。
すいませんでした。
556名前は開発中のものです。:05/01/20 01:22:23 ID:cRp2WmOq
これからプログラム勉強して(C言語とか)
ゲーム作ろうとしている初心者以前の存在なんだけど
ゲーム製作に必要なソフトって何?
「RPGツクール」とかはなしで
557名前は開発中のものです。:05/01/20 08:04:01 ID:yg5XQfov
メモ帳とコンパイラ
558名前は開発中のものです。:05/01/20 20:10:57 ID:ah8XuYc5
はっきり言ってRPGツクールをなめすぎ。
まずはツクール体験版落として使ってみろ、絶対挫折する
559名前は開発中のものです。:05/01/20 22:28:46 ID:cRp2WmOq
>>558
もう持ってる
560名前は開発中のものです。:05/01/20 22:45:05 ID:ArQp7Ull
>556
Cの基本的なプログラミングの流れは
テキストエディタでソースファイルにC言語で記述する(コーディング)
ソースファイルをコンパイラを使ってオブジェクトファイルに変換する(コンパイル)
オブジェクトファイルやライブラリをリンカを使って実行可能ファイルに変換する(リンク)
流れがわかれば何が必要なのかわかるだろってこれくらいは調べろよ

入門書も初心者向けサイトもそろってるこのご時世に掲示板でわざわざそんな
基本的なことを質問するのは恥じと知れ!
561名前は開発中のものです。:05/01/20 23:10:10 ID:Qn0XB5We
むしろ2chで聞くのを恥と知るべき
562名前は開発中のものです。:05/01/21 10:10:43 ID:Cb/R40jt
>>1
563名前は開発中のものです。:05/01/22 00:06:50 ID:peyOAfhZ
#include <windows>

int WINAPI_WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
){
MessageBox(NULL,"シャイニングアギト","メッセージです", MB_OK);
return 0;
}

エラー発生するんだが何がおかしいかわからない…助けてくれ
564名前は開発中のものです。:05/01/22 00:14:31 ID:SMeoGQLY
>>563
>#include <windows>
#include <windows.h>

>int WINAPI_WinMain(
int WINAPI WinMain(
565名前は開発中のものです。:05/01/22 00:20:00 ID:peyOAfhZ
>>564
Error: 外部シンボル '_main' が未解決
だそうだ、言われた通り直してみたが。

すまん、感謝してるが直らんようだ。
とりあえずぐぐってみる
566名前は開発中のものです。:05/01/22 00:38:51 ID:asf0tt+t
>565
VCか?プロジェクトはWin32プロジェクトで作ってるか?
BCCあたりならコンパイルオプションはつけてるか?
567名前は開発中のものです。:05/01/22 00:43:46 ID:peyOAfhZ
>>566
それだ。BCC使用中
オプション付け方わからんがそれは調べながらやってきます
568名前は開発中のものです。:05/01/22 01:10:00 ID:peyOAfhZ
ありがとう、コンソールのままコンパイルしていたよ
そりゃうごかねぇわ
569名前は開発中のものです。:05/01/22 01:35:13 ID:asf0tt+t
>586
オメ
570名前は開発中のものです。:05/01/24 00:41:22 ID:Ezc4NcwJ
#include <iostream>
using namespace std;

int main()
{
double a;


do{

cout<<"何フィートか入力。0で終了";
cin>>a;
cout<<a*12<<"インチです。\n";

}while (double !=0.0);

return 0;
}

main関数のエラーらしいが…色々替えてみても解決しないんだが誰か助けてくれないか
571名前は開発中のものです。:05/01/24 00:48:20 ID:PdrGtBBl
>>570
>}while (double !=0.0);
}while (a !=0.0);
572名前は開発中のものです。:05/01/24 01:04:52 ID:Ezc4NcwJ
>>571
あり得ないほど単純なミスの指摘ありがとうございましたorz
573名前は開発中のものです。:05/01/28 16:24:28 ID:NMVzdjq4
>>572
色分けできるエディタでも使ってみたらどうだい?
574名前は開発中のものです。:05/01/31 02:08:04 ID:ywW+fA0q
>>572
サクラエディタがイイ感じ
575名前は開発中のものです。:2005/04/29(金) 23:05:09 ID:pQOGYAUX
質問です。作成環境はVCなのですが、
WINAPIで文字列を描画するさいに行間、字間をあけると指定したRECT構造体の範囲に入りません
SetTextCharacterExtra()で幅を決めていますがどうしてもずれてしまいます。
何かうまい方法は無いでしょうか?
576名前は開発中のものです。:2005/04/29(金) 23:25:20 ID:Ltz+njiU
フォントがまずいんでねーの?
詳しくはしらんが、等幅フォントとプロポーショナルフォント(文字によって幅が違う)
ってのがあるから、そのへん見てみたら?
577名前は開発中のものです。:2005/04/29(金) 23:29:35 ID:pQOGYAUX
クリエイトフォントでピッチを固定幅にしたら字幅0では解決しました
ですがなぜか字幅を増やせば文字が重なる、という状況に。
やっぱりソースコード全部乗っけた方が良いでしょうかそれともどこかにUPする方でしょうか
578名前は開発中のものです。:2005/05/01(日) 10:22:06 ID:O5JkL057
C言語使用中
AVGで画面のサイズを取得してテキストの量と比較して一ページ、というのを作り出す
っていうのは改行の回数を取得してやるしかないんでしょうか?
579名前は開発中のものです。:2005/05/01(日) 11:42:19 ID:WfF8UdlQ
質問の答えじゃないんだけど一つ。
同じページ内の情報が場合によって変わるようになると、
変な位置で改ページが挟まることになって可読性が落ちてしまわないか?
580名前は開発中のものです。:2005/05/01(日) 11:58:18 ID:O5JkL057
改ページ自体のイベントも作り、さらに自動で改ページもする、っていう形でやるつもりなので
変な位置で改ページが挟まる可能性は無い…と思います。
581名前は開発中のものです。:2005/05/01(日) 13:35:00 ID:O5JkL057
一行ごとに読み込んでウィンドウがいっぱいになったら白紙にしてまた一行ごとに読み込んでいく
っていうのなら出来そうなのですが、問題は一行ごとに読み込むにはfgets()しか知らないということなのです(´・ω・`)
Readfileで一行ごとに読み込む、ような形式の関数はないでしょうか?
582名前は開発中のものです。:2005/07/01(金) 23:38:04 ID:TgYhWr9I
ゲーム制作にはどのプログラムが最適なんでしょうか?
C++を勉強してるんですが知り合いからは
C++で作る意味はないんじゃないか?と言われます。
最低でもC言語は通る道だから覚えていいけど
もっと最適なプログラムあるだろうと言われましたが・・・、

ついでにビジュアルベーシックがいいとかも聞きましたが・・・
シミュレーションゲームを作るとして何が一番いいのでしょうか?
吉里吉里などではなく、0から作るつもりなのでよろしくお願いします。
583名前は開発中のものです。:2005/07/01(金) 23:40:45 ID:I7hFACH/
釣られないゾー
584名前は開発中のものです。:2005/07/02(土) 00:54:15 ID:c/vA3z+6
>>582
君は2つの悩みを抱えているね
・どんな言語を習得するべきか
・どんな言語でゲームを製作するべきか
これは似たようでいて全然別のことなんだ

前者については沢山の言語を覚えろとしかいいようがない
このサイトが参考になるんじゃないかな
http://www.yamdas.org/column/technique/21-daysj.html

後者についてはもうちょっと詳しく知らないと無責任なことしかいえないけど
おそらく10人に聞いたら8〜9人はCかC++って答えると思うよ
今まで発売された中で最もクールなSLGの一つ「かえるにょぱにょ〜ん」はアリスソフトの「System」という
スクリプト言語で書かれているし生産性を重視するならRubyやPythonを薦める人もいるだろう
でもC/C++はほんとにパワフルでクールな言語なんだ
君は「0から作るつもり」と言っている。数字を0から数えるのはとても大事だ
これはC/C++を使う資質があるってことだから自信をもっていいと思うよ
585名前は開発中のものです。:2005/07/02(土) 05:11:42 ID:DaKyZ7xP
>>582
Cやその系列の言語が広まったのは、やっぱり幅の広さが
他の言語に比べて半端ない(そしてCの概念がほとんどの言語でも通る)ってことで、
もちろん普通に当たり障りなく勧めるならC++かもしれないけど、
とにかく色んな言語を『かじって』みて、自分の読みやすい言語から飛びついてみるのはどうだろう
基礎からコツコツ積み上げるのも大事だけど、好きな場所から喰らいついていけば楽に進めると思う

っていう俺もまさしく『ズブの初心者』なんだ(´・ω・`)ゴメンヨ
ただ、この世界って広くて数え切れないほどの言語があるけど、
「自分が想像しているゲーム」でやりたいこと、見つけたかったものが
簡単に出来る言語はやっぱり理解の進みが恐ろしいほど早いと思う

ま、俺が習得してるのはテラヨミヤススなPerlってこともあるんだけど(;´∀`)
586名前は開発中のものです。:2005/07/02(土) 13:09:34 ID:reo3tl9Q
Cの基礎は大体分かったんだけど、ここからは自分で何か作ってかなきゃ発展しないんだろなぁ。
このスレ序盤にあやかって五目並べでも作ってみるか…。
587名前は開発中のものです。:2005/07/02(土) 13:40:52 ID:DaKyZ7xP
>>586
あるあるwwwwww
ゲームを作りたい一心で勉強して、ある程度わかるようになったときに
「ゲームを作りたい」気持ちはあるんだけど
「どんなゲームを作りたい」って言うのが曖昧なままであることに気がついて
抜き差しならなくなって途方に暮れていたりな
588名前は開発中のものです。:2005/07/02(土) 16:45:08 ID:RRxqt4uN
つーか作りたいもんを形にしたいからやり始めるんじゃないのか
589名前は開発中のものです。:2005/07/02(土) 18:24:44 ID:cHnBxvpJ
自分が理想とするゲームを作るってのが基本なんじゃないかな
それが一番楽しめると思う
590名前は開発中のものです。:2005/07/02(土) 18:40:12 ID:cHnBxvpJ
思ったんだけど、>>586>>587ってかみあってないような気がする
591名前は開発中のものです。:2005/07/02(土) 19:20:51 ID:oFMG/Sl1
>>590
俺とおまえはハメあってるよ
592名前は開発中のものです。:2005/07/02(土) 19:26:43 ID:reo3tl9Q
>>587氏の言ってることで当たってまっす。
プログラムの勉強が先にあって、それで何やりたいかって考え方してました。
理想とか作りたいもんとかはないけど、何かを作りたい、って言ったら変だと思われるんだろなあ。

とりあえず五目並べむずいっす。
593名前は開発中のものです。:2005/07/03(日) 19:59:15 ID:nAptENyF
>>592
よかった(´・ω・`)
書いた後で的外れかもしらんと思った

>>588
なんつーか、作りたいゲーはあるんだけど、
いざプログラム組めるようになるとアイディアの部品が足りない感じ

厚紙で三角柱(ゲーム)を作ろうとがんばってるときに、
四角い紙(自分の理想)ばっかり思い浮かべて準備したって、
実際に三角柱作ろうとしたら三角の紙もいるでしょ

それに気づかないまま、セロテープ(プログラム)を準備したって
三角柱は作れないし、紙とテープ持って呆然とするだけだよね
だけど紙を持ってないわけじゃないんだ、足りないだけで
どうしたらいいのか分からなくなって、人によっては
ガムテープとか持ってきて手を変え品を変え試行錯誤することもあるし

たとえが小難しくてすまんけど、なんだかそんな感じ
594名前は開発中のものです。:2005/07/04(月) 13:48:35 ID:coMm4scd
はじめまして。ゲームを作りたいと思っています。
ジャンルはRPGを考えています。
言語はC、ソフトはVC++が良いかなとか思ってます。(敷居は高いみたいですが^^;
で、質問です。
1:画像関係はどんなソフトが良いでしょうか?DirectXとやらが2Dにいい感じに思いました。
  もし3Dだとお勧めはありますか?
2:アイテムなんかはデータベースがあったほうがいいでしょうか?
 (メタルマックスとか好きだったので無駄アイテムとか一杯作りたいのですw)
  オラクル、SQL、と言うのをデータベースで見ました。
  このデータベースお勧め、等ありましたら教えてください。
595名前は開発中のものです。:2005/07/04(月) 14:22:17 ID:NlX6Fayz
ゲームのアイテムにわざわざオラクルを組み込むとは、
インストールに何GB用意させるつもりなんだろう?
いったいいくらライセンス料を支払うことになるのやら。
596名前は開発中のものです。:2005/07/04(月) 14:27:06 ID:coMm4scd
すいません、データベースについてはまだ名前しか調べてない状態でした。
どうやら、とてもサイズがでかくなる、高い、のですね^^;
あまりお勧めでは無いということがわかりました。
どうもありがとうございますm(._.*)mペコッ
597名前は開発中のものです。:2005/07/04(月) 15:28:03 ID:L7mrHbll
オフラインRPGならマスターデータの動的更新なんてないから
CSVで用は足りるだろ?XMLでもいいぞ

3Dは http://irrlicht.sourceforge.net/ これが楽そうだぞ
598名前は開発中のものです。:2005/07/04(月) 15:59:07 ID:coMm4scd
CVS:XML,調べてみます。
英語ページ:ダウンロードしてみました。
      早速何か書いてみます。

ありがとうございます!m(._.*)mペコッ
599名前は開発中のものです。:2005/07/04(月) 16:35:35 ID:EptZztwI
VC++とDirectXでゲームを作ろうと思ったが、相当苦労するねこれ。
つーか、プログラムにする前に、ゲームの構造を考えるのが難しい。
こんな感じにしたいなぁという妄想は有っても、じゃあここはどうするの?
あそこはどうなるの?っていう、細かいところがどんどん出てきて泣きそうになる。
600名前は開発中のものです。:2005/07/04(月) 18:17:53 ID:7BaigaRU
いきなりデカイもんを作ろうとしても挫折が待っているだけのような希ガス
601名前は開発中のものです。:2005/07/04(月) 20:03:00 ID:coMm4scd
^^;;
相当、、、苦労しますか
まぁ言語の最初からですし
一気にはとても無理ですので(;_; )Cの勉強度合いによって少しずつ・・・

絵は思いついたとき(ストーリーも完全にはできてませんが)書いて貯めていけたら
という思いです。

指導、応援ありがとうございました。
(^人^)感謝♪
602名前は開発中のものです。:2005/07/04(月) 23:12:43 ID:Hr3Bv2Nn
>>600
まあでも自分の作りたくないもの作り始めても
イライラして挫折するタイプの香具師はいる

俺とか orz
603とーしろー:2005/07/07(木) 18:57:22 ID:nMC2NI3d
自分で交易のゲーム(大航海時代みたいなやつ)を作ろうと思ったら、
どんなプログラムやコンピューターの知識・技術が必要ですか?
604名前は開発中のものです。:2005/07/07(木) 20:34:39 ID:D4AG0Gh5
>603
アルゴル系の言語の知識
データベースの概念
ゲームの基本構造
ビットマップの概念
アニメーションの概念
・・・
605名前は開発中のものです。:2005/07/07(木) 23:04:25 ID:WJmWSz/t
ゲームを作ったことがないなら、まず簡単な、本当に簡単なゲームを作ってみることをお勧めするよ。
ステップとしては、

1.文字だけで動くようなゲーム(ex. じゃんけんゲーム、数当てゲーム)
2.グラフィカルな表示をするゲーム(ex. ○×ゲーム、五目並べ)
3.アクションというか、ユーザーが操作しなくても時間で勝手にゲームが進行していくようなもの(テトリス、ブロックくずし)

ここまでくればどんなゲームも作れるよ。単純か複雑かの違いはあるけどね。

後は
・プログラムの構造(複雑で大きなプログラムをどう分割し、整理するか)
・ネタ(ゲームの内容)
だね。

606605:2005/07/07(木) 23:14:18 ID:WJmWSz/t
連カキするけど、きれいで整理されたプログラムを書きたいんだったらゲームを何個も何個も作ってみることだね。
以前に自分が作ったプログラムと同じ仕様のプログラムをもう一度作ってみるのもいい。

以前のソースを見てみると「うわー、なんだこの糞ソースは」と思うと思う。いや、思わなきゃまずい。成長してないってことだからね。
607名前は開発中のものです。:2005/07/09(土) 17:56:01 ID:NCrbWDmK
自分にあった言語で少し進めてみて、
パワー不足だと感じたら、ほかのを試せば良いんじゃないか?
ただ、VBとかだと変な癖がつくって言うね。
608603:2005/07/09(土) 22:51:26 ID:645gHNAv
「氏ね」とか書かれてないかな、とビクビクしながら覗いてみたら
親切なレスが書かれてあり感激しました。
自分に出来ることから始めていきたいと思います。
609名前は開発中のものです。:2005/07/10(日) 11:06:02 ID:H2c7Dvsi
お勧め言語はC#。
C++もいいけど、メモリの管理やらなんやら、自分の作りたいと思っているゲームとは直接関係のないコンピューターの処理の部分で大変だからね。
ズブの初心者なら特に。

そしてC#ではDirectXも使える。内部の難しい処理はManagedDirectXのクラスでカプセル化されているので、そんなに複雑なことをせずにDirectXを使える。
ゲームっていうからには、やっぱり文字だけや紙芝居じゃ満足しないでしょ?
「じゃあGDIからステップアップしてしてDirectXを使おう」ってことになった時にC++だと初期化処理だけで挫折しそうで。(ちなみに私はC++でDirectXはできない)

なんでVB.NETじゃないかというと、あれはVBで作られたソース(とVBプログラマ)を.NET環境に移行させるために作られた言語だから。
仕事でVB.NETを使っているし、趣味でC#を使っているから分かるんだけど、VBのソースと知識を引きずってるんでなければ選ぶ価値はないね。
ManagedDirectXのサンプルもC#だし。
610名前は開発中のものです。:2005/07/10(日) 14:37:07 ID:byzcfRe/
ちょっとスレ違いかもしれないけど、みんなはどういう順序でプログラムを勉強した?
具体的に言うと、最初の言語 何から始めたのかなって。
自分は、プログラムの基本概念を掴む為にBASICから入ったんだけど、
いきなりCとかやって、頭って付いていった?

自分だけだったら恥ずかしいな・・・
611名前は開発中のものです。:2005/07/10(日) 16:11:45 ID:6UX+xkax
最初Cやったけどわからんかったからhspやって
またCやったらわかるようになった。
612名前は開発中のものです。:2005/07/10(日) 17:43:26 ID:Zc5Q+m2+
Cはポインタの概念を理解するのが山だね
アルゴリズムとデータ構造を覚えるとCのが効率よく書けるようになるよ
613名前は開発中のものです。:2005/07/10(日) 19:01:28 ID:fRXxGGT8
ズブの素人で大学入学3ヶ月でいきなりC言語やらされて半泣きになりながら課題解いてた
614名前は開発中のものです。:2005/07/10(日) 19:23:20 ID:EmFjwcNs
俺は大学でRuby→Cだった。
Rubyの講師がなんの説明もせずにさっさと先へ進むから、ほとんどのやつがついて行けなかったな。もちろん俺も。
そのせいで、Cをやったときは、Rubyとは比べものにならないくらいのわかりやすさだ!って感動した。
きちんとやれば、Rubyも強力な言語なんだろうけど、なんかアレルギー見たくなっちゃって、やりたくもないw
615名前は開発中のものです。:2005/07/11(月) 05:08:33 ID:HabbrA0p
BASIC -> Z80アセンブラ -> C -> 86アセンブラ -> C++ かな。
(子供時代---------------学生--------------仕事)

Windowsのアプリケーションじゃなくて、ゲームが作りたいならネット上で公開されている
実績のあるライブラリの力を借りた方がいいんじゃないかな。
言語はCでもC++でもいい。
Windowsはとにかくめんどくさい。作法を覚えることが多い。

最近のDirectXは初期化からテクスチャ表示までが激しく簡単になってるから、
なれてくればライブラリに頼らず移行できるかもしんない。

>>603
最初からは無理。壁にあたって挫折し、プログラム自体が嫌になるかもしれないから
もっと規模の小さいゲームからステップアップした方がいい。
オセロ → テトリス → シューティング/アクション → SLG/RPG とかね。ガンガレ若者。
616名前は開発中のものです。:2005/07/11(月) 15:53:54 ID:8pxInMGX
Cだと絵をだすのも一苦労だから
なにやりゃいいかわかんないんだよな。
617名前は開発中のものです。:2005/07/11(月) 21:32:34 ID:52olu18R
>>609
C#を一から勉強しようと思ったら、どの本読んだらいいですか?
アマゾンで検索したら、たくさん出てきてわかりません。
618名前は開発中のものです。:2005/07/11(月) 21:52:00 ID:ZIKMY+Oi
いきなりC#は無謀だろ。
619名前は開発中のものです。:2005/07/11(月) 23:20:40 ID:XgiYnzTl
>618
そうかい?
「いきなりC++でオブジェクト指向は無謀だろ」なら分かるけど、美しいコードを書ける書けないは別として、
初めに触れる言語がC#ってのは別に悪い選択ではないと思うけど。
VBから始めろって?
620名前は開発中のものです。:2005/07/12(火) 03:15:09 ID:DN/b18Hv
>>619
ちょっと調べてみたが、無謀ってほどじゃないかもしれない。
でも、初心者向けの情報が少ない気がする。
621名前は開発中のものです。:2005/07/12(火) 03:19:59 ID:v1s94sc5
何がアレかって、C#の情報をC++の知識があること前提で
語ってるとこが多いことかな…。
もっと浸透して情報が充実してくれば、ズブの初心者にも
薦めやすいね。
622名前は開発中のものです。:2005/07/12(火) 17:36:54 ID:j3DbxfBu
Perl、PHP、JSPばかりしていてWindowsゲーアプリも作りたいなと思ってこのスレをのぞいたら……
早速VS.NETを買ってお試し版をインスコしてC#をいじったら、あまりの簡単さに驚きました。
C#楽しすぎです。ハマりました。このスレに来て本当に良かった。
623名前は開発中のものです。:2005/07/12(火) 17:42:52 ID:mK2p84gb
サムライワークス株式会社(所在地:東京都渋谷区、代表取締役:新島 実、以下
サムライワークス)は、英国The Game Creators社の開発した『DarkBASIC Professional』
の日本市場での独占販売権を取得し、『DarkBASIC Professional日本語版』を、
2005年7月8日にダウンロード版にて発売開始致します。

■概要
『DarkBASIC Professional日本語版』は高度な3Dゲームが作成可能な言語ソフトです。
さらにネットワーク対戦ゲームの作成にも対応しております。

今まで難しい言語ソフトを用いる必要があったPCゲームが、『DarkBASIC Professional
日本語版』を使うことにより、豊富な関数を利用して複雑なポリゴン処理を実現する高度な
3Dゲームが作成可能となります。

『DarkBASIC Professional日本語版』で作成したプログラムは、ライセンス使用料及び
著作権使用料がかかりません。

『DarkBASIC Professional日本語版』には、3Dキャラクター作成が可能な『Game Space
Lite』(英語版)とテクスチャ素材や3D素材を数百点を収納した『DarkMATTER』(英語版)
も同梱されていますので、すぐに3Dゲームの作成を始められます。充実した3D
キャラクターや素材があれば、市販ソフトに引けを取らない3Dゲームの制作が可能です。

製品種:Windows用ソフトウェア
製品名:DarkBASIC Professional日本語版
発売元:サムライワークス株式会社
発売日:2005年7月8日(金)
価 格:ダウンロード版 10,500円(税込)本体価格10,000円
     パッケージ版  15,750円(税込)本体価格15,000円

http://shop.vector.co.jp/service/catalogue/sr062902/
624名前は開発中のものです。:2005/07/12(火) 20:40:01 ID:MPaBAssW
>>623
使ってみた人いる?
どうもBASICと付いてると敬遠しがちなんだよなぁ…。
625名前は開発中のものです。:2005/07/12(火) 22:25:25 ID:honq1ZP2
>>622
>早速VS.NETを買ってお試し版をインスコして

どっちやねん
626名前は開発中のものです。:2005/07/12(火) 23:04:53 ID:5Gtjuwsb
>>624
HLとかDoomみたいなのは作れるってかいてあるね。
俺はまず、2Dドット絵でハアハアしたいからスルーする。
PCのスペックもぎりぎりだし。
C++覚えたら、メタセコ(もしくはGmax)使っての3Dゲーム作成になるだろうし。
627名前は開発中のものです。:2005/07/12(火) 23:12:55 ID:AeOdkOx2
>>625
VS.NETのtheSpokeには一ヶ月のお試し版が入ってたけど
通常のVS.NETにも似たようなの入ってるんじゃないのかな。
628名前は開発中のものです。:2005/07/13(水) 01:12:38 ID:IYsXcMZv
C#は興味あるんだが、VS.NETも金も無い…。
安く始める方法って無いもんだろうか?
629名前は開発中のものです。:2005/07/13(水) 01:40:21 ID:FCH2Av4u
学割で5000円弱

その前にβ版がタダで落とせたような。。
630名前は開発中のものです。:2005/07/13(水) 02:00:51 ID:JBA0rRHT
うん、2005のExpress版(β2)がMSで落とせるはずだから、
とりあえずそれ使ってみればいいんじゃないかな。
631名前は開発中のものです。:2005/07/13(水) 03:47:27 ID:NDTMMzDZ
632名前は開発中のものです。:2005/07/14(木) 03:50:28 ID:UjMzKf6R
DrakBasicはキチガイを思い出すからねぇ。
印象最悪。
633名前は開発中のものです。:2005/07/14(木) 21:09:34 ID:3wh0u5ts
        ┏┓          ┏━┓            ┏┓                          ┏━━━━┓
  ┏┓  ┗┛    ┏┓  ┗┓┃┏┓┏┓  ┏┛┗━━┓┏━┓              ┃┏━━┓┃
┏┛┗━┓┏┓┏┛┗━┓┃┃┃┃┃┃  ┗┓┏━━┛┗┓┃┏┓┏━━━┓┗┛    ┃┃
┗┓┏━┛┗┛┗┓┏┓┃┗┛┃┃┗┛    ┃┃    ┏┓┗┛┃┃┗━━━┛    ┏━┛┃
┏┛┃┏━┓  ┏┛┃┃┃    ┃┗━━┓  ┃┃┏━┛┗┓  ┃┃              ┃┏━┛
┃┏┛┗━┛  ┗━┛┃┃    ┗━━┓┃  ┃┃┃┏┓┏┛  ┃┃┏┓          ┗┛
┃┃┏━━┓      ┏┛┃    ┏━━┛┃  ┃┃┃┗┛┃    ┃┃┃┗━━┓    ┏┓
┗┛┗━━┛      ┗━┛    ┗━━━┛  ┗┛┗━━┛    ┗┛┗━━━┛    ┗┛


634名前は開発中のものです。:2005/07/19(火) 20:46:29 ID:qScSwJS3
プログラムって手書き?
635名前は開発中のものです。:2005/07/19(火) 21:10:48 ID:ZZ0S2QrV
>>634
パンチカードだよ
636名前は開発中のものです。:2005/08/09(火) 00:10:49 ID:2wwMbEFD
Cの勉強してみたら全然絵が出せなくて
本調べても出し方すら書いてなくて困惑したあの日。



…なんだよ、「WinAPI」って…
637名前は開発中のものです。:2005/08/09(火) 14:38:43 ID:Pzyt95F+
そうそう
いつになったらゲームが作れるんだよ!って思った
638名前は開発中のものです。:2005/08/09(火) 20:58:24 ID:LJpo9fga
PC9801のマニュアルを見て
「どうやってゲーム作るんだよ!」
と思ってた俺よりはましじゃん
639名前は開発中のものです。:2005/08/10(水) 01:47:11 ID:HEQI2yKv
>>638
そのマニュアルってN88日本語BASIC(86)リファレンスマニュアルとかいうやつ?
C言語にくらべりゃよっぼどゲームに近い事柄が書いてあるはずだけど。
640名前は開発中のものです。:2005/08/10(水) 22:08:50 ID:/D2x7N+E
>>639
DOSのマニュアルだよ

そのあとにいろいろ勉強して
Works動かしてたんだけどN88BASICの起動の仕方が分からなくて
フロッピーで手に入れてからは毎日プログラミングしていたのは懐かしいおもひで
641名前は開発中のものです。:2005/08/15(月) 21:01:52 ID:Bbh+qhM2
 
642Z:2005/08/15(月) 23:23:31 ID:Gue0lvFU
>>636
winAPIと言うのはkんたんにいうとウインドウズを動かす命令。
初心者がこれに手を出すのはムボー。まぁ俺はやったけどな。
まずはコマンドラインプログラムから始めれ。
絵は出ないけどCの基本的なプログラムは全部これで出来る。
つうかAPIを使うのは基本的に入出力に対応する部分だけだ。
643Z:2005/08/15(月) 23:36:29 ID:Gue0lvFU
>>637
おれは学生やってるが片手間にプログラム勉強してWINAPIでしょぼいシューティングを作れたのはプログラムの勉強一から始めてから大体一年か一年半くらいだ。
ま、俺より習得が早い奴はいっぱいいると思うが、凡人はこれくらいかかると思う。
それなりにしんどい。
が、自分の書いた絵が自分のプログラムで自分の思った通りに動いた時はマジで感動した。
ゲーム企画する奴等の殆どはゲーム考えるのはいいけど作るのはめんどい、とか思ってるだろーが、ゲーム作るのはゲームやるよりゲーム企画するより何倍も面白い。
644名前は開発中のものです。:2005/08/17(水) 01:22:57 ID:ouEi3Yb9
>>643
あれだけ時間がかかったのは俺だけかと思ってた(´Д`)
そうか、やっぱり似たような者はいるものなのだなあ
645名前は開発中のものです。:2005/08/20(土) 01:57:28 ID:LVdXEc+N
すぐ完成させたいなら携帯アプリがいいと思う。
646名前は開発中のものです。:2005/08/20(土) 04:36:54 ID:rDfBnAE9
携帯アプリはJavaだけでしかできないん?
647名前は開発中のものです。:2005/08/21(日) 00:13:33 ID:iqj8Gl3N
メーカー等できちんとライセンスを持って開発しているのなら、
JAVAだけとは限りません。
648名前は開発中のものです。:2005/08/21(日) 17:29:54 ID:+Hh5s4iZ
JavaかBREW
649名前は開発中のものです。:2005/08/22(月) 17:29:45 ID:fa4xGUL6
CとAPIでゲーム作ってます。
プレイヤーに見せたくないデータ(セーブや敵キャラの能力)ってどう扱えばいいんですか?
テキストからだた読み取るだけでは見えてしまいます。
APIはwindowsゲームプログラミングを読んだだけの初心者です。
650名前は開発中のものです。:2005/08/22(月) 18:37:48 ID:EYMkfiIX
暗号化する
やりかたは知らん('A`)
651名前は開発中のものです。:2005/08/22(月) 18:46:03 ID:Vy3xG4BS
数値でそのままファイルに書き込めばいいよ。
652名前は開発中のものです。:2005/08/22(月) 18:56:01 ID:zc7K9NgN
バイナリ形式で保存してみたら?
struct {
...
} CData;
CData data;
fwrite(fp, &data, sizeof(CData)); // 多分
バイナリエディタで読み込まれたら終わりだけど★
まあ、公開鍵暗号を使わないと、理論的に完璧な暗号化は無理だし〜
こんなんでいいんとちゃう?
653名前は開発中のものです。:2005/08/22(月) 19:30:09 ID:9J9MKiDw
拡張子をTXT以外にするだけでいいんじゃね?
datとか。それだけで大抵の香具師は読まない。
654名前は開発中のものです。:2005/08/22(月) 19:35:36 ID:9J9MKiDw
>>652
>まあ、公開鍵暗号を使わないと、理論的に完璧な暗号化は無理だし〜

別に。文字コードに1足すだけでも、それをわざわざ解析してやろうとか
思う香具師は皆無だろ。顧客の個人情報を管理するソフトとか作ろうって
わけじゃないんだし。たとえ解析した香具師がいたとしても製作者のサイト
のランキングページが荒れるだけだろ。
655名前は開発中のものです。:2005/08/22(月) 19:41:13 ID:Vl40RWWU
そもそも通信しているわけでもないのに、何故公開鍵?
馬鹿の一つ覚えで言ってみたかっただけだろう。
fwriteの使い方も間違えてるし。
656名前は開発中のものです。:2005/08/22(月) 19:50:42 ID:fa4xGUL6
>>650>>651>>652>>653
レスありがとうございます。
暗号化って以外に難しいんですね。
653さんが仰ってるやり方が簡単そうでいいと思うんですが、
拡張子をdatに変えた場合、ファイルの操作方法はどうなるんでしょうか?
657名前は開発中のものです。:2005/08/22(月) 20:43:23 ID:Vy3xG4BS
>>656
拡張子なんて、ファイル名の一部に過ぎないでしょ。拡張子でフォーマットが決まるわけではない
658名前は開発中のものです。:2005/08/22(月) 21:42:19 ID:ZXzZUSSs
拡張子は、Windowsの場合OSと関連付けされていて、ダブルクリックしたときに開くプログラムが決まっているだけです。
たとえば、.mp3ならWindowsMediaPlayer、.txtならメモ帳、.docならWord というように
プログラム内でファイルをfopen()などで開いて書き込んだりする場合は、拡張子はファイル名の一部の様なものなので、気にする必要はないです

暗号化は、
char chr='a';
printf("%c\n", chr);
printf("%d\n", chr);
これを実行すれば分かるけれど
char型っていうのは出力時に「文字で出力するよ」っていうだけで、中身はint型のように数字で出来てる
これを暗号化用関数と復号化用関数を作って変換させるんですよ
659名前は開発中のものです。:2005/08/22(月) 21:44:58 ID:ZXzZUSSs
拡張子は、Windowsの場合OSと関連付けされていて、ダブルクリックしたときに開くプログラムが決まっているだけです。

>OSと
ではなくて
>OS(レジストリ)で起動すべきプログラムと
だった
660名前は開発中のものです。:2005/08/22(月) 22:35:43 ID:jo3Q7A50
エロい人にはそれがわからんのです
661656:2005/08/23(火) 00:30:50 ID:KDjDsV1v
>>657>>658
CじゃなくてAPIで操作したいのですが、
その場合も拡張子はファイル名の一部のようなものでしょうか?
662名前は開発中のものです。:2005/08/23(火) 01:46:47 ID:SrVU/fFI
ゲームつくり他逸す
663名前は開発中のものです。:2005/08/23(火) 04:22:41 ID:vDlV54JH
>>661
ああ、そうだよ。
君は、このサイト記事が参考になると思う。

ttp://www4.nasuinfo.or.jp/~hobby/Seminer/PG/prog_Text_46/prog_Text_46.html
664名前は開発中のものです。:2005/08/23(火) 16:36:11 ID:qx2o7Jdy
>>661
一部な上ファイル名そのもの。切れない。
665656:2005/08/23(火) 20:47:08 ID:KDjDsV1v
>>663>>664
ありがとうございます。ファイル名そのものですね。
データを編集したいときはテキストで開けば簡単に数値を変更できますし便利です。
666656:2005/08/24(水) 00:25:18 ID:WpgnZb3T
すみません。もうひとつ質問させてください。
敵キャラの数値をファイルにまとめて読み取る時などは
SetFilePointer()を使ってファイルポインタを動かして
ReadFile()で読み取る以外に方法はないでしょうか?
667名前は開発中のものです。:2005/08/24(水) 07:00:40 ID:63OjkXBD
>>666
その方法に何か問題点があるなら、それに応じた代替策を提案できるかもしれないけど、
問題ないならそのまま使ったら?

大きく異なる手法を上げるとすれば、
・起動時(またはステージ開始時)に全ての(またはステージ単位の)敵パラメータを読み取っておく
・敵の種類の数だけパラメータファイルを用意する
668名前は開発中のものです。:2005/08/24(水) 16:44:17 ID:b1O43wpT
そのくらいたいした量じゃないから一気に読み込んだらいいと思う。
ファイルは1個単位で読むのを前提で。
669名前は開発中のものです。:2005/08/31(水) 14:28:09 ID:YTD8Lfou
HSPでは画像を動かして操作するのは簡単だったんですが、Cはまたさらに一年もかかるんですか?
670名前は開発中のものです。:2005/08/31(水) 15:07:11 ID:3y1P0j8f
ほかの言語の経験があるなら一ヶ月もかからないとおもわれ。
そんな難解じゃないっすよ。
671名前は開発中のものです。:2005/08/31(水) 15:19:59 ID:YTD8Lfou
安心した・・・
672名前は開発中のものです。:2005/08/31(水) 17:32:28 ID:9MtA7DCZ
Cの他に、WindowsならWIN32APIの勉強とかもしないといけないから、結構大変だよ。
Cそのものには画像関連の命令は無いから。
673名前は開発中のものです。:2005/08/31(水) 17:56:55 ID:YTD8Lfou
やっぱりAPIってのがくるのか・・・
674名前は開発中のものです。:2005/08/31(水) 20:58:13 ID:ImYSjo8H
Win32APIってBITMAPの命令しか無くね?
675名前は開発中のものです。:2005/09/01(木) 09:10:39 ID:oU/myrOm
だといいんだが・・
676名前は開発中のものです。:2005/09/01(木) 16:42:33 ID:80i9041u
まあ便利なAPIもあるからいいこともある
677名前は開発中のものです。:2005/09/04(日) 15:49:08 ID:2rlENL7S
とりあえずvisual studio .NET2003買ってみたけどさっぱりわからん
678名前は開発中のものです。:2005/09/04(日) 16:17:53 ID:pY5fU6eF
第一歩を踏み出したか。
まずは "Hello C World" を出すんだ!
679名前は開発中のものです。:2005/09/05(月) 14:11:53 ID:/Uvy9rK9
俺もVB.netこのスレに便乗してやるか
でもやるんならCの方がいいかも
どっちを勧める?
680名前は開発中のものです。:2005/09/05(月) 15:01:42 ID:vOn7KYUn
c
681名前は開発中のものです。:2005/09/13(火) 19:06:39 ID:R1ekNPn8
C#
682名前は開発中のものです。:2005/09/23(金) 04:40:11 ID:mAdwWCmo
>>679
とりあえず、なにか作りたいならVB.net(習得だけで、ゲームは作れるし。2ヶ月あればそこそこいける)
そうじゃないなら、C
ただし、後者の場合C自体の習得に1ヶ月さらにC++とAPIでもう一ヶ月。DirectXでさらに2ヶ月
ぐらいは掛ると思ったほうがいい。その分、できるようになれば、あれもこれも・・・・
まぁ、無難にVBを薦めておく。
683名前は開発中のものです。:2005/10/14(金) 12:59:39 ID:fMOmUg/B
初心者でつ。
エロゲを、Nスクとかツール使わずに1からC++で作ろうと思って勉強してますが、難しい…。初心者がコンパイラとサクラエディタだけでやるのは無謀でしょうか?
あとC++以外にも必要ですよね?
684名前は開発中のものです。:2005/10/14(金) 17:20:55 ID:gkfk5Q0W
なんのC++かはわからんが
ウィンドウズプログラムが作れるならそれだけでできる。
685名前は開発中のものです。:2005/10/14(金) 17:34:10 ID:aeaumi7f
絵をファイルやリソースから読み込んで表示。
キーボードやマウスの入力に応じてアクション。
とりあえずこれらができればゲームにはなると思うけど。
686名前は開発中のものです。:2005/10/14(金) 17:52:44 ID:fMOmUg/B
レスありがとうございます。ウインドウズプログラム…知らない単語なのでググってきます。
何のC++と言ってましたが、種類あるんですか!?
今はコンパイラはボーランドの無料体験のを使って勉強してます。
687名前は開発中のものです。:2005/10/14(金) 19:47:19 ID:aeaumi7f
日本語に種類があるんですか? といえば標準語があって方言がある。
C++ も規格で定められた標準があって、Visual C++ なり Borland C++ なりそれぞれの
処理系でしか使えない方言のようなものがある。また、

あなたのいう「C++以外」がどのようなものを想定しているのかは分からないが。
688名前は開発中のものです。:2005/10/14(金) 20:16:09 ID:fMOmUg/B
方言みたいなのは理解できました。ありがとうございます。
C++以外というのは、(私がおそらく勉強しはじめだからと思うんですが)、コンパイルしてできたexeファイルがコマンドプロンプトの画面でしか実行できないんで、何か他のプログラム?(MFCみたいなの)が必要なのかなと思ってるんです。
ちなみに、まだ入門のクラスやらデストラクタをやっているくらいのレベルです。
689名前は開発中のものです。:2005/10/14(金) 21:01:53 ID:aeaumi7f
MFC の C は class の C。だから C++ で書かれたプログラム。
BCC では使えないので今は気にしなくていい。

Windows っぽいプログラムを作るには Win32 API というものを使う。

↓の MessageBox が API を使う関数。

#include <windows.h>

int main() {
MessageBox(NULL, "こんにちは", "ご挨拶", MB_OK) ;

return 0 ;
}
690名前は開発中のものです。:2005/10/14(金) 21:46:02 ID:fMOmUg/B
色々ありがとうございました!
きっかけがわかったので、あとはググって調べてみたいと思います。
ゲームできるように頑張ります。ありがとうございました。
691名前は開発中のものです。:2005/11/06(日) 00:21:26 ID:mbThmoV0
「猫でもわかるWindowsプログラミング(粂井康孝著2003年初版)」
って本を読んで
最初の「単なるウィンドウを出す」ソースを打ち込んでみました。

・・エラー二つ出てコンパイル不可。

自分の入力がおかしかったのかと思い
付属ディスクのソースでコンパイル。

・・やっぱりエラー二つ出て不可orz

始まって9ページ目からつまづきました。
本は買わずに、図書館で借りてきてよかったけれども。
VC++5.0を使っているのですが、こんなこともあるんですね。

とりあえずウィンドウ出してみたいんだけどなあ。
また本探しだ。
692名前は開発中のものです。:2005/11/06(日) 02:16:19 ID:H89u4wz4
>>691
猫でもわかるのソースは新しいコンパイラだとエラーが出るよ
多分キャストされてないからだと思う
693名前は開発中のものです。:2005/11/06(日) 02:19:39 ID:H89u4wz4
GetStockObject(WHITE_BRUSH)

(HBRUSH)GetStockObject(WHITE_BRUSH)
とキャストするべし
694名前は開発中のものです。:2005/11/06(日) 11:45:36 ID:/qYnhYYi
>>692,693
お返事ありがとうございます。
教えていただいたキャストは行われていたようです。
すみませんです^^;

(ソースの冒頭より一部)

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
ATOM InitApp(HINSTANCE);
BOOL InitInstance(HINSTANCE, int);

char szClassName{} = "sample01"; //ウィンドウクラス

int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst,
LPSTR lpsCmdLine, int nCmdShow)

{(←ここでエラー出されてます)

(エラー内容)

無効なトークン '{' が 'szClassName' の宣言の後にあらわれました。
'int' : 指定された型は、識別子の名前を指定せずに宣言されています。

このようなエラー内容なのですが、おかしいのはどこなのでしょうか。
695名前は開発中のものです。:2005/11/06(日) 11:58:51 ID:5AL+nx1Z
エラーちゃんと読んでる?
char配列は {} じゃなくて [] だろう。

Windows云々の前にC言語をちゃんと勉強したほうがいいと思う。
696名前は開発中のものです。:2005/11/06(日) 12:11:51 ID:/qYnhYYi
>>695
あ、すみません。打ち間違えですね。
けれど、打ち変えても同じエラーが出るのですが・・
(本付属のディスクのサンプルプログラムを使用しても同じエラーです)
697名前は開発中のものです。:2005/11/06(日) 13:54:49 ID:5AL+nx1Z
エラーが出るのなら、エラー箇所とエラーメッセージを書いて分かりやすく。
助言したくてもどんな状況か分からないと出来ないよ。
そこは直したって事は別の箇所でしょ?
698名前は開発中のものです。:2005/11/06(日) 16:42:55 ID:dJcGHn62
>>695で直した[]で、エラーメッセージに変わりはないです。
エラー場所は同じ箇所です。
状況は>>694から全く変わっていないです。

>>696の「同じエラーがでるのですが・・」では意味が通らなかったでしょうか。
すみません。
699名前は開発中のものです。:2005/11/06(日) 18:28:31 ID:5AL+nx1Z
エエー、そんなはずは。>>695の箇所を直せばそのエラーは出ないはず。
ソースの全文上げてみたら? どこがおかしいか分かるかもしれない。
700名前は開発中のものです。:2005/11/06(日) 19:56:10 ID:UGRO2i2z
ソース全文が長く貼り付けるには申し訳ありませんので
また本読み直したりしてみます。
ご親切に色々お付き合い頂きありがとうございましたm(_ _)m
701名前は開発中のものです。:2005/11/11(金) 12:28:04 ID:FFStqdSM
質問です。
1からC++をはじめたら、エロゲーみたいなのが作れるようになるまでどんくらいかかりますか?
あとCPPだけであんなふうにゲーム作れるんでしょうか?
702名前は開発中のものです。:2005/11/12(土) 11:32:48 ID:RI28v1Tc
> 1からC++をはじめたら、エロゲーみたいなのが作れるようになるまでどんくらいかかりますか?
人によるとしか言い様がありません。

> あとCPPだけであんなふうにゲーム作れるんでしょうか?
CPPとは? C++ のことならプログラミング面でなら C++ の処理系だけで基本的には事足りるでしょう。
「あんなふう」がどんなのなのか具体的に分かりませんが。エロゲーといってもいろいろあるだろうし。
703名前は開発中のものです。:2005/11/20(日) 04:02:52 ID:PktMjKAY
>>701
答えます。
貴方には一生不可能です。断言できます。
704名前は開発中のものです。:2005/11/27(日) 01:04:59 ID:/NJpQ+YX
だれか聖剣2みたいなアクションRPG作れるように鍛えてくれる型いませんか?

言語はC++ならちょくちょく出来ます。
705名前は開発中のものです。:2005/11/27(日) 03:05:29 ID:p26Hn0q5
今どこまでできるん?
706704:2005/11/28(月) 01:44:03 ID:C7MsayDa
ウィンドウズなら、MSDNをみながら頑張ればほとんどの事は出来ると思います。
時間はかかると思いますが。
でも、設計や実現方法などがよくわからなくて・・・。
ソースを添削したり、ご意見などを頂ければうれしいのですが。

ちなみにこのようなゲームはアクションゲームを参考に作った方が良いのですか?
707名前は開発中のものです。:2005/11/28(月) 09:44:35 ID:WgbuxrsV
んー。704タンは、かなりお勉強してる人っぽいですね。
少なくともWin32プログラムに関しては、私よかできるっぽい。

まずはゲーム作りのさわりの部分だけなら、
少しだけお役に立てるかも。てゆか、プログラム晒したらここ見てる
私以外のすぺしゃるなプログラマさんもアドバイスくれるかと。

私はWindowsのDDBとDIBしか知らないので、
それ以外の描画法ではお役に立てないっぽいです。。


さて、では現在以下の事項のどれぐらいが可能ですか?

・窓出す
・絵出す
・Bitmap読み込み関数作れる
・キー入力で絵を動かす
・ダブルバッファリング
・背景を切り抜いてキャラ表示


あ、例がほしいなら言ってくだされ。
ぶっちゃけ超雑魚である私も一緒にお勉強したいから ^^
708名前は開発中のものです。:2005/12/02(金) 19:30:32 ID:F4c1AUXc
お、良スレ??
709名前は開発中のものです。:2005/12/03(土) 17:15:18 ID:2thd4ss9
>>707
日曜プログラマー再開した俺も混ぜてクレ

・Bitmap読み込み関数作れる :
これはLoadImageでFile、リソースを読むのと、
BITMAPファイルヘッダBITMAPINFOでDIB作ってそこに読み込むのあるよね。

DIBはMicrosoftのCDibってクラスがネットにころがってるのを利用してる(便利だとおも)

LoadImageでしばらく苦労した。
リソースを読み込む場合
m_hImg1 = ::LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP1),
IMAGE_BITMAP,0,0,LR_LOADTRANSPARENT);
MAKEINTRESOURCE()を使ってやっと読み込めた。これって普通なのかな?

・ダブルバッファリング
やろうとしてそのタイミングで悩みました。MFCでやってるからかな。
今は
void CChildView::PreSubclassWindow() {
...
AfxGetApp()->m_pMainWnd->GetWindowRect(rct); //ClientRectでは駄目みたい
CClientDC dc(this);
m_pdcView = new CDC;
m_pdcView->CreateCompatibleDC(&dc);
m_memView.CreateCompatibleBitmap(&dc,rct.Width(),rct.Height());//適切な大きさってなんだろう?
m_pOldbmp = m_pdcView->SelectObject(&m_memView);
...
}
PresubclassWindow newしてますが他にもっと自然な方法とかありますか?
710名前は開発中のものです。:2005/12/03(土) 17:25:58 ID:dfndRTr4
ゲームはMFC使わんほうがいいと思う。
711名前は開発中のものです。:2005/12/03(土) 19:21:57 ID:2thd4ss9
>>710
げげげ、ななななぜですぅ?

712名前は開発中のものです。:2005/12/04(日) 04:55:45 ID:CQnjNx+r
ゲームを作ろうと思い立ち、HSPを始めた。……15分で挫折した。
なんだこれは。暗号か?嫌がらせか?みんな、こんな難しいことやってんのか?

…これからは、どんなにしょぼいゲームでも馬鹿にしないようにしよう…
713名前は開発中のものです。:2005/12/04(日) 13:58:01 ID:vtdx6wPJ
ひとつ大人になったということだな
714名前は開発中のものです。:2005/12/04(日) 15:42:06 ID:oNAAJPS2
>>704 >>706 はどうしたんだ?
715名前は開発中のものです。:2005/12/04(日) 17:27:23 ID:DkqQT6e2
>>711
GUIを使わないなら利点を得られないってことかな。
ゲームはWindows特有のコード部分はあまりないんで。
細かいとこもいじりやすいし。
716名前は開発中のものです。:2005/12/04(日) 19:45:24 ID:6fWhhFkt
MFCを使える環境ならWTLをお勧めしておく。
あれは意外と良いモノだ。
717名前は開発中のものです。:2005/12/08(木) 01:20:21 ID:3+4J7RKT
>>716
WTL7.1はダウソしてありますが、まだ未熟者なのでしばらくMFC環境でシコシコやってました。
でも、704も707も居なくなってしまったんですな…
漏れが混ぜてクレなどと書いたのがいかんかったかなとか思って書き込みやめてみたんですが


718名前は開発中のものです。:2005/12/08(木) 01:31:21 ID:3+4J7RKT
つづき

「背景を切り抜いて」

なんですが、これはやぱりモノクロビットマップでマスク用DDBを作りますよね?

で、基本はファイルからDIBに読み込んで置いて、からDDBを作って同時にマスク用DDBも作る
って感じで DIBとは別にDDBのクラスを作っているところ

この場合、別のクラスにしてしまうつもりなんですが、DIBのクラスを継承してDDBイメージも持たせちゃう方がいいですかねぇ?

719名前は開発中のものです。:2005/12/08(木) 16:32:55 ID:e3zTKzAY
DIBで読み込むんならDIBのままつかったほうがいいんでないの
720名前は開発中のものです。:2005/12/09(金) 00:48:19 ID:6JCB2/dT
>>719
707で
・背景を切り抜いてキャラ表示
なのでてっきりマスクDDB作るのかなあと思ってました。

DIBだけの処理なんですが、学習中なので24bitビットマップ同士とかの処理しかできませんorz
最近DIBからImage本体とMask用のDDBをセットでクリエイトする方法をやってみようとしてたところだったんで
その方向で書いてました。
マスクビットマップあると何気に面白いッス

721名前は開発中のものです。:2005/12/11(日) 21:55:14 ID:A2uaBpyM
Visual Studio Expressが発売されたら
おれもここに来て勉強するぞー
722名前は開発中のものです。:2005/12/12(月) 03:10:23 ID:FQHOjORN
BETA2おとせばええやん。
無料だよ?
723名前は開発中のものです。:2005/12/12(月) 16:39:01 ID:/6d62phh
期限があるから使いにくい
724名前は開発中のものです。:2005/12/12(月) 17:06:07 ID:6Xf+w43J
うるせー馬鹿
725721:2005/12/12(月) 17:58:36 ID:jY+k4jNo
>>722
無料で手に入るとは…早速BETA2落としてみました
インストールしたら、しばらくは猫ワカやってみます。
726名前は開発中のものです。:2005/12/12(月) 22:22:17 ID:6zRxv5j6
>>725
頑張れよー

ここを読んでおくといいかもWTL(>>716お勧めのやつ)を使えるようにする方法
ttp://pc8.2ch.net/test/read.cgi/tech/1131590396/16-18
俺はVC6のままなんでやってない
727721:2005/12/13(火) 21:39:35 ID:+8731oKE
HDDの空き容量足りなくてインストール不可能だった




('`)ァァァァァァ
728名前は開発中のものです。:2005/12/14(水) 00:59:33 ID:gXhStAxv
>>727
EXPRESSでHDDってどれぐらい食うの?
729名前は開発中のものです。:2005/12/14(水) 01:03:51 ID:gXhStAxv
>>728
自己解決 1.3GBだな、漏れはXPのSP2入れてないから…
730名前は開発中のものです。:2006/01/03(火) 01:19:16 ID:ILudQXI1
>>729
また、誰も居なくなってしまったなー

一般的なズブの初心者にはMSの要求スペックは高すぎってことかなと
ズブの初心者が始められる環境を考えてみようと調べてみた。
(漏れも初心者級なので自分のためにもなる)

ズブの初心者でも周りに仲間が居る場合は問題ないのでそうじゃない場合を考えてみる。
731名前は開発中のものです。:2006/01/03(火) 01:21:18 ID:ILudQXI1
OS:OSはWindows系(ありふれた初心者なら)
言語:HSPに行っちゃう方が自然だが9月からの流れはCというかC++
C++でエロゲ、猫でも本のコンパイルが出来ない(これはCなんだがキャストがウザイのはC++風味)
なんだかC++以前の気もするが気を取り直してつづきを
732名前は開発中のものです。:2006/01/03(火) 02:08:57 ID:ILudQXI1
>>731
書く元気がなくなりましたorz
733だめぽ:2006/01/04(水) 02:01:11 ID:NsRcQhHm
なでしこじゃ教えてもらえませんか?>OLL
734名前は開発中のものです。:2006/01/05(木) 12:15:09 ID:opsCm8oA
携帯アプリを作ってるんですけど、自作の曲をフリーで公開しているサイトなどを知ってる方はいませんか?
ネット環境が携帯しかないのでなかなか検索にそういうサイトがひっかかりませんors
735名前は開発中のものです。:2006/01/05(木) 15:14:18 ID:nA3IOc/i
パソコンにしなはれ
736名前は開発中のものです。:2006/01/05(木) 18:53:07 ID:wT0vTzhf
HSPって2.61と3.0どっちがオススメでしょうか?
737名前は開発中のものです。:2006/01/05(木) 22:49:38 ID:VxCiBCK1
Cが少し分かる程度の初心者ですが、シューティングゲームが作りたいので
がんばってみようかと思います。
手元にあるのはVC6.0。何年かかるか分からないけどコツコツいくかー。
738名前は開発中のものです。:2006/01/05(木) 23:52:20 ID:Iwa/nYiX
がんがれ
739名前は開発中のものです。:2006/01/06(金) 00:48:35 ID:3rlWXs0P
頑張ってー
740BM777:2006/01/06(金) 23:46:58 ID:9HXkPUFz
>>737
漏れも、この間からC言語を独学で勉強し始めた
お互いがんがろう

741737:2006/01/06(金) 23:59:02 ID:B0ZxTwAo
今日はクラスについて勉強した。
継承とかコンストラクタとかいまいち分からん・・・

>>740
がんばろー
742名前は開発中のものです。:2006/01/07(土) 02:42:54 ID:CYKFf4iJ
C++をやっただけじゃあウインドウズプログラミングはできないのか。
猫さんの最初のソースをビルドしたら、キャスト作れみたいになった。調べたらキャストってC独特みたい。難しい。ビルドできない。最初の壁かも。
743名前は開発中のものです。:2006/01/07(土) 03:33:27 ID:pvfxVtyV
実引数と仮引数の型を合わせるだけじゃないの
744名前は開発中のものです。:2006/01/07(土) 06:56:37 ID:i8N5i8L1
const char* hoge = "hogehoge";
char* test = (char*)hoge;
745名前は開発中のものです。:2006/01/07(土) 07:02:38 ID:Oh/tRVLD
>>742
どこの何行目で引っかかってるかを言え。
さすれば道が開けるかもしれん。
746BM777:2006/01/07(土) 11:07:19 ID:almc6Hht
>>742
がんがれ
747名前は開発中のものです。:2006/01/07(土) 11:55:24 ID:CYKFf4iJ
これから仕事なんで、帰ってきたらつまづいてる所を晒します。
明示的なキャスト…Cの本も必要かな。買ってこよう。
748名前は開発中のものです。:2006/01/07(土) 14:53:35 ID:f7WS+7/d
>>742
恐らく、キャストしろってのは
CのソースをC++でコンパイルしているから言われるんだと思う。

ここからはソース見ずに憶測で書くので
見当違いなこと言ってるかもしれんが、ソースの最後の方に
return msg.wParam;
ってのがあって、そこでキャストしろと言われたりしていないか?
そこでは
return (int)msg.wParam;
と直せばうまくいくはず。これでエラーが消えたと思われ。
もしかしたら、HBRUSHにキャストしろというエラーも出てるかもしれんが
これは自分でエラー文見てどこ直せばいいか探してくれ。
749748:2006/01/07(土) 14:59:28 ID:f7WS+7/d
追加だが、C++にもキャストはあるはず。
ttp://www.s34.co.jp/cpptechdoc/article/newcast/

正直C++もこなせていない予感がする。
焦らずに基本的な文法を復習してから
ウインドウズプログラミングに臨むといいと思われ。
750名前は開発中のものです。:2006/01/07(土) 15:54:29 ID:h1OItEz0
まあCキャストだけわかってればなんとかなるんだけどな。
751名前は開発中のものです。:2006/01/07(土) 16:50:54 ID:CYKFf4iJ
確かに、焦りすぎかもしれません。もう一度別の本でC++見なおしてみます。
ちなみにエラーは、HBRUSH関連のキャストでした。
752名前は開発中のものです。:2006/01/07(土) 17:36:04 ID:Oh/tRVLD
あー、はいはい WinMain の中のやつでしょ。
それたぶん普通にCタイプのキャストすれば通るよん。
753名前は開発中のものです。:2006/01/07(土) 21:21:21 ID:CYKFf4iJ
>>752
はい。それはわかるんですが、勉強不足のため、どうキャストしたら良いのかわからないんです。
なのでCでキャストについて勉強してみたいと思います。皆さん、御返答ありがとうございました。
754名前は開発中のものです。:2006/01/07(土) 21:59:01 ID:/sz4CCM9
>>753
myProg.hbrBackground =(HBRUSH )GetStockObject(WHITE_BRUSH);
755名前は開発中のものです。:2006/01/07(土) 22:59:56 ID:CYKFf4iJ
>>754
キャストの意味が理解できました。感謝です!
756754:2006/01/08(日) 00:44:22 ID:o+AQmuYa
>>755
でも.CPPじゃなしに.Cでやってればキャストなしで通ってwindowでたッスよ
(cppでやるぜって気概は買いますが)
757名前は開発中のものです。:2006/01/08(日) 02:35:41 ID:d3j6rpHj
>>756
.Cでやると、fatal error LNK1181でファイルが開けませんってエラーが出るんです。
使用環境は、VC2005EEにPSDKとDXSDKを足してやってます。
ちなみに、.CPPでキャストをしたら、ビルドできました。中の文字は意味不明になってましたが順次解決していきます。
758名前は開発中のものです。:2006/01/08(日) 02:51:25 ID:d3j6rpHj
>>757
.Cのビルドについては自己解決しました。
あとはこの文字化けをなんとかして先にすすみます。早くゲーム作りたいです。
759名前は開発中のものです。:2006/01/08(日) 02:59:44 ID:o+AQmuYa
>>757
LINKエラーの1181はファイルがないよーーってやつでコンパイルはOKだったってことだとオモ

VC2005は持ってないので分かんないけどVC6では普通に一発OKだった。
BCC5.5.1も -WでBCC32で一発OKでした。
VC++ではWIN32Applicatinで空のプロジェクトを作ってそこに入れただけだったんだがなあ。
別のPCにExpressを入れる予定だから入れたらやってみます。

760名前は開発中のものです。:2006/01/08(日) 03:00:31 ID:o+AQmuYa
>>758
あ、解決してたのね
761名前は開発中のものです。:2006/01/08(日) 10:20:02 ID:DwXHldUB
さんざんヒントもらっといて自己解決でもねえだろーがよw
762737:2006/01/08(日) 22:45:59 ID:RME4f8+W
ようやくクラスの概要が分かったような。うーん、先は長い・・・

以上チラシの裏
763名前は開発中のものです。:2006/01/09(月) 20:50:10 ID:KX7zE/S4
758の文字化けは多分でふぉがUNICODEかどうかなんだろうが、解決したのかね
764名前は開発中のものです。:2006/01/10(火) 00:52:51 ID:rFvJ1h8q
>>763
お恥ずかしながら、まだ原因を調べてます。
UNICODE関連であることはLPCWSTRとかでわかったのですが、まだ頑張ってます。ゲーム作るためにも技術をものにします。
765名前は開発中のものです。:2006/01/10(火) 01:01:16 ID:rFvJ1h8q
原因解決!コードじゃなく、プロジェクトのプロパティだったとは…
766名前は開発中のものです。:2006/01/10(火) 01:16:32 ID:/DfQw9pI
>>765
解決おめー
767名前は開発中のものです。:2006/01/13(金) 12:32:42 ID:pjySecNp
ピュアネスな初心者がやってまいりました。
768名前は開発中のものです。:2006/01/13(金) 20:26:46 ID:bAYwWLWc
どんなにピュアだろうが、初心者だろうが、
ゲーム製作のためにこの板に辿り着いた奴は応援する!!


でも、面倒なので、面倒はみませんよ?
769名前は開発中のものです。:2006/01/14(土) 02:17:49 ID:wEcomfFF
でも面倒見てもらえないとなにもできませんよ?
770名前は開発中のものです。:2006/01/15(日) 15:23:59 ID:QdXt5qei
>>769
よーし、それじゃ使用するC++のコンパイラを決めよう
Visual Studio C++ 2005 Express か BCC5.5.1どちかを使うか決めてくれ
(gccやdev-cこのスレでは無理っぽいぞ)
771名前は開発中のものです。:2006/01/15(日) 15:29:14 ID:QdXt5qei
>>770
まー、>737はVC6だが、その上の椰子も一人はVC6後は消えた
772名前は開発中のものです。:2006/01/15(日) 16:45:34 ID:ldWKl/mO
俺はVC++で頑張ってます。むずいー。ってかリソースエディタ無いんですね…
773名前は開発中のものです。:2006/01/15(日) 19:24:40 ID:QdXt5qei
>>772
ソリューション エクスプローラで
***.rcをクリックするとリソースビューが出てしまいますよね。
これは腹が立つので、**.rcを右クリックしてとりあえずTextEditorを既定値にしませうw

メニューの追加などは、しばらくエディターでやるしかないんですが

同時にResouce.hを開いて、
#define _APS_NEXT_SYMED_VALUE110

の値をみると110なので追加するときは上で#fdefine ID.... 110以上の値を書いてやる。
それに応じて#define _APS_NEXT..もつじつまがあうように直しておくと良いかも。
これでメニューの追加ぐらいは何とかなりますね。

772を読んでからBCCFormを関連付けしてやってみたら、DialogBoxでウザいことになってしまったorz
774名前は開発中のものです。:2006/01/15(日) 20:43:32 ID:ldWKl/mO
すみません。
>772はExpressでつ。最初からリソース自体がグレーアウトしてて選択できないんで、resouce.hも作れないんで自分でヘッダ、リソースファイル書いてます。
775名前は開発中のものです。:2006/01/15(日) 20:52:28 ID:Bt49Np5D
>>770
よーしそれじゃ前者だ
ってか有償ソフト必要?
776773:2006/01/15(日) 21:27:46 ID:+fLmdGs2
>>774
え?俺の773はExpressでやった結果だよ?

もしかしてSDK入れた後に設定変更やってないの?
MSの 「Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う」
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
とか
ttp://nrttkr.cocolog-nifty.com/blog/2005/12/visual_c_2005_e_482f.html
とかで書いてあるように

パスを通した後
corewin_express.vspropsでLIBのリンク対象を増やして
AppSettings.htmの 441行目から444行までの4行をコメントアウト

上記が終わっていれば:
するとMSの説明とは微妙に違うけど
1)Win32コンソールアプリケーション
2)現在のプロジェクト設定
・コンソールアプリケーション
ここで完了しないで<次へ>を押せばWINDOWsアプリケーションが選べるようになってるはず
777名前は開発中のものです。:2006/01/15(日) 21:38:16 ID:hwi3ZD0n
>>775
上の方で>721が Visual StudioC++2005 ExpressをダウンロードしたけどHDDの容量不足で泣いたようだ。
自分のPCに合わせてBCC5.5,1かExpressかを選ぶことになる。
PSDKは無料、DirectXSDKも無料だから始めるには無料ですむ。
BCCは無料の開発環境を見つける。BccDev,Visual Windows for BC++,CPad,あたりだと思う。
私もズブの素人なのでこの程度しか知らない。
778774:2006/01/15(日) 22:11:16 ID:ldWKl/mO
あ、いえPSDKもインストして、設定もいじってしっかりwin32コンソールアプリケーションできます。けどいつも空のオブジェクトからやってるんで、リソースエディタ単体がほしいんです。
779772:2006/01/15(日) 22:17:02 ID:ldWKl/mO
すみません。
>>773さんが言ってくださったことは全て終えてます。ちなみにサクラエディタを割り当ててます。
780名前は開発中のものです。:2006/01/15(日) 23:10:21 ID:i/VC3fIa
>>779
ああー、余計なお世話だったのね
リソースエディタですが、先ほど言ったBCCFormでMENUとかは行けると思いますよ。
781名前は開発中のものです。:2006/01/16(月) 02:00:54 ID:trG9y2lE
>780
いえ、情報感謝しております。ム板でフリーのリソースエディタ公開してるサイトが貼られていたので、試しにそれも使ってみます。
782名前は開発中のものです。:2006/01/16(月) 12:44:55 ID:MB7AKpRc
>>781
ttp://www.wilsonc.demon.co.uk/d10resourceeditor.htm
XN Resouce Editorっスな、それ使えますなあ(日本語とか選べるし)
私の実力ではBBCForm、XNどちらを使うときもプロジェクトをUNCODEからMBCSにしないと駄目だけど

Expressの使い方で発見とかあったら教えてくだしあ(UNICODEは参考になったっス)
783名前は開発中のものです。:2006/01/16(月) 19:12:30 ID:trG9y2lE
>>782
それでつ。
お互い頑張りましょう!

ちなみに、私はノベルゲーム作りたく頑張ってます。
784782:2006/01/17(火) 00:45:38 ID:BXbuCNxJ
>>783
ウィ
785名前は開発中のものです。:2006/01/30(月) 01:34:04 ID:HLYcyJ8j
>>783->>784
ウィ
786名前は開発中のものです。:2006/01/31(火) 20:59:07 ID:O6FIK+ST
ずぶの素人です。趣味でゲーム作りたくて「やさしいC++」ぐらいの初歩の内容なら理解できるようになりました。
すれ違いかもしれませんが次おすすめの本あるでしょうか?

ちょっと背伸びすると急に難度が高くなってさっぱりで困ってます。
787名前は開発中のものです。:2006/01/31(火) 21:33:34 ID:EQhJsvLP
俺ははじめてのC++ってのを読んで、ポインタから仮想GUIを完璧に理解してから、同じ著者のC++の演習の本読んだよ。そのあとは粂井氏の猫でもわかるウインドウズプログラミングを読み(←今ここ)、最後にダイレクトXへ進む予定です。
788名前は開発中のものです。:2006/01/31(火) 21:50:25 ID:d111+hE/
>>786
Windowsでのプログラムを前提として答えると
翔泳社 プログラマ養成入門講座 VisualC++(1)山本信雄 が良いかな。
背伸びしなくて行けます

それと折角C++をやってるんだから気分を出すために、オライリーのリファレンス2冊
C++ライブラリ、C++ランゲージ、お金に余裕があるならこの2冊は持っててOk
背伸びしないにしても、読まないにしてもリファレンスは持っていたほうが良いです。
789名前は開発中のものです。:2006/02/05(日) 00:58:34 ID:6a/MIZ7z
2chでアイデアを募集し、スタッフも同時求人。
そしてサウンドノベルを作って公開しようという
創作文芸板の企画です。
ミステリ編のメインシナリオは完成し、体験版もできています。
こちらに関してはあとは音、画像の挿入。分岐シナリオライター募集など。
ほかにホラー編も作成中。==ライターは別の人。

現時点において人手不足のため、スタッフを募集しています。


現在作成決定中のシナリオ
【ミステリー編 】 メインシナリオ完成
揺光の下、白日を待つ。 ―disaster&light―
【島の謎 脱出編 】企画段階
赤い月夜に、鬼が哭く。 -Demon cries over the night of a red moon-      
【島の謎 解明編】シナリオ執筆中
夜を謳う、悪夢と共に。 ―nightmarescatter―  

サウンドノベル企画6改-鬼哭島殺人事件
http://book3.2ch.net/test/read.cgi/bun/1105746809/

1◆VSiZ17Eht氏の運営する総合案内・リンクサイト
http://akasaka.cool.ne.jp/novel2ch/index.html

まとめページ(体験版=選択肢なしであるけどミステリ編メインシナリオ)
[創作文芸]サウンドノベル企画
http://www.aaa-www.net/~sosaku/
790名前は開発中のものです。:2006/02/05(日) 01:08:54 ID:PsBnitWb
プログラマはいらんのか。音できるけどなぁ。初めてまだ数か月だし…
791名前は開発中のものです。:2006/02/05(日) 08:23:07 ID:xrnjocLM
ズブの初心者スレで募集って、ズブの初心者がスタッフとして必要なのか?
792名前は開発中のものです。:2006/02/05(日) 09:41:20 ID:c7olZgCS
age
793名前は開発中のものです。:2006/02/05(日) 11:42:15 ID:IblN+hmc
>>789
なんだこれw
タイトルが大仰な所が厨くせえw
794名前は開発中のものです。:2006/02/05(日) 18:31:02 ID:KXWCIvRf
超初心者ですがC#でプログラムを組むべくVisualC#をインストールしました。
初心者にお勧めの簡単なお題ををお願いいします
795名前は開発中のものです。:2006/02/05(日) 18:33:36 ID:bCNcEVl1
>>794
まずブロック崩し
そしてシューティング
が王道じゃね?
796名前は開発中のものです。:2006/02/05(日) 18:33:57 ID:laLI4TA8
>>794
消えろ
797名前は開発中のものです。:2006/02/06(月) 00:20:35 ID:vMsEOgkQ
>>794
お題をくれてやるから
できたら必ず申告しろ

1:「ゲムデヴ wiki」とぐぐる
2:その中の段階的学習を読んで感想文を書く
798名前は開発中のものです。:2006/03/13(月) 15:51:09 ID:SdjQ4hhJ
今から俺がゲーム作るまで実況するお

まずHSPいれた
mes "hello, HSP"
F5を押した
「実行用ランタイムファイルが見つかりません。」
挫折した
799名前は開発中のものです。:2006/03/13(月) 16:08:45 ID:OU7yAgnP
>>798
ゲーム作るまで実況するんだろ?
そんなことで挫折してどうする
800名前は開発中のものです。:2006/03/13(月) 16:16:41 ID:SdjQ4hhJ
アンインストールしたら動いた
さっきは3.1βを入れたのがまずかったらしい

過去ログ読んで勉強中
>>32に感動した
でもそれは3目並べじゃないと思った
801名前は開発中のものです。:2006/03/13(月) 16:32:48 ID:SdjQ4hhJ
*start
await 1
cls
pos 0,0: mes mousex
pos 0,16: mes mousey
goto *start

うまく動かない
clsとawaitの位置を入れ替えたらうまくいくが理由がわからない
気にしても仕方がないので次いってみよー

>>799
人間は挫折の数だけ賢くなるんやでってあんちゃんがいってた
802名前は開発中のものです。:2006/03/13(月) 17:19:17 ID:SdjQ4hhJ
screen 0,640,480

map_width=79
map_height=59

dim map, map_width, map_height

//一番外の壁
for y, 0, map_height
    for x, 0, map_width
        map.x.y=1
    next
next
for y, 1, map_height-1
    for x, 1, map_width-1
        map.x.y=0
    next
next

//1マス間隔で置く
for y, 2, map_height-2, 2
    for x, 2, map_width-2, 2
        map.x.y=1
    next
next
803名前は開発中のものです。:2006/03/13(月) 17:21:43 ID:SdjQ4hhJ

//計算用の補助変数
dim ax,4
dim ay,4

ax.0=0
ax.1=1
ax.2=0
ax.3=-1

ay.0=-1
ay.1=0
ay.2=1
ay.3=0

//1マス間隔の壁のまわりにランダムに置く
for y, 2, map_height-2, 2
    for x, 2, map_width-2, 2
        rx=x+ax.rnd(4)
        ry=y+ay.rnd(4)
        map.rx.ry=1
    next
next

for y, 0, map_height
    for x, 0, map_width
        if map.x.y=1:boxf x*8, y*8, x*8+7, y*8+7
    next
next
804名前は開発中のものです。:2006/03/13(月) 17:30:32 ID:SdjQ4hhJ
過去ログでHSPの雰囲気は掴んだ
迷路風の模様を表示するプログラム作成

スクリーンショット
http://gamdev.org/up/img/4977.png

ソース
>>802-803

キー入力がよくわからないのでうpろだとwiki見てくる
805名前は開発中のものです。:2006/03/13(月) 17:47:11 ID:SdjQ4hhJ
wikiをみてきた
CやDelphiだらけでちょっと焦る
HSPやってる場合じゃないのか・・・・

ジエンの無人島
http://gamdev.org/w/?%5B%5B%A5%B8%A5%A8%A5%F3%A4%CE%CC%B5%BF%CD%C5%E7%5D%5D

やっとHSPのソースをみつけた
stick命令の使い方を把握
変数に日本語を使えることに感動

    if ゲーム状態==移動モード {
        if 入力キー==32 : ゲーム状態=会話モード : gosub *チャット窓表示 : return
        if 入力キー==1 : MOVE送信="move,"+NO+",-1,0" : ゲーム状態=待機モード : return
        if 入力キー==2 : MOVE送信="move,"+NO+",0,-1" : ゲーム状態=待機モード : return
        if 入力キー==4 : MOVE送信="move,"+NO+",1,0" : ゲーム状態=待機モード : return
        if 入力キー==8 : MOVE送信="move,"+NO+",0,1" : ゲーム状態=待機モード : return
    }

ひょっとしてこれMMORPGですか
スゲー!
806名前は開発中のものです。:2006/03/13(月) 17:53:06 ID:SdjQ4hhJ
>>805のソースの手間にこれを追加
stick 入力キー,15,1
807名前は開発中のものです。:2006/03/13(月) 18:28:11 ID:SdjQ4hhJ
*start
    await 1        
    cls
    boxf x,y,x+8,y+8

    stick keyboard,15,1

    switch keyboard
    case 1
        x=x-1
        swbreak
    case 2
        y=y-1
        swbreak
    case 4
        x=x+1
        swbreak
    case 8
        y=y+1
        swbreak
    swend
goto *start

stick命令は把握した
次は画面にbmpファイルとか絵を出す
808名前は開発中のものです。:2006/03/13(月) 19:00:53 ID:SdjQ4hhJ
screen 2,1024,768,2 //裏画面を作る。P4は非表示なので2
picload "utada.jpg",2 //裏画面に読み込み。これも非表示なので2
screen 0,640,480 //表示する画面は0、大きさを640x480に設定

*start
await 1 //これ絶対いれないとフリーズする
gcopy 2,i,0,640,480 //画面2からコピーする。コピー先はscreenで指定した画面
i=i+1
goto *start
stop

screen命令がちょっとやっかいだった
これは二種類のことを同時にしてるんだと理解した
・画面をつくる
・描画する画面を切り替える
で、疑問に思ったのが切り替えだけする方法がないの?ってこと
screen命令だと今まで描いた絵が消されてしまう

とにかく入力と描画ができたのでなんかゲームつくりはじめてみる
809名前は開発中のものです。:2006/03/13(月) 20:01:07 ID:kuAEAR8Z
gsel ,
810名前は開発中のものです。:2006/03/13(月) 21:32:02 ID:SdjQ4hhJ
>>809
サンキュー
これでチラツキを抑えることができる!
811名前は開発中のものです。:2006/03/13(月) 22:03:40 ID:HzWMyKDs
企画書とか設計図とかって書いてる?
812名前は開発中のものです。:2006/03/13(月) 22:05:55 ID:Lc/l5cjL
意味のある企画書とか設計図とか書けるようになったら、
初心者卒業かと。。。
813名前は開発中のものです。:2006/03/14(火) 00:31:13 ID:gjKc/A8O
>>801

マウス座標はwait等でOSにタスクを移した時にmousex,yに代入される
clsは画面だけでなく他の情報もクリアされる
801の場合
await 1 ;マウス座標収得
cls ;マウス座標クリア

当然mousexは0

画面クリアを他の命令で行うか、clsの後にawait 0にする

しかし、clsを使う場合はclsからawait中にマウスの動きが無い場合
マウス座標収得はできない
814名前は開発中のものです。:2006/03/14(火) 00:36:39 ID:gAnxDyH2
>>812
「設計」って言葉の意味がわからない。
そんなオレのプログラムはいつも途中で破綻しちゃうのさ・・
815名前は開発中のものです。:2006/03/14(火) 14:18:43 ID:cumlLL/U
今STGを作ってるんですが
メインループにあれもこれも積んで
1フレーム中にすごい数の処理をするようになってしまいました

必要な時に呼び出すタスクシステムってのを見たんですが
むずいですね・・・

あまりにソースがごちゃごちゃなんで今1から作り直してます・・
816名前は開発中のものです。:2006/03/14(火) 20:16:51 ID:BjyEc4sd
企画書=他人を説得するもの=個人製作には不要
設計図=フローチャートや変数表とか?UMLってやつもそうなのかな

だいたいこんな理解だ
817名前は開発中のものです。:2006/03/14(火) 20:55:57 ID:BjyEc4sd
//裏画面
screen 1,640,480,2

//自機
screen 2,32,32,2
picload "jiki.bmp",2

//敵機
screen 3,128,128,2
picload "teki.bmp",2

//変数
cx=320
cy=400

cx_min=0
cx_max=640-128

tx=100
ty=32

tx_min=0
tx_max=640-128
tx_speed=8
tx_dir=tx_speed
818名前は開発中のものです。:2006/03/14(火) 20:56:28 ID:BjyEc4sd
screen 0,640,480
cls 4
repeat
    //敵を動かす
    tx=tx+tx_dir
    if tx>tx_max : tx_dir=-1*tx_speed : ty=ty+8
    if tx<tx_min : tx_dir= tx_speed : ty=ty+8
    
    //裏画面を作る
    gsel 1,-1
    cls 4
    await 1

    pos cx,cy: gcopy 2, 0,0
    pos tx,ty:gcopy 3, 0,0,128,128

    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 1,0,0,640,480
    
loop
819名前は開発中のものです。:2006/03/14(火) 21:02:21 ID:BjyEc4sd
インベーダー風のゲームを作ることにした
やっぱ作りながら覚えるのがプログラミングですよね

昨日教えてもらった命令を使ってチラツキ対策完了
敵が左右に動くところまで作った
次は自機の操作を作ってくる
820名前は開発中のものです。:2006/03/14(火) 21:26:18 ID:BjyEc4sd
    //自機操作
    stick keyboard,15,1

    switch keyboard
    case 1
        cx=cx-cx_speed
        swbreak
    case 4
        cx=cx+cx_speed
        swbreak
    case 64
        if benable=0 {
            benable=1
            bx=cx+16
            by=cy
        }
    swend    
    if cx>cx_max : cx=cx-cx_speed
    if cx<cx_min : cx=cx+cx_speed

    //自機弾
    if benable=1 {
        by=by-bspeed    
        if by<0 : benable=0
    }
821名前は開発中のものです。:2006/03/14(火) 21:33:19 ID:BjyEc4sd
スクリーンショット
http://gamdev.org/up/img/5002.jpg

ゲームっぽいふいんき(なぜか変換できない)になってきた
移動中に攻撃(なぜか反応しない)のバグがある

弾や敵をいっぱい出す方法を考え中
>>815で話題にでてたタスクシステムって奴を勉強しないといけないのか……
822名前は開発中のものです。:2006/03/14(火) 23:19:42 ID:BjyEc4sd
//裏画面
screen 1,640,480,2

//自機
screen 2,32,32,2
picload "jiki.bmp",2

//敵機
screen 3,128,128,2
picload "teki.bmp",2

//変数
cx=320
cy=400
cx_min=0
cx_max=640-32
cx_speed=4

tx=100
ty=32
tx_min=0
tx_max=640-128
tx_speed=8
tx_dir=tx_speed

dim bx,10
dim by,10
dim bspeed,10
dim blength,10
dim benable,10
823名前は開発中のものです。:2006/03/14(火) 23:20:26 ID:BjyEc4sd
for i,0,10
    bspeed.i=16
    blength.i=16
    benable.i=0
next

screen 0,640,480
cls 4
repeat
    //敵を動かす
    tx=tx+tx_dir
    if tx>tx_max : tx_dir=-1*tx_speed : ty=ty+8
    if tx<tx_min : tx_dir= tx_speed : ty=ty+8

    //自機操作
    stick keyboard,15,1

    switch keyboard
    case 1
        cx=cx-cx_speed
        swbreak
    case 4
        cx=cx+cx_speed
        swbreak
    case 64
        for i, 0, 10
            if benable.i=0 {
                benable.i=1
                bx.i=cx+16
                by.i=cy
                goto *fire_end
            }
824名前は開発中のものです。:2006/03/14(火) 23:20:57 ID:BjyEc4sd
        next
        *fire_end
    swend    
    if cx>cx_max : cx=cx-cx_speed
    if cx<cx_min : cx=cx+cx_speed

    //自機弾
    for i,0,10
        if benable.i=1 {
            by.i=by.i-bspeed    
            if by.i<0 : benable.i=0
        }
    next
    
    //裏画面を作る
    gsel 1,-1
    cls 4
    await 1

    pos cx,cy: gcopy 2, 0,0
    pos tx,ty:gcopy 3, 0,0,128,128
    for i,0,10
        if benable.i=1 :     color 255,255,255: line bx.i, by.i, bx.i, by.i+blength.i
    next
    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 1,0,0,640,480
    
loop
825名前は開発中のものです。:2006/03/14(火) 23:45:46 ID:BjyEc4sd
弾をたくさん出せるようになった
配列確保して弾を使い終わったらフラグをオフにしてる

ソース
>>822-824

最高何発まで出せるかが配列に制限される
これをなんとかしたい

案1.配列をたくさん確保しておく
何の解決にもなってないけど今の知識では現実的な妥協点
メリット:実現の目処が立っている
デメリット:必要な配列数を事前に計算する必要がある
あまりデメリットはないかもしれない

案2.動的に確保する(線形リスト)
思いついたコードがこれ
pNext=5
dim task, 5
dim a.pNext, 5
配列に配列を入れるっていう方法で線形リストを作れないか試したけど失敗

案3.動的に確保する(動的配列)
まず2つの配列を用意する
増減があるたびにdimで配列を確保してコピーする
増減が多いと配列全体のコピーが頻発するからゲームには向かないっぽい
増減が少ない場合は空の配列をチェックしなくて済むので案1.より高速

どれもいまいちピンとこない
826名前は開発中のものです。:2006/03/15(水) 08:54:51 ID:BmU2n3lC
プログラムで処理しようって時に、上限を設けないってのは難しいので
案1でとりあえずはいいんじゃないか。
827名前は開発中のものです。:2006/03/15(水) 11:18:33 ID:IR0XDvMy
妥協せずに
案3でいけ
828名前は開発中のものです。:2006/03/15(水) 22:53:10 ID:CsslkguR
疑似タスクシステム思いついた
829名前は開発中のものです。:2006/03/15(水) 23:43:00 ID:CsslkguR
タスクシステムというのはタスクで構成されたタスクリストのこと

タスクは次の情報をもっている
・キャラクタ1体の情報(X、Y座標やHPなど)
・キャラクタの振る舞い(どのサブルーチンを呼ぶか)
・次のキャラクタ(次にどのタスクを実行すればいいか)
タスクが繋がった状態のデータ構造をタスクリストという

タスクシステムは次の機能をもっている
・タスクの追加
・タスクの削除

ほかの言語だと「次のキャラクタ」にポインタを使う
そうすれば動的に確保したタスクを使えるからだ
でもHSPにはポインタがない
代わりに配列の添え字を使う

もし配列のサイズが足りなくなれば案3(>>825)の方法で配列を大きくする
ただし頻繁にサイズを変更するとデータのコピーに時間が時間がかかる
そこでサイズを変更するときは1つずつ増やすのではなく一気にたくさん増やす

まとめ終わり
とりあえず今考えてることをまとめてみた
Dim命令で配列サイズ変更すると内容がすべて0クリアされるのが痛い
「1つずつ増やすのではなく〜」の部分はこれを書いている最中に思いついた
これさえうまく組めばサイズ可変は速度低下ほぼなしでいけそう
830名前は開発中のものです。:2006/03/16(木) 03:29:18 ID:gXQpHvOV
http://gamdev.org/up/img/5015.phps
タスク追加とサブルーチン呼ぶところまでできた
831名前は開発中のものです。:2006/03/16(木) 04:04:18 ID:UYzIbXI8
マジな話し、
ズブってなんですか?
ゲーム作るのに金かかりますか?
一般人の俺はゲーム作っていいんですか?
オンラインアクションゲームを作るのは可能ですか?
832名前は開発中のものです。:2006/03/16(木) 10:13:31 ID:M0PRq3Kf
俺もタスクやっちゃおっかな
833名前は開発中のものです。:2006/03/16(木) 10:23:03 ID:Je4b2YY9
GameDevWikiからシューティングのソースDLしてきて見ながらやってる
すごいまとまってて参考になる
834名前は開発中のものです。:2006/03/16(木) 11:40:58 ID:bQj4ToZf
ゲーム作りたい人はやっぱり専門学校に行くのがベストでしょうか?
835名前は開発中のものです。:2006/03/16(木) 11:53:42 ID:Je4b2YY9
>>834
ベストじゃないです。
余程の意思がない限り大学に行くべきです。

俺は専門学生ですが。
836名前は開発中のものです。:2006/03/16(木) 18:11:24 ID:EYKWwJp5
>>831
釣り乙
837名前は開発中のものです。:2006/03/16(木) 21:49:10 ID:gXQpHvOV
>>831
オンラインアクションゲー作りたいよねー
O2ってのがいいらしいから、もう少しHSPに慣れたらやってみたい
お金かかるのってやっぱ本代だよね、クオリティ高い3Dだとグラフィックボードも必要だし

>>833
情報サンクス
http://gamdev.org/w/?%5B%5B%A5%BF%A5%B9%A5%AF%A5%B7%A5%B9%A5%C6%A5%E0%5D%5D
タスクシステムってページ(↑)だよね
今ちょっと詰まってるから気分転換に読んでる

>>834
ゲームクリエイター志望ですか?スゲー
難関らしいですががんばってください
838名前は開発中のものです。:2006/03/16(木) 22:02:29 ID:gXQpHvOV
//タスク初期化
    gosub *init_task
    
    screen 0,640,480
    screen 1,640,480,2

    repeat
    gsel 1,-1
    cls 4
    await 1
    color 255,255,255

    gosub *task_factory0
    
    //タスクシステム実行
    gosub *run_task

    //デバッグ情報
    mes "---sp---"
    mes sp
    mes "---np---"
    mes np
    mes "---TaskList---"
    gosub *show_task_busy
//    gosub *show_task_null
//    gosub *show_task_all

    //裏画面を表にコピー
    gsel 0,1
    gcopy 1,0,0,640,480
    loop
stop
839名前は開発中のものです。:2006/03/16(木) 22:03:02 ID:gXQpHvOV
//タスクのサブルーチン
*sub0
    tl.it.2=tl.it.2+cos(tl.it.4/100)*10
    tl.it.3=tl.it.3+sin(tl.it.5/100)*10
    pset tl.it.2, tl.it.3

    if (tl.it.2 < 0) or (tl.it.2 > 640) or (tl.it.3 < 0) or (tl.it.3 > 480) {
    tl.it.6=1
    }
return

*sub1
return

*sub2
return

*sub3
return

*sub4
return
840名前は開発中のものです。:2006/03/16(木) 22:03:32 ID:gXQpHvOV
//タスクリスト初期化
*init_task
    Dim tl,100,10 //タスクリスト 2番目の添え字の0は次のタスクへのポインタ、1は呼び出すサブルーチン、2以降はキャラデータ
    //2,3座標 4,5加速度 6死亡フラグ
    sp=0 //使用中タスク先頭
    np=1 //空きタスク先頭 0なら残りなし
    
    repeat 100
    tl.cnt.0=cnt+1
    loop
    tl.0.0=0
    tl.99.0=0

    //この初期化でリストは次のように繋がる
    //sp -> 0
    //np -> 1 -> 2 -> 3 -> ... -> 0
return
841名前は開発中のものです。:2006/03/16(木) 22:36:03 ID:gXQpHvOV
//タスク挿入
*add_task
    //空きタスクが無ければ何もしない
    if np=0 : return
    
    //空きタスクから一つ取り出す
    tmp=np
    np=tl.np.0

    //新しいタスク(=取りだしたタスク)がどのサブルーチンを呼ぶか設定
    tl.tmp.1=add_task_sub

    //新しいタスクにゲームデータを代入
    tl.tmp.2=add_task_2
    tl.tmp.3=add_task_3
    tl.tmp.4=add_task_4
    tl.tmp.5=add_task_5
    tl.tmp.6=add_task_6

    //取り出したタスクに利用中タスクの先頭ポインタを渡す
    tl.tmp.0=sp

    //先頭ポインタを新しく追加したタスクにする
    sp=tmp
return
842名前は開発中のものです。:2006/03/16(木) 22:36:34 ID:gXQpHvOV
//タスク削除
*del_task
    //SP直後の要素を書き換える場合はSPを書き換える必要があるので
    //特別な処理をする

    if del_task_index=0 {
    //空タスクに移動
    tmp=tl.sp.0
    tl.sp.0=np
    np=sp

    //切れたタスクリストを繋ぐ
    sp=tmp
    return
    }

    it=sp
    repeat del_task_index-1
    it=tl.it.0
    loop

    //削除するタスクを待避
    tmp=tl.it.0

    //待避した穴を埋める
    tl.it.0=tl.tmp.0

    //待避したタスクを空リストに入れる
    tl.tmp.0=np
    np=tmp
return
843名前は開発中のものです。:2006/03/16(木) 22:37:07 ID:gXQpHvOV
//タスクリストの状態表示 全体(Debug用) 最後まで表示されないorz
*show_task_all
    repeat 100
    mes tl.cnt.0
    loop
return

//タスクリストの状態表示 使用中タスク(Debug用)
*show_task_busy
    its=sp
    while its ! 0
    mes tl.its.0
    its=tl.its.0
    wend
return

//タスクリストの状態表示 空きタスク(Debug用)
*show_task_null
    its=np
    while its ! 0
    mes tl.its.0
    its=tl.its.0
    wend
return
844名前は開発中のものです。:2006/03/16(木) 22:37:39 ID:gXQpHvOV
//タスクシステム実行
*run_task
    it=sp
    while it ! 0
    switch tl.it.1
    case 0
        gosub *sub0
        swbreak
    case 1
        gosub *sub1
        swbreak
    case 2
        gosub *sub2
        swbreak
    case 3
        gosub *sub3
        swbreak
    case 4
        gosub *sub4
        swbreak
    swend
    it=tl.it.0
    wend

    gosub *check_kill
return

*check_kill
    
return

845名前は開発中のものです。:2006/03/16(木) 22:38:22 ID:gXQpHvOV
*task_factory0
    add_task_sub=0
    add_task_2=320
    add_task_3=240
    add_task_4=rnd(628)
    add_task_5=rnd(628)
    add_task_6=0

    gosub *add_task
return

*task_factory1
    add_task_sub=1
    gosub *add_task
return

*task_factory2
    add_task_sub=2
    gosub *add_task
return

*task_factory3
    add_task_sub=3
    gosub *add_task
return

*task_factory4
    add_task_sub=4
    gosub *add_task
return
846名前は開発中のものです。:2006/03/16(木) 23:12:27 ID:DsY5+sJ3
テキストファイルにしてアップすればいいのに
847名前は開発中のものです。:2006/03/16(木) 23:53:12 ID:EYKWwJp5
>>846
そんな知能ないんだろ
黙って猿の曲芸を見守ってようぜww
848名前は開発中のものです。:2006/03/17(金) 00:17:11 ID:sXFQVN9i
スクリーンショット
http://gamdev.org/up/img/5037.jpg

ソース
>>838-845

画面中央から球が発生して四散するプログラム
画面外に出た弾はフラグたてて後からまとめて削除してるんだけどうまくつくれない
タスクシステムってデバッグが難しいな

>>829の時点でまとめて削除する場合のこと考えてなかったから何か破綻してるのかも・・・・
もう少し弄ってうまくいかなければ一時凍結して他のこと始める予定
一度離れたほうが冷静になれるよね
849名前は開発中のものです。:2006/03/17(金) 00:37:57 ID:sXFQVN9i
>>846
2ちゃんに書き込んでおくと時系列で思い出しやすいし備忘録として使える
本当は↓こういうのに連動したアップローダがあればいいのにって思うけどな
http://www.krugle.com/
http://www.koders.com/
http://www.codefetch.com/

見づらいかもしれないから何かいい方法ないか考えとく
gamdevろだはテキスト不許可だしzipにすると解凍まんどくせ
850名前は開発中のものです。:2006/03/17(金) 00:57:18 ID:sXFQVN9i
>>847
:;' /:/ `メ、 i: ハ: i: : ii:i ヽ: i: :ii; : : : :iヽ: :
i: :i: i: i/,ィ=ミヽi: iヽNi:i_`iL:H---i:i: ヽ
i: :i :i / {.iトgj:i ヽ! lルィ丁゙)‐ミ「!: :ii/: : i
;':/ヾム⊂つ'´     i:.;{iil1:ソ i:i:::i !: : i:
: i: /: iト        、,,ミニっ /i/゚: o i .
: i:/: : i    、`_      ̄/.:/: : : i: :
: /: .::ハ   ゙llllllル `ヽ    //. : :/! i: .   <あやまれ!お猿さんにあやまれっ
/: .::/:::/`、  lll/: : : : :} /〃:./: /i iハ!
i. ::/i::/::::::i::ヽ`三ー 'ノ , イ/: /: /.::i i::::::
::::///::::::::i:::i:..ヽ---<::::/:::/: :/: : i iヽ::
851名前は開発中のものです。:2006/03/17(金) 22:57:46 ID:sXFQVN9i
だめだ・・・・難しすぎる・・・・・
852名前は開発中のものです。:2006/03/18(土) 00:09:23 ID:UdlfWr/S
#module機能覚えた
でもこれ名前つけられるようになってる意味がわからん
853名前は開発中のものです。:2006/03/18(土) 00:26:22 ID:UdlfWr/S
逆に考えるんだ・・・・タスクシステムはいらない・・・・

・・・・ひとつの配列ですべての種類のデータを格納できれば・・・・いらないはず・・・・

配列の増減をDimでするなら・・・・・・ポインタで繋ぐ意味はない・・・・
854名前は開発中のものです。:2006/03/18(土) 01:15:18 ID:UdlfWr/S
タスク管理の方法をおおざっぱに3種類にわけてまとめてみた

■タスクシステム
・すべての種類のデータを一つのリスト構造に納めることができる
・データの増減が可能
・HSPで擬似的に実現してるために前者はワーク領域のデータ型が制限される、
・後者は増減時に時間がかかってしまうのでメリットは少ない

■フラグ法
・タスクの利用可否をフラグで判断する方法
・実行時に配列すべてを走査する必要がある
・平均実行時間がタスクリストの最大実行時間と同じ程度になる

■最大値可変法
・擬似的な動的配列を実現する方法
・追加するときは配列の最大値を加算し末尾に代入する
削除するときは削除するタスクに末尾のタスクを上書きコピーし配列の最大値を減算する
・平均実行時間はタスクリストと同じ程度
855名前は開発中のものです。:2006/03/18(土) 02:14:46 ID:pDqUPpzt
とりあえず、HSPやってるならタスクシステムは不必要だと
HSP暦1年6ヶ月の漏れからアドバイスだ
856名前は開発中のものです。:2006/03/18(土) 09:15:01 ID:UdlfWr/S
了解した
857名前は開発中のものです。:2006/03/18(土) 10:08:17 ID:vA7d8xvU
>>854
 HSPは2.6? 3.0からは配列変数は越えた分は自動確保されますよ。いきなり読み込むと
エラーになりますが。
858名前は開発中のものです。:2006/03/18(土) 10:53:43 ID:UdlfWr/S
>>857
確認してきた
ほんとだ、スゲー!感動した
>>825>>829>>854あたりの発言は取り消す
根本的に発想を変えなきゃいけないみたいだ
859名前は開発中のものです。:2006/03/18(土) 11:16:12 ID:xi+rxGkk
誰かプラグインつくってなかった?
タスクシステムの。
860名前は開発中のものです。:2006/03/18(土) 22:38:18 ID:UdlfWr/S
#define MAX 100

turn=0

//変数
Dim tl,MAX,3 //敵

repeat MAX
    tl.cnt.0=1 //利用中(0=否)
    tl.cnt.1=0 //呼び出すサブルーチン
    tl.cnt.2=(cnt*64)\640 //X座標
    tl.cnt.3=(cnt*64)/640*64 //Y座標
loop
cx=320
cy=440

//裏画面
screen 1,640,480,2

//自機
screen 2,32,32,2
picload "jiki.bmp",2

//敵機
screen 3,32,32,2
picload "teki.bmp",2

screen 0,640,480
861名前は開発中のものです。:2006/03/18(土) 22:38:49 ID:UdlfWr/S
cls 4
repeat
    //裏画面を作る
    gsel 1,-1
    cls 4
    await 1

    //自機
    cx_speed=8
    stick keyboard,15,1

    switch keyboard
    case 1
     cx=cx-cx_speed
     if cx<0 : cx=0
     swbreak
    case 4
     cx=cx+cx_speed
     if cx>639-32 : cx=639-32
     swbreak
    case 64
    if benable=0 {
        benable=1
        bx=cx+16
        by=cy
    }
    swend

    pos cx,cy: gcopy 2, 0,0
862名前は開発中のものです。:2006/03/18(土) 22:41:48 ID:UdlfWr/S
    //自機弾
    if benable=1 {
    by=by-8
    if by<0 : benable=0
    color 255,255,255
    line bx, by, bx, by-16
    }

    //敵機
    turn=0
    ndir=dir
    repeat MAX
    if tl.cnt.0 = 1 {
        pos tl.cnt.2,tl.cnt.3:gcopy 3, 0,0,32,32
        tl.cnt.2 = tl.cnt.2+dir
        if (tl.cnt.2 <= 0) : ndir=1
        if (tl.cnt.2 >= 602) : ndir=-1

        //あたり判定
        if benable and tl.cnt.2<bx and tl.cnt.2+32>bx and tl.cnt.3<by and tl.cnt.3+32>by: tl.cnt.0 = 0
    }
    loop
    if dir!ndir {
    repeat MAX
        tl.cnt.3=tl.cnt.3+4
    loop
    }
    dir=ndir
863名前は開発中のものです。:2006/03/18(土) 22:42:30 ID:UdlfWr/S
    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 1,0,0,640,480
    
loop
864名前は開発中のものです。:2006/03/19(日) 01:32:22 ID:AaENy85a
ここまで出来た
・敵がインベーダーっぽく動く
・自機が左右に動く
・自機が弾を発射できる
・弾が敵に当たると消滅する

ソース
>>860-863
左右移動中にCTRLを押しても弾が撃てないorz

タスクシステムに変わって配列でデータを管理することにした
インベーダーゲームなら敵は減るばかりだから問題はない

タスクシステムと比べて
・単純でデバッグもしやすい
・速度も問題はない

タスクシステムの存在意義がわからなくなってきた
やっぱり>>855が結論なのか・・・・
でも>>859が気になる
865ホスプロ ◆HOTsoUpxjY :2006/03/19(日) 01:48:59 ID:nuu57z8E
そんなにタスクが好きならCで組めばいいのに。
一人で作る場合タスクはなくてもなんとかなる。
複数人で仕様も変わる状況への対処法だから。
それよりルーチンを切り分けてモジュール化して
一からやり直すハメにならない方が大事だと思う。
メインループから外注に出せば把握できるでしょ。

とかいって「そんなのは嘘だ!」とか
ここから1000まで叩かれまくったりして…
866名前は開発中のものです。:2006/03/19(日) 02:55:38 ID:iAmpuYbz
そんなのは嘘だ!
867名前は開発中のものです。:2006/03/19(日) 07:27:37 ID:VCd0X5P4
>>860
 HSP2.xでのscreen 1はスクリーンセーバーとかで使う特殊な画面なので、バッファ用には
2以降を使うのがセオリーです。っと、裏画面がscreenって、ちゃんとbufferという非表示の
スクリーンを作る命令がありますぜい。

>>864
 キー入力の判定でswitch命令を使ってるけど、それぞれにswbreakがあるんで、ひとつでも
該当すると構文から抜け出ちゃいます。それにswitch文での比較判定は単純にイコールだけ
になっちゃうので、左を押しながら弾を撃つという状態のチェックができません。
 ここは素直にif文で

if keyboard & 1 : cx=cx-cx_speed : if cx < 0 : cx=0
if keyboard & 4 : cx=cx+cx_speed : if cx > 639-32 : cx=639-32
if keyboard & 64 : if benable == 0 : benable=1 : bx=cx+16 : by=cy

というふうに。(=ではなく&で)
868名前は開発中のものです。:2006/03/20(月) 05:09:20 ID:5iZ2gAyz
#define MAX 50

//初期化
gosub *Boot_Initialize
gosub *Play_Initialize

*Start
repeat
    //裏画面を作る
    gsel 2,-1
    cls 4
    await 1

    //自機
    cspeed=8
    stick keyboard,15,1

    if keyboard & 1 {
     cx=cx-cspeed
     if cx<0 : cx=0
    }
    if keyboard & 4 {
     cx=cx+cspeed
     if cx>639-32 : cx=639-32
    }
    if keyboard & 64 {
    if benable=0 {
        benable=1
        bx=cx+16
        by=cy
    }
    }
869名前は開発中のものです。:2006/03/20(月) 05:12:32 ID:5iZ2gAyz
    pos cx,cy: gcopy 3, 0,0

    //自機弾
    if benable=1 {
        by=by-8
        if by<0 : benable=0
        color 255,255,255
        line bx, by, bx, by-16
    }

    //敵機
    ndir=dir
    repeat MAX
        if tl.cnt.0 = 1 {
            pos tl.cnt.2,tl.cnt.3:gcopy 4, 0,0,32,32
            tl.cnt.2 = tl.cnt.2+dir
            if (tl.cnt.2 <= 0) : ndir=1
            if (tl.cnt.2 >= 602) : ndir=-1

            //あたり判定
            if benable and tl.cnt.2<bx and tl.cnt.2+32>bx and tl.cnt.3<by and tl.cnt.3+32>by: tl.cnt.0 = 0 : Score=Score+10 : Teki_Rest = Teki_Rest - 1

            //敵が接地したか
            if tl.cnt.3 > 448 : invasion = 1
        }
    loop
    if dir!ndir {
        repeat MAX
            tl.cnt.3=tl.cnt.3+4
        loop
    }
870名前は開発中のものです。:2006/03/20(月) 05:13:03 ID:5iZ2gAyz
    dir=ndir

    Color 255, 255, 255
    pos 200,0 : mes "Score"
    pos 300,0 : mes Score

    if Score > HighScore : HighScore = Score
    pos 0,0 : mes "High-Score"
    pos 100,0 : mes HighScore

    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 2,0,0,640,480

    if Teki_Rest=0 : gosub *Stage_Initialize
    if invasion=1 : gosub *Play_Initialize
loop

//ステージ初期化
*Stage_Initialize
    Stage_Num = Stage_Num + 1
    Dim tl,MAX,3    //敵
    
    repeat MAX
        tl.cnt.0 = 1    //利用中(0=否)
        tl.cnt.1 = 0    //呼び出すサブルーチン(未使用)
        tl.cnt.2 = ( cnt * 64 ) \ 640    //X座標
        tl.cnt.3 = ( cnt * 64 ) / 640 * 64    //Y座標
    loop
    cx=320
    cy=440
871名前は開発中のものです。:2006/03/20(月) 05:13:36 ID:5iZ2gAyz
    benable=0
    
    Teki_Rest=MAX
    invasion = 0

    cls 4
    Color 255, 255, 255
    pos 280,240 : mes "Stage"
    pos 340,240 : mes Stage_Num
    AWait 1000
return

//プレイ初期化
*Play_Initialize
    Stage_Num=0
    Score=0
    gosub *Stage_Initialize
return

//起動時の初期化
*Boot_Initialize
    HighScore=74
    Score=0
    
    //裏画面
    buffer 2,640,480
    
872名前は開発中のものです。:2006/03/20(月) 05:14:08 ID:5iZ2gAyz
    
    //自機
    buffer 3,32,32
    picload "jiki.bmp"
    
    //敵機
    buffer 4,32,32
    picload "teki.bmp"
    
    screen 0,640,480
    
    cls 4
return
873名前は開発中のものです。:2006/03/20(月) 07:00:23 ID:PMTGalOb
HSPって管理しづらくない?
874名前は開発中のものです。:2006/03/20(月) 08:45:22 ID:mOdDXP9C
しずらいけど、HSPは簡単だからいい。
875名前は開発中のものです。:2006/03/20(月) 14:47:22 ID:pEmfXrsX
それって矛盾してね?
876名前は開発中のものです。:2006/03/20(月) 15:05:28 ID:B4K2jB01
でかい規模のアプリには向いてないってことじゃないの?
877名前は開発中のものです。:2006/03/20(月) 17:45:46 ID:piMMOlj9
タスクは色々と後付したり、愉快なシステムを盛り込むのに便利だが
HSPでは速度的に辛い

特にswitchで死ねる
878名前は開発中のものです。:2006/03/20(月) 21:00:31 ID:nDP36Kvp
>>873
Pascalみたく宣言部つくって、
定数や変数、サブルーチンを宣言しておけば
けっこう大丈夫じゃない?

いや、もちろんしなくていいんだけど
漏れはそうしてるよ。
879名前は開発中のものです。:2006/03/20(月) 23:23:08 ID:jcANfyCO
C++で作ればもっと簡単な気がしないでもない。
やっぱポインタは初心者を遠ざけるのか?
880名前は開発中のものです。:2006/03/20(月) 23:33:27 ID:mOdDXP9C
ポインタじゃなくて、導入するまでが面倒なんじゃないかな。
俺がそうだったw
881ホスプロ ◆HOTsoUpxjY :2006/03/21(火) 00:01:03 ID:BzLOQwBY
>>879
GUIが遠ざけるのでは。
882名前は開発中のものです。:2006/03/21(火) 00:11:53 ID:jcmOwNd8
確かにコンパイラとか見つけて使えるようにするまでで大変だもんなぁ。

ましてや統合環境が欲しいならさらに使い方を覚えなくちゃいけないな。

GUIはそんなに難しくないと思うけど?
むしろ、GUIに辿り着くまでのが厳しいと思う。
とはいえ、ゲームだからGUIは避けて通れないな
883名前は開発中のものです。:2006/03/21(火) 04:31:56 ID:KZa94AFT
>>879=882
簡単に作れる というのと
手軽さ というのは違うぞ。

確かにC++やRubyで組んだほうが最終的には
”カンタン”に済ませられるのはモチロン知っているが
この”手軽さ”はやめられない
884名前は開発中のものです。:2006/03/21(火) 08:51:03 ID:TsEgs7Ul
>>868
 気になる点をいくつか。

>//自機
>cspeed=8

 これが定数ならば、メインループから外して初期化ルーチンで記述したほうがよいです。
毎フレームで定義されてて無駄な処理になってるんで。
 あと、

>pos 200,0 : mes "Score"
>pos 300,0 : mes Score

 これは

pos 200,0 : mes "Score : "+Score

でもok(" : "は任意で)なんだけど、なにかしら別の意図が?

 awaitの使い方も気になるけど、今のところは実害ある利用方法じゃないので、とりあえず
のちほど。…でもawait 1はPCスペックによって実行速度に差がでるか。
885名前は開発中のものです。:2006/03/22(水) 08:51:55 ID:4wbvXuWa
月曜日に書こうと思って書き込み制限になったレスを今頃になって投稿してみる
インデントはもう全部タブに書き換えたから大丈夫
さらに続いて撃ち返し弾を実装したソースをうp予定



インデント失敗orz
HSPのエディタはタブが2個並んでると置換されないことがある(メモ帳だとうまくいった)
行頭にタブとスペースが混ざってるのもインデントが崩れた原因

ソース
>>868-872

・敵を全滅させると次のステージに進む
・スコア、ハイスコア機能追加
・敵が地面にくるとゲームオーバー(ステージ1から再スタート)
・screenを>>867で教えてもらったbuffer命令に置き換えた
・移動中に弾がでない不具合を修正(>>867)
886名前は開発中のものです。:2006/03/22(水) 08:54:20 ID:4wbvXuWa
やっぱりタブ2連続だとうまく置換されないや……
置換されなくなるまで同じ操作を繰り返してスペースを&nbsp;に置換完了
887名前は開発中のものです。:2006/03/22(水) 08:54:51 ID:4wbvXuWa
#define MAX 50 //敵の数最大
#define    cspeed    8 //自機移動速度
#define EBULLET_MAX    50 //敵弾数最大

//初期化
gosub *Boot_Initialize
gosub *Play_Initialize

*Start
repeat
    //裏画面を作る
    gsel 2,-1
    cls 4
    await 1

    //自機
    stick keyboard,15,1

    if keyboard & 1 {
        cx=cx-cspeed
        if cx<0 : cx=0
    }
    if keyboard & 4 {
        cx=cx+cspeed
        if cx>639-32 : cx=639-32
    }
    if keyboard & 64 {
        if benable=0 {
            benable=1
            bx=cx+16
888名前は開発中のものです。:2006/03/22(水) 08:55:38 ID:4wbvXuWa
            by=cy
        }
    }
    pos cx,cy: gcopy 3, 0,0

    //自機弾
    if benable=1 {
        by=by-8
        if by<0 : benable=0
        color 255,255,255
        line bx, by, bx, by-16
    }

    //敵機
    ndir=dir
    repeat MAX
        if tl.cnt.0 = 1 {
            pos tl.cnt.2,tl.cnt.3:gcopy 4, 0,0,32,32
            tl.cnt.2 = tl.cnt.2+dir
            if (tl.cnt.2 <= 0) : ndir=1
            if (tl.cnt.2 >= 602) : ndir=-1
889名前は開発中のものです。:2006/03/22(水) 08:56:09 ID:4wbvXuWa
            //あたり判定
            if benable and tl.cnt.2<bx and tl.cnt.2+32>bx and tl.cnt.3<by and tl.cnt.3+32>by {
                tl.cnt.0 = 0
                Score = Score + 10
                Teki_Rest = Teki_Rest - 1

                gosub *Enemy_Fire
            }

            //敵が接地したか
            if tl.cnt.3 > 448 : invasion = 1
        }
    loop
    if dir!ndir {
        repeat MAX
            tl.cnt.3=tl.cnt.3+4
        loop
    }
    dir=ndir
890名前は開発中のものです。:2006/03/22(水) 10:49:46 ID:4wbvXuWa
    //敵弾
    repeat EBULLET_MAX
        color 255,255,255
        if bl.cnt.0 = 1 {
            line bl.cnt.2, bl.cnt.3, bl.cnt.2, bl.cnt.3 + 16 //描画
            bl.cnt.3 = bl.cnt.3 + 8 //移動
            if bl.cnt.3 > 480 : bl.cnt.0 = 0 //画面外なら使用終了
            if bl.cnt.2 > cx and bl.cnt.2 < cx + 32 and bl.cnt.3 > cy and bl.cnt.3 < cy+32 : Dead = 1 //自機との当たり判定
        }
    loop

    Color 255, 255, 255
    pos 200,0 : mes "Score : " + Score

    if Score > HighScore : HighScore = Score
    pos 0,0 : mes "High-Score : " + HighScore

    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 2,0,0,640,480

    if Teki_Rest=0 : gosub *Stage_Initialize
    if invasion=1 or Dead = 1 : gosub *Play_Initialize
loop
891名前は開発中のものです。:2006/03/22(水) 13:19:37 ID:DEs7Ykun
HSPって変数定義とかいらないの?
Cの半分くらいの時間でソース書けるんだが
短すぎて書いた気がしない
892名前は開発中のものです。:2006/03/22(水) 16:53:56 ID:4wbvXuWa
//ステージ初期化
*Stage_Initialize
    Stage_Num = Stage_Num + 1
    Dim tl, MAX, 3    //敵
    Dim bl, EBULLET_MAX, 3 //敵の弾
    
    repeat MAX
        tl.cnt.0 = 1    //利用中(0=否)
        tl.cnt.1 = 0    //呼び出すサブルーチン(未使用)
        tl.cnt.2 = ( cnt * 64 ) \ 640    //X座標
        tl.cnt.3 = ( cnt * 64 ) / 640 * 64    //Y座標
    loop
    cx=320
    cy=440

    benable=0
    
    Teki_Rest=MAX
    invasion = 0
    Dead = 0

    cls 4
    Color 255, 255, 255
    pos 280,240 : mes "Stage " + Stage_Num
    AWait 1000
return
893名前は開発中のものです。:2006/03/22(水) 16:54:27 ID:4wbvXuWa
//プレイ初期化
*Play_Initialize
    Stage_Num=0
    Score=0
    gosub *Stage_Initialize
return

//起動時の初期化
*Boot_Initialize
    HighScore=74
    Score=0
    
    //裏画面
    buffer 2,640,480
    
    //自機
    buffer 3,32,32
    picload "jiki.bmp"
    
    //敵機
    buffer 4,32,32
    picload "teki.bmp"
    
    screen 0,640,480
    
    cls 4
return
894名前は開発中のものです。:2006/03/22(水) 16:54:57 ID:4wbvXuWa
//敵が弾を発射
*Enemy_Fire
//    bl.cnt.0 //使用中かどうか
//    bl.cnt.1 //弾道サブルーチン(未使用)
//    bl.cnt.2 //X座標
//    bl.cnt.3 //Y座標

    teki_num=cnt
    
    repeat EBULLET_MAX
        if bl.cnt.0 = 0 {
            bl.cnt.0 = 1
            bl.cnt.2 = tl.teki_num.2+16
            bl.cnt.3 = tl.teki_num.3
            break
        }
    loop
return
895名前は開発中のものです。:2006/03/22(水) 19:50:05 ID:4wbvXuWa
ソース
>>887-894
文字列が足し算できるなんて・・・メチャクチャ楽じゃないか・・・

スレの流れ的にC++まんせーですね
今ちょうど区切りがいいので移植に挑戦してみようかな
グラフィックの複雑さがネック

dupptrやvarptrを使えばHSPでもポインタが使えるみたいなので
ひょっとしてタスクシステム作れるかもしれない
前回は無計画に作って想定してない箇所(タスクの削除がうまく作れなかった)でハマったので
今度は計画的に

敵や敵弾のバリエーションを増やしてギャラクシアン風に作り替えたい
動きにバリエーションをつけるのは初めから考えていたこと
いかにもゲームらしい部分なのでおもしろそう

やりたいことが3つもできてしまったのでとりあえず寝てきます
どれから手をつけようか……
896名前は開発中のものです。:2006/03/22(水) 21:51:47 ID:quA0O7ZO
DXライブラリ触った時、描画関係はHSPとほぼ同じくらいの感覚で扱えるなと思ったよ。
まぁポリゴンとかは出来ないけどさ。
897名前は開発中のものです。:2006/03/23(木) 10:01:54 ID:5WNqQ2iY
#define _CRT_SECURE_NO_DEPRECATE
#define MAX 50 //敵の数最大
#define    cspeed    8 //自機移動速度
#define EBULLET_MAX    50 //敵弾数最大

#include "DxLib.h"

//プロトタイプ宣言
void    Boot_Initialize();
void    Play_Initialize();
void    Stage_Initialize();
void    Enemy_Fire(int cnt);

//変数宣言
int tl[MAX][4]; //敵
int bl[EBULLET_MAX][4]; //敵の弾

int cx=0, cy=0;
int bx=0, by=0, benable=0;

int ndir=0, dir=0;
int tspeed=0, Teki_Rest=0;

int Score=0, HighScore=0;
int Dead=0, invasion=0;
int Stage_Num=0;

int    HGJiki=0;
int    HGTeki=0;
898名前は開発中のものです。:2006/03/23(木) 10:02:25 ID:5WNqQ2iY
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                 LPSTR lpCmdLine, int nCmdShow )
{
    if( DxLib_Init() == -1 )    // DXライブラリ初期化処理
    {
         return -1;                // エラーが起きたら直ちに終了
    }


    //初期化
    Boot_Initialize();
    Play_Initialize();

    //裏画面
    SetDrawScreen( DX_SCREEN_BACK ) ;

    //*Start
    while (1)
    {
        ClsDrawScreen() ;
        WaitTimer( 1 ) ;

        //自機
        if( CheckHitKey( KEY_INPUT_LEFT ) == 1 )
        {
            cx=cx-cspeed;
            if (cx<0) cx=0;
        }
899名前は開発中のものです。:2006/03/23(木) 10:03:24 ID:5WNqQ2iY
        if( CheckHitKey( KEY_INPUT_RIGHT ) == 1 )
        {
            cx=cx+cspeed;
            if (cx>639-32) cx=639-32;
        }

        if( CheckHitKey( KEY_INPUT_LCONTROL ) == 1 )
        {
            if (benable == 0) {
                benable=1;
                bx=cx+16;
                by=cy;
            }
        }
        DrawGraph( cx , cy , HGJiki , FALSE ) ;

        //自機弾
        if (benable == 1) {
            by=by-8;
            if (by<0) benable=0;
            DrawLine(bx, by, bx, by-16, GetColor(255,255,255));
        }
900名前は開発中のものです。:2006/03/23(木) 10:04:13 ID:5WNqQ2iY
        //敵機
        ndir=dir;
        for (int cnt=0 ; cnt<MAX ; cnt++)
        {
            if (tl[cnt][0] == 1)
            {
                DrawGraph( tl[cnt][2], tl[cnt][3], HGTeki , FALSE ) ;

                tl[cnt][2] = tl[cnt][2]+dir;
                if (tl[cnt][2] <= 0) ndir = tspeed;
                if (tl[cnt][2] >= 602) ndir = -tspeed;

                //あたり判定
                if (benable && (tl[cnt][2] < bx) && ((tl[cnt][2] + 32) > bx) && (tl[cnt][3] < by) && ((tl[cnt][3]+32) > by) )
                {
                    tl[cnt][0] = 0;
                    Score = Score + 10;
                    Teki_Rest = Teki_Rest - 1;
901名前は開発中のものです。:2006/03/23(木) 10:04:46 ID:5WNqQ2iY
                    Enemy_Fire(cnt);
                }

                //敵が接地したか
                if (tl[cnt][3] > 448) invasion = 1;
            }
        }

        if (dir != ndir) {
            for (int cnt=0 ; cnt<MAX ; cnt++)
            {
                tl[cnt][3] = tl[cnt][3] + 4;
            }
        }
        dir = ndir;
902名前は開発中のものです。:2006/03/23(木) 13:33:20 ID:5WNqQ2iY
        //敵弾
        for (int cnt=0 ; cnt<EBULLET_MAX ; cnt++)
        {
            if (bl[cnt][0] == 1)
            {
                bl[cnt][3] = bl[cnt][3] + 8; //移動
                DrawLine(bl[cnt][2], bl[cnt][3], bl[cnt][2], bl[cnt][3] + 16, GetColor(255,255,255)); //描画
                if (bl[cnt][3] > 480) bl[cnt][0] = 0; //画面外なら使用終了
                if ((bl[cnt][2] > cx) && (bl[cnt][2] < cx + 32) && (bl[cnt][3] > cy) && (bl[cnt][3] < cy+32)) Dead = 1; //自機との当たり判定
            }
        }

        DrawFormatString( 200, 0, GetColor(255,255,255), "Score : %d", Score);

        if (Score > HighScore) HighScore = Score;
        DrawFormatString( 0, 0, GetColor(255,255,255), "High-Score : %d", HighScore);

        // 裏画面の内容を表画面に反映させる
        ScreenFlip() ;

903名前は開発中のものです。:2006/03/23(木) 13:33:50 ID:5WNqQ2iY
        if (Teki_Rest <= 10) tspeed=2;
        if (Teki_Rest <= 1) tspeed=4;
        if (Teki_Rest == 0) Stage_Initialize();
        if ( (invasion == 1) || (Dead == 1) ) Play_Initialize();



        // Windows システムからくる情報を処理する
        if( ProcessMessage() == -1 ) break ;

        // ESCキーが押されたらループから抜ける
        if( CheckHitKey( KEY_INPUT_ESCAPE ) == 1 ) break ;
    }

    DxLib_End() ;                // DXライブラリ使用の終了処理

    return 0 ;                    // ソフトの終了
}
904名前は開発中のものです。:2006/03/23(木) 13:34:21 ID:5WNqQ2iY
//ステージ初期化
void Stage_Initialize()
{
    Stage_Num = Stage_Num + 1;

    ZeroMemory(tl, sizeof(tl)); //Dim tl, MAX, 3    //敵
    ZeroMemory(bl, sizeof(bl)); //Dim bl, EBULLET_MAX, 3 //敵の弾
    
    for (int cnt=0 ; cnt<MAX ; cnt++)
    {
        tl[cnt][0] = 1;    //利用中(0=否)
        tl[cnt][1] = 0;    //呼び出すサブルーチン(未使用)
        tl[cnt][2] = ( cnt * 64 ) % 640;    //X座標
        tl[cnt][3] = ( cnt * 64 ) / 640 * 64;    //Y座標
    }
    cx=320;
    cy=440;

    benable=0;
    tspeed=1;
905名前は開発中のものです。:2006/03/23(木) 13:34:52 ID:5WNqQ2iY
    Teki_Rest=MAX;
    invasion = 0;
    Dead = 0;

    ClsDrawScreen();

    DrawFormatString( 280, 240, GetColor(255,255,255), "Stage : %d", Stage_Num);

    ScreenFlip() ;
    WaitTimer( 1000 ) ;
    
    return;
}

//プレイ初期化
void Play_Initialize()
{
    Stage_Num=0;
    Score=0;
    Stage_Initialize();
    
    return;
}
906名前は開発中のものです。:2006/03/23(木) 13:35:36 ID:5WNqQ2iY
//起動時の初期化
void Boot_Initialize()
{
    HighScore=74;
    Score=0;
    
    HGJiki = LoadGraph( "jiki.bmp" ) ;
    HGTeki = LoadGraph( "teki.bmp" ) ;

    ClsDrawScreen();

    return;
}

//敵が弾を発射
void Enemy_Fire(int cnt)
{
//    bl.cnt.0 //使用中かどうか
//    bl.cnt.1 //弾道サブルーチン(未使用)
//    bl.cnt.2 //X座標
//    bl.cnt.3 //Y座標
907名前は開発中のものです。:2006/03/23(木) 14:22:32 ID:sWF0/S5O
>>897
乙。未実装の敵弾以外は普通に動いたよ。
とりあえず、敵のフラグと座標は構造体にしてみては?
908名前は開発中のものです。:2006/03/24(金) 03:47:56 ID:r2mkgPf1
    int teki_num=cnt;

    for ( cnt=0 ; cnt<EBULLET_MAX ; cnt++)
    {
        if (bl[cnt][0] == 0) {
            bl[cnt][0] = 1;
            bl[cnt][2] = tl[teki_num][2]+16;
            bl[cnt][3] = tl[teki_num][3];
            break;
        }
    }

    return;
}
909名前は開発中のものです。:2006/03/24(金) 04:43:33 ID:r2mkgPf1
ソース
>>897-908

・グラフィック
>>896で出てきたDXライブラリを使っています
ライン命令やフォーマット付きの文字描画があったので
HSPからあまり修正せずに移植できました

・変数宣言
やはり>>891で指摘された通りソースが長くなります
しかし移植中に配列サイズを間違っていることに気づきました
実は>>857で説明されている機能である
>配列変数は越えた分は自動確保されますよ
に助けられたいたので今まで発覚しなかったのです
Dim tl,MAX,3 //敵

repeat MAX
tl.cnt.0=1 //利用中(0=否)
tl.cnt.1=0 //呼び出すサブルーチン
tl.cnt.2=(cnt*64)\640 //X座標
tl.cnt.3=(cnt*64)/640*64 //Y座標
   ↑
Dimで3と宣言している(0〜2まで使える)のに0〜3まで使ってる

・C++移植版のバグ
ALT+F4で終了するとエラーがでます
たぶんDxLib_End()を実行してないからだと思います
ゲーム終了時に必ず実行する工夫がないか検討中
910名前は開発中のものです。:2006/03/24(金) 05:33:06 ID:r2mkgPf1
途中経過

構造体を定義してみた
struct stEnemy
{
int x;
int y;
bool enable;
};

自機や弾も使い回しできるな

こういうのって継承すればいいんだっけ

そうだ、classを使おう
911名前は開発中のものです。:2006/03/24(金) 06:24:23 ID:r2mkgPf1
なんだか、ややこしくなってきた
912名前は開発中のものです。:2006/03/24(金) 07:45:58 ID:r2mkgPf1
敵のフラグと座標を構造体に書き換えた
座標をxやyで書けるのは見やすくていい
HSPには無いのかな、連想配列で似たようなことができそうな気がするけど

ついに240行にまで増えた
20行平均で貼り付けても12レスorz
5レスごとに3時間ぐらい待たされるから全うpまで6時間以上orz...
913名前は開発中のものです。:2006/03/24(金) 08:28:08 ID:4LMnL9n2
拡張子をphpsに変えれば、ゲムデヴあぷろだにもupできるじゃろ
914名前は開発中のものです。:2006/03/24(金) 13:12:48 ID:Keoep/nW
>>913同意。
いい加減ウザい。
txtファイルにコピペしてgamdevにうpしろっての
915名前は開発中のものです。:2006/03/24(金) 13:21:58 ID:e/LJggH7
どうしてもしたいならソースをうpするスレッドへ
916名前は開発中のものです。:2006/03/24(金) 17:05:17 ID:ynvPJr33
>>913-915
そう言ってやるな、せっかくスレを盛り上げてくれてるんだ
それとも藻前らが何かネタを投下できるのか?

まぁ所詮>>909が上げてる程度のコードも書けないやつらの
嫉妬レスなんだろうな(プゲラッチョ
917名前は開発中のものです。:2006/03/24(金) 18:18:58 ID:FlQlv7Bv
別にもりあがってないじゃん

>>909ぐらいのコードなら書けなきゃゲ制作には来ないって
918名前は開発中のものです。:2006/03/24(金) 23:21:23 ID:kZSgB7pc
盛り上げてるのではなく
荒らしている。
919名前は開発中のものです。:2006/03/25(土) 00:05:23 ID:nEkDgcKS
短いソースはともかく、1レスで書けない長いソースは別ファイルをうpするのがマナーだろ。
見にくいし、試せない。書き出さ無きゃならん時点で見る気もうせる。
920名前は開発中のものです。:2006/03/25(土) 00:42:47 ID:yYvbrmRQ
>>912 しかし乙
921名前は開発中のものです。:2006/03/25(土) 08:26:50 ID:xoont0lh
#define MAX 50 //敵の数最大
#define    cspeed    8 //自機移動速度
#define EBULLET_MAX    50 //敵弾数最大

#include "DxLib.h"

//プロトタイプ宣言
void    Boot_Initialize();
void    Play_Initialize();
void    Stage_Initialize();
void    Enemy_Fire(int cnt);

//変数宣言
struct stEnemy
{
    int enable;
    int x;
    int y;
};
stEnemy Enemies[MAX];
/*
922名前は開発中のものです。:2006/03/25(土) 08:27:31 ID:xoont0lh
*/
int bl[EBULLET_MAX][4]; //敵の弾

int cx=0, cy=0;
int bx=0, by=0, benable=0;

int ndir=0, dir=0;
int tspeed=0, Teki_Rest=0;

int Score=0, HighScore=0;
int Dead=0, invasion=0;
int Stage_Num=0;

int    HGJiki=0;
int    HGTeki=0;

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                 LPSTR lpCmdLine, int nCmdShow )
{
    if( DxLib_Init() == -1 )    // DXライブラリ初期化処理
    {
         return -1;                // エラーが起きたら直ちに終了
    }
/*
923名前は開発中のものです。:2006/03/25(土) 08:28:25 ID:xoont0lh
*/
    //初期化
    Boot_Initialize();
    Play_Initialize();

    //裏画面
    SetDrawScreen( DX_SCREEN_BACK ) ;

    //*Start
    while (1)
    {
        ClsDrawScreen() ;
        WaitTimer( 1 ) ;

        //自機
        if( CheckHitKey( KEY_INPUT_LEFT ) == 1 )
        {
            cx=cx-cspeed;
            if (cx<0) cx=0;
        }
/*
924名前は開発中のものです。:2006/03/25(土) 08:29:18 ID:xoont0lh
*/
        if( CheckHitKey( KEY_INPUT_RIGHT ) == 1 )
        {
            cx=cx+cspeed;
            if (cx>639-32) cx=639-32;
        }

        if( CheckHitKey( KEY_INPUT_LCONTROL ) == 1 )
        {
            if (benable == 0) {
                benable=1;
                bx=cx+16;
                by=cy;
            }
        }
        DrawGraph( cx , cy , HGJiki , FALSE ) ;

        //自機弾
        if (benable == 1) {
            by=by-8;
            if (by<0) benable=0;
            DrawLine(bx, by, bx, by-16, GetColor(255,255,255));
        }
/*
925名前は開発中のものです。:2006/03/25(土) 08:31:10 ID:xoont0lh
*/
        //敵機
        ndir=dir;
        for (int cnt=0 ; cnt<MAX ; cnt++)
        {
            if (Enemies[cnt].enable == 1)
            {
                DrawGraph( Enemies[cnt].x, Enemies[cnt].y, HGTeki , FALSE ) ;

                Enemies[cnt].x = Enemies[cnt].x+dir;
                if (Enemies[cnt].x <= 0) ndir = tspeed;
                if (Enemies[cnt].x >= 602) ndir = -tspeed;

                //あたり判定
                if (benable && (Enemies[cnt].x < bx) && ((Enemies[cnt].x + 32) > bx) && (Enemies[cnt].y < by) && ((Enemies[cnt].y+32) > by) )
                {
                    Enemies[cnt].enable = 0;
                    Score = Score + 10;
                    Teki_Rest = Teki_Rest - 1;
/*
926名前は開発中のものです。:2006/03/25(土) 10:25:51 ID:3v7Ny4hZ
>>912
 GamDevPukiWiki( http://gamdev.org/w/?FrontPage )に1ページ作ってそこにソースを書
いてみては? そしてここでは変更部分だけとか議論したいところだけ書き出すと。
927名前は開発中のものです。:2006/03/25(土) 11:26:18 ID:nEkDgcKS
ここまで空気読めないと笑うしかないなwwww
928名前は開発中のものです。:2006/03/25(土) 12:22:40 ID:Xo5AkaJL
( ^∀^)ゲラゲラ
929名前は開発中のものです。:2006/03/25(土) 15:57:33 ID:xoont0lh
C++/DXライブラリ 構造体を利用
http://blog.goo.ne.jp/gamedevhsp/e/e1508c7e7747bb3bfa3118d2be75f58a

ソースをうpできる場所を確保してきました
長いものはこちらにうpします
930名前は開発中のものです。:2006/03/25(土) 16:20:00 ID:dp6Fd2gl
HSPって

gcopyやると

チラチラして目が痛いンmだけど対策おしえてくれ!
あと、指定した色透明とかないの?
931名前は開発中のものです。:2006/03/25(土) 16:26:34 ID:Xo5AkaJL
>>930
リファレンスと公式のチュートリアルも読めないのか池沼
932名前は開発中のものです。:2006/03/25(土) 20:58:41 ID:xoont0lh
中途半端なのでうpしてしまいますね
*/
                    Enemy_Fire(cnt);
                }

                //敵が接地したか
                if (Enemies[cnt].y > 448) invasion = 1;
            }
        }

        if (dir != ndir) {
            for (int cnt=0 ; cnt<MAX ; cnt++)
            {
                Enemies[cnt].y = Enemies[cnt].y + 4;
            }
        }
        dir = ndir;
/*
933名前は開発中のものです。:2006/03/25(土) 20:59:11 ID:xoont0lh
        //敵弾
        for (int cnt=0 ; cnt<EBULLET_MAX ; cnt++)
        {
            if (bl[cnt][0] == 1)
            {
                bl[cnt][3] = bl[cnt][3] + 8; //移動
                DrawLine(bl[cnt][2], bl[cnt][3], bl[cnt][2], bl[cnt][3] + 16, GetColor(255,255,255)); //描画
                if (bl[cnt][3] > 480) bl[cnt][0] = 0; //画面外なら使用終了
                if ((bl[cnt][2] > cx) && (bl[cnt][2] < cx + 32) && (bl[cnt][3] > cy) && (bl[cnt][3] < cy+32)) Dead = 1; //自機との当たり判定
            }
        }

        DrawFormatString( 200, 0, GetColor(255,255,255), "Score : %d", Score);

        if (Score > HighScore) HighScore = Score;
        DrawFormatString( 0, 0, GetColor(255,255,255), "High-Score : %d", HighScore);

        // 裏画面の内容を表画面に反映させる
        ScreenFlip() ;
934名前は開発中のものです。:2006/03/25(土) 21:31:46 ID:dp6Fd2gl

rddraw 0

redraw 1

に挟んだらちらつきなくなりました〜ヤッホー!
第一段階クリアかな。

今、透明探してる。
935名前は開発中のものです。:2006/03/25(土) 23:56:51 ID:bTVU6xMs
F1押して出てくるヘルプに
gcopy って打ち込めば関連ありそうなの表示されるよ
936名前は開発中のものです。:2006/03/26(日) 11:29:59 ID:erP5z/In
うちのHSPにはrddrawがないよ(´・ω・`)ショボーン
937名前は開発中のものです。:2006/03/26(日) 11:35:24 ID:erP5z/In
>>933にコメント入れ忘れたorz

*/
        if (Teki_Rest <= 10) tspeed=2;
        if (Teki_Rest <= 1) tspeed=4;
        if (Teki_Rest == 0) Stage_Initialize();
        if ( (invasion == 1) || (Dead == 1) ) Play_Initialize();



        // Windows システムからくる情報を処理する
        if( ProcessMessage() == -1 ) break ;

        // ESCキーが押されたらループから抜ける
        if( CheckHitKey( KEY_INPUT_ESCAPE ) == 1 ) break ;
    }

    DxLib_End() ;                // DXライブラリ使用の終了処理

    return 0 ;                    // ソフトの終了
}
/*
938名前は開発中のものです。:2006/03/26(日) 11:36:55 ID:erP5z/In
*/
//ステージ初期化
void Stage_Initialize()
{
    Stage_Num = Stage_Num + 1;

    ZeroMemory(Enemies, sizeof(Enemies)); //敵
    ZeroMemory(bl, sizeof(bl)); //敵の弾
    
    for (int cnt=0 ; cnt<MAX ; cnt++)
    {
        Enemies[cnt].enable = 1;    //利用中(0=否)
        Enemies[cnt].x = ( cnt * 64 ) % 640;    //X座標
        Enemies[cnt].y = ( cnt * 64 ) / 640 * 64;    //Y座標
    }
    cx=320;
    cy=440;

    benable=0;
    tspeed=1;

    Teki_Rest=MAX;
    invasion = 0;
    Dead = 0;

/*
939名前は開発中のものです。:2006/03/26(日) 11:37:30 ID:erP5z/In
*/
    ClsDrawScreen();

    DrawFormatString( 280, 240, GetColor(255,255,255), "Stage : %d", Stage_Num);

    ScreenFlip() ;
    WaitTimer( 1000 ) ;
    
    return;
}

//プレイ初期化
void Play_Initialize()
{
    Stage_Num=0;
    Score=0;
    Stage_Initialize();
    
    return;
}

/*
940名前は開発中のものです。:2006/03/26(日) 12:18:50 ID:erP5z/In
*/
//敵が弾を発射
void Enemy_Fire(int cnt)
{
    int teki_num=cnt;

    for ( cnt=0 ; cnt<EBULLET_MAX ; cnt++)
    {
        if (bl[cnt][0] == 0) {
            bl[cnt][0] = 1;
            bl[cnt][2] = Enemies[teki_num].x+16;
            bl[cnt][3] = Enemies[teki_num].y;
            break;
        }
    }

    return;
}

/*
ここで終了です

開発環境
VC++
DXライブラリ
*/
941名前は開発中のものです。:2006/03/26(日) 12:57:44 ID:erP5z/In
>>921-940をコピペしたらコンパイルできるつもりだったのですが
>>933の文頭と文末に*/と/*をつけるのを忘れてたのでその追加だけお願いします
それでコンパイル通ります

外部サイトでも平気な人は>>929に同等のソースがあります
特に理由がなければこちらをどうぞ
942名前は開発中のものです。:2006/03/26(日) 13:06:08 ID:5N7smiYS
Boot_Initialize関数が見つかりません><
943名前は開発中のものです。:2006/03/26(日) 13:27:16 ID:erP5z/In
//うっかりさんでごめんこりん><

//起動時の初期化
void Boot_Initialize()
{
    HighScore=74;
    Score=0;
    
    HGJiki = LoadGraph( "jiki.bmp" ) ;
    HGTeki = LoadGraph( "teki.bmp" ) ;

    ClsDrawScreen();

    return;
}
944名前は開発中のものです。:2006/03/26(日) 15:01:41 ID:5/XI8n21
どうしてここにソースを貼り付けるのか
何度言われてもわかんないの?
945名前は開発中のものです。:2006/03/26(日) 15:08:10 ID:0dHxYm65
//うっかりさんでごめんこりん><
だそうです
946名前は開発中のものです。:2006/03/26(日) 15:20:13 ID:3eYiH+Hg


やったーーー!!
透明発見 その名はgmode ですーーーーーすすすすslすslすslすlす!!!!!

これはんまさに透明!!!半透明も簡単うあはぁふあhかゆあじゅhjし最高!!!!



次は球を増やしたいんだけど
変数をどんどん増やしていくの大変なんだけど
なんか対策アル?
947名前は開発中のものです。:2006/03/26(日) 23:53:49 ID:pcdMut/g
ソース貼りまくって埋め立てか。次スレはいらないな
948名前は開発中のものです。:2006/03/27(月) 15:39:02 ID:TSDimYuG
いいこと思いついた
トリップつければNGワードで一網打尽
949 ◆src/N3iz.2 :2006/03/27(月) 15:39:54 ID:TSDimYuG
テスト
950 ◆src/N3iz.2 :2006/03/27(月) 15:40:39 ID:TSDimYuG
#+OIF=^}^

トリップ置いておくのでみなさん使ってください
951名前は開発中のものです。:2006/03/27(月) 15:45:46 ID:TSDimYuG
>>946
俺は配列変数使ってます
一緒にがんばりましょーヾ(*´∀`*)ノキャッキャッ
952名前は開発中のものです。:2006/03/27(月) 15:46:49 ID:TSDimYuG
あ、ちょうどIDがDimだw
953名前は開発中のものです。:2006/03/28(火) 15:39:57 ID:vBoe6Dt9
弾幕研究はじめる
954名前は開発中のものです。:2006/03/28(火) 17:21:43 ID:ZIZJuDYi
この貼り付けられたソースはどうして欲しいのかな?
955名前は開発中のものです。:2006/03/28(火) 17:41:17 ID:9EyZXfZz
本当にズブな質問で悪いのですが
DirectXを用いて2Dシューティングを作ろうと思っていたのですが、
まず、C++を学ぶものだと思っていたら
本屋へ行ってDirectXの本を読んだらVISUALC++を用いていたりVISUALC++.NETを使っていたりしていたのですが
まず、結局何を学べばよいのでしょうか?
あと、出来たらその後の簡単なするべき事の工程を教えてくださるとありがたいのですが
956名前は開発中のものです。:2006/03/28(火) 20:34:42 ID:df2C19ZD
本来XCしかできない漏れは、VC++.NETで開発してますが何か?

>ズブ
C++もVC++も、ほぼC言語の上位互換だから、
C言語がわかればおk。ポインタを把握すれば完璧。
痒いところの手が届かないとか、簡潔な記述がしたくなったら、
C++の本を見てレパートリーを増やせばいい。
無理して色々な機能を使ったって糞コード量産するだけ。

>工程
DirectXの本のサンプルプログラムを弄って遊ぶのがいいんじゃないだろうか。
とりあえず動くものがあったほうがやる気が湧きやすいし、維持しやすい。
拡張に行き詰まりを感じたら、新規に零からコツコツ書いていって、
DirectXを研究しながら、然るべきタイミングで然るべき処理をするようにする。
957名前は開発中のものです。:2006/03/28(火) 23:02:45 ID:5LhBke5O
>>955
CやC++は言語。VisualC++なんかはIDE。
いくらCやC++の文法や規則を覚えて頭の中でコードがかけても
それをexeファイルとかにできんと何の意味もないだろ。
そのコードの作成を補助したり
実際に実行できるexeファイルにしたりするのが、
コンパイラだったりエディタだったりIDEだったり。
この辺のツールの厳密な意味はググってくれ。
958名前は開発中のものです。:2006/03/29(水) 10:15:41 ID:0n+YEyJr
//下方向へ直進するだけの弾

buffer 2,640,480
screen 0,640,480

bx=320
by=240

repeat
    gsel 2,0
    cls 4
    await 1

    color 255, 255, 255
    circle bx, by, bx+16, by+16, 1
    by=by+8

    gsel 0,1
    gcopy 2,0,0,640,480    
loop

実は狙い撃ち弾の作り方がよくわからない
角度のある弾はsin、cos使えばいいってのはわかる

ところで、気づけばもう

    情報処理技術者試験まであと18日

そろそろ勉強しなきゃ
959名前は開発中のものです。:2006/03/29(水) 11:43:32 ID:iWwCTn19
atanで角度算出して発射しろ。

昔の2種なら高校時代とったが言わせてもらえば
何の役にもたたん。しいて言うなら自己満足か。
そんな勉強より実践で使えるアルゴリズム類を勉強しとけ。
960 ◆src/N3iz.2 :2006/03/29(水) 14:42:56 ID:0n+YEyJr
buffer 2,640,480
screen 0,640,480

bx=320
by=240

tx=rnd(640)
ty=rnd(480)

//rad=atan(tx-bx, ty-by) //計算箇所1

repeat
    gsel 2,0
    cls 4
    await 1

    color 255, 255, 255
    mes rad

/*
961 ◆src/N3iz.2 :2006/03/29(水) 14:43:50 ID:0n+YEyJr
*/
    rad=atan(tx-bx, ty-by) //計算箇所2
    
    circle tx, ty, tx+16, ty+16, 1

    circle bx, by, bx+16, by+16, 1

    bx=bx+sin(rad)*10
    by=by+cos(rad)*10

    if abs(tx-bx)<16 and abs(ty-by)<16 {
        tx=rnd(640)
        ty=rnd(480)
        rad=atan(tx-bx, ty-by)
    }


    gsel 0,1
    gcopy 2,0,0,640,480    
loop
962名前は開発中のものです。:2006/03/29(水) 14:52:23 ID:0n+YEyJr
ソース
>>960-961
http://blog.goo.ne.jp/gamedevhsp/e/8080023be3115e0fdb2ac4520640e9ca
次々と出てくる標的に弾が飛んでいくプログラムです

計算箇所1で計算すると弾が当たらない
そこで計算箇所2で計算すると当たるようになった
でも弾道が弓なりに曲がるようになる
963名前は開発中のものです。:2006/03/29(水) 15:15:20 ID:ywlDUjDm

きっとあの人だろうな・・・・(ス・・
ageんな。
964名前は開発中のものです。:2006/03/29(水) 17:04:38 ID:0n+YEyJr
ブレゼンハムアルゴリズムというのを見つけた
わからなかったorz
>>959で言ってるアルゴリズムの勉強ってこういうことなのか
965名前は開発中のものです。:2006/03/29(水) 17:58:04 ID:0n+YEyJr
>>963
スではじまるコテハンなんていたっけ?
966名前は開発中のものです。:2006/03/29(水) 18:18:29 ID:0n+YEyJr
buffer 2,640,480
screen 0,640,480

dim bx,3
dim by,3
dim rad,3

repeat 3
    bx.cnt=320
    by.cnt=240
loop

tx=rnd(640)
ty=rnd(480)

//計算箇所1
rad.0=atan(tx-bx.0, ty-by.0)-0.5
rad.1=atan(tx-bx.1, ty-by.1)
rad.2=atan(tx-bx.2, ty-by.2)+0.5
/*
967名前は開発中のものです。:2006/03/29(水) 18:19:17 ID:0n+YEyJr
*/
repeat
    gsel 2,0
    cls 4
    await 1

    color 255, 255, 255

    repeat 3
//        rad.cnt=atan(tx-bx.cnt, ty-by.cnt) //計算箇所2
        
        circle tx, ty, tx+16, ty+16, 1
    
        circle bx.cnt, by.cnt, bx.cnt+16, by.cnt+16, 1
    
        bx.cnt=bx.cnt+sin(rad.cnt)*10
        by.cnt=by.cnt+cos(rad.cnt)*10
    
        if abs(tx-bx.cnt)<16 and abs(ty-by.cnt)<16 {
            tx=rnd(640)
            ty=rnd(480)
/*
968名前は開発中のものです。:2006/03/29(水) 18:55:25 ID:0n+YEyJr
*/
            bx.0=bx.1
            by.0=by.1
            bx.2=bx.1
            by.2=by.1
            
            rad.0=atan(tx-bx.0, ty-by.0)-0.5
            rad.1=atan(tx-bx.1, ty-by.1)
            rad.2=atan(tx-bx.2, ty-by.2)+0.5
        }
    loop

    gsel 0,1
    gcopy 2,0,0,640,480    
loop
969名前は開発中のものです。:2006/03/29(水) 19:03:06 ID:0n+YEyJr
ソース
>>966-968
今度は3way弾
あ、ソースはトリップつけようと思ってたのに忘れた

これ作って気づいたけど>>962の計算箇所2ってただのホーミング弾だorz

狙い撃ち弾を正確に命中させるには、たぶん対策は大きく分けて二つ
・精度をあげる
・アルゴリズムを変える

意外とムズカシス
970名前は開発中のものです。:2006/03/29(水) 19:52:28 ID:iWwCTn19
ああ、コイツか。
ウザス
971名前は開発中のものです。:2006/03/29(水) 20:28:08 ID:0n+YEyJr
こ、こいつってだれなんだー!
972名前は開発中のものです。:2006/03/29(水) 20:29:13 ID:qXE6Wdy2
パロディウスにいたな
973名前は開発中のものです。:2006/03/29(水) 21:43:24 ID:0n+YEyJr
おまえらちょっと隙を見せると雑談はじめやがってw
狙い撃ち弾のやり方わかる奴いねーの?
974名前は開発中のものです。:2006/03/29(水) 21:52:28 ID:ENDbob5I
>>973にドン引きしたのは俺だけではないはず
975名前は開発中のものです。:2006/03/29(水) 21:56:20 ID:0n+YEyJr
ごめんなさいすみません無理して2ちゃんねらーっぽく振る舞ってしまいました
今は反省してます

トークも弾も狙いがことごとくはずれるorz
976名前は開発中のものです。:2006/03/29(水) 22:01:39 ID:0n+YEyJr
>>974
IDがEND
977名前は開発中のものです。:2006/03/29(水) 22:01:49 ID:ffJjCuui
( ´д)ヒソ(´д`)ヒソ(д` )
978名前は開発中のものです。:2006/03/29(水) 22:06:03 ID:Homs13rz
そりゃおめー、自機のXY座標と砲台のXY座標の差を取って、XYそれぞれの成分を「当たるまでに要するフレーム数」で割って算出、初速として与えてやればいいんでね?
型はfloatがいいな。
979名前は開発中のものです。:2006/03/29(水) 22:07:01 ID:JtrDjhKk
なんで目標への単位ベクトルじゃダメなの?
980名前は開発中のものです。:2006/03/29(水) 22:43:32 ID:0n+YEyJr
>>978>>979って同じことを言ってるんですよね?
なんとなくわかってきました
角度じゃなくてxとyの移動量で計算するんですね

floatってHSPだとどうなるんだろう……
981名前は開発中のものです。:2006/03/29(水) 22:45:28 ID:Homs13rz
ズブの素人スレだからだよ
俺も素人。
982名前は開発中のものです。:2006/03/29(水) 22:49:05 ID:0n+YEyJr
#define MAX 32

buffer 2,640,480
screen 0,640,480

dim bx,MAX
dim by,MAX
dim rad,MAX

repeat MAX
    bx.cnt=320
    by.cnt=240
loop

tx=rnd(640)
ty=rnd(480)

repeat MAX
    rad.cnt=atan(tx-bx.0, ty-by.0)-6.28/MAX*cnt
loop
983名前は開発中のものです。:2006/03/29(水) 22:49:35 ID:0n+YEyJr
repeat
    gsel 2,0
    cls 4
    await 100

    color 255, 255, 255

    repeat MAX
        circle tx, ty, tx+16, ty+16, 1
        circle bx.cnt, by.cnt, bx.cnt+16, by.cnt+16, 1
    
        bx.cnt=bx.cnt+sin(rad.cnt)*10
        by.cnt=by.cnt+cos(rad.cnt)*10
    
        if abs(tx-bx.cnt)<16 and abs(ty-by.cnt)<16 or by.cnt>480 {
            tx=rnd(640)
            ty=rnd(480)
984名前は開発中のものです。:2006/03/29(水) 22:50:07 ID:0n+YEyJr
            repeat MAX
                bx.cnt=320
                by.cnt=240
                rad.cnt=atan(tx-bx.0, ty-by.0)-6.28/MAX*cnt
            loop
        }
    loop

    gsel 0,1
    gcopy 2,0,0,640,480    
loop
985名前は開発中のものです。:2006/03/29(水) 22:52:29 ID:Homs13rz
HSPで浮動小数 利用 でぐぐるか、Cの勉強を始めなさい。
だが、まず自分で検索することを覚えねば未来は無い。



…だから長いソース貼るなって言われてんだろ!!!!!
986名前は開発中のものです。:2006/03/29(水) 23:07:31 ID:0n+YEyJr
ソース
>>982-984
http://blog.goo.ne.jp/gamedevhsp/e/6063c8d3fb513f96c332e4f7e748a934
丸く花火のように散る弾です
でも50発ぐらいが限度でそれ以上弾が出てる様子がないです
極端に3000発ぐらいにしても50発のときと変わりませんでした

>>985
HSPplusというプラグインがでてきました
ありがとうございます

ソースを外部にうpすると2chに貼れという人もでてくるので両方にうpしてます
今まではどちらかというとそういう人のほうが多かったので今回の反応にとまどってます
gamdevは例の事件や例のバグもあって絶対踏まない人もいるのでスレが伸びないと思ったんですよ
もう風化してますがひさびさにうpすると早速IPアドレスが漏れたり削除できなくなったりで変わってないなぁと……
ブログのほうはアクセス解析がついてますがIPアドレスは取ってないです
アクセス数が少ないのでやっぱり外部より2chのほうが見やすい(心理的に)のではないかなと分析してます
ご不便をおかけします
987名前は開発中のものです。:2006/03/29(水) 23:15:05 ID:JtrDjhKk
誤:ご不便をおかけします
正:ご迷惑をおかけします
988名前は開発中のものです。:2006/03/30(木) 01:30:02 ID:J45kuvXn
>>978
 floatは2.6だと要プラグイン。3.0以降なら a=0.0 と初期化宣言すればok。

 あと、内部(算出)値を1000倍、出力するときは1000で割るという手法もありますよ。1024とか
512のほうが相性はいいですが。

>>986
 変数bx、by、radが実数値になっていませんよ。

>dim bx,MAX
>dim by,MAX
>dim rad,MAX

 をそれぞれdimからddimにして、

>repeat MAX
> bx.cnt=320
> by.cnt=240
>loop

 は

bx.cnt=320.0
by.cnt=240.0

 にしてください(最初のほうとループ内の二箇所)。あと await は16か32で。
989名前は開発中のものです。:2006/03/31(金) 01:53:01 ID:29R+LSun
Cを学ぶ
C++を学ぶ
WinAPIとDirectXの存在を知る
サンプルプログラムをいじる
スケルトンプログラムを利用してちょっとしたゲームを作る←今ココ
・・・
・・・
0から自分で作る
990名前は開発中のものです。
最初は先人の知恵を利用しまくった方が良いだろうね。
作り方を覚えたら、自分でつくる部分を多くしていく、と。