1 :
名前は開発中のものです。:
工業高校の友人がポケコンというミニPC?でゲーム作ってて
チョト羨ましかった記憶があります。
誰か1から一緒にC言語を勉強してくれる方いませんか?大募集です!
2 :
名前は開発中のものです。:02/02/22 06:39 ID:ZAwKkBkD
テトリスにしよーよ
突然のすれ違い。そしてこの後とんでもない発言が!!
テトリスだと誰がつくっても同じようなものになりそうで
勉強の素材としては良さそう
パックマンなら敵移動ルーチンで遊べておもしろそう
入門者〜脱初心者でワイワイやるならパックマンがいいかな
初心者向け題材としては倉庫番、ヘビゲーム(えさ食べて尻尾が伸びるやつ)も候補
*ポケコンといえばPJ(ポケコンジャーナル)思い出すな、休刊になったらしいけど
*ところでポケコンでつくる気か?小さい画面が好きならWSやGB、GBAもあるぞ
*どうせエミュレータでやることになりそうで意味ないかもしれんが
>>1 仲間にいれとくれー。
Cならム板で少し揉まれたからいくらかできるですよ。
矢印反対だ。
10 :
名前は開発中のものです。:02/02/22 23:43 ID:AH73DIG8
age
テトリスの回転で壁にぶつからないよーにってのは難しいな
回転させてみて、もし壁と重なってたら戻すか位置をずらすかすればいいよ
「竹下通りで人にぶつからないよーにってのは難しいな」
「歩いてみて、もしぶつかりそうだったら戻るか位置をずらすかすればいいよ」
「すげー!解決しました。ありがとう」
↑ ヴァカのやりとり?
でもどっちもおヴァカなQAだろ(藁
パックマンつくるのはじめに何すりゃいーんだよ
とにかくお前ら教えやがれ!!
使用言語は
>>1にならってC言語でも最近流行りのDelphiとやらでもいいぞよ
20 :
名前は開発中のものです。:02/02/23 12:13 ID:sKbzyhu9
とりあえず画面中央にパックマンを表示するプログラムを書いてください。
あとアニメーションもちゃんとしないとダメだな。
まずは画像表示とキー入力(パックマンならリアルタイムキー入力)が初歩。
というかゲーム作成以前の問題。
CPackMan *p;
p = new CPackMan;
p->SetPos(320,240);
p->Visible = true;
>>22 PackManじゃないよ。
PacManだよ。
Level1
パックマンの画像を画面に表示しましょう。
アニメーションもキー操作もなくていいです。
Level2
キー操作によって、パックマンが動くようにしてみましょう。
動く際にパックマンがアニメーションするようにしましょう。
まだ壁は考えなくていいです。
>>23 ほんとだ。
e:\src\main.cpp(8) : error C2143: 構文エラー : ';' が '*' の前に必要です。
e:\src\main.cpp(8) : error C2501: 'CPackMan' : 識別名を宣言するのに、型が指定されていません。
e:\src\main.cpp(8) : error C2501: 'p' : 識別名を宣言するのに、型が指定されていません。
って怒られたよ!
CPacManにしたらちゃんとビルドできた! 今遊んでます。パックマンおもしれ〜!!
26 :
名前は開発中のものです。:02/02/23 15:56 ID:mq4lKIha
うえ〜ん set_sprite_dataがサッパリだよ〜
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Λ_Λ
( ´Д⊂ヽ
⊂ ノ
人 Y
し (_)
うえ〜ん
>>24のLevel2がまだクリアできないよ〜
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Λ_Λ
( ´Д⊂ヽ
⊂ ノ
人 Y
し (_)
29 :
名前は開発中のものです。:02/02/23 22:25 ID:6+vHPJij
>>24 パックマンの画像を作る作業が抜けてるぞ。
つーかLevel1のやり方さえさっぱりわからん。
>30
じゃぁゲーム作成無理じゃん。
>31
むしろ、初心者ではそれで十分。
しかし、画面最終行とかで下に移動したらテキスト全体がスクロールするという罠。
>>32 最終行では下にいけないようにすればいいやん。
AAでパックマソ作るのか?
35 :
名前は開発中のものです。:02/02/24 05:43 ID:NvOSZbCS
htmlは組めるけどゲームなんて造るという考えが浮かばなかった!
これだけハイスペックなら(当時より)パックマンも無理なく可能かも?
まず始めに何をすればいいのかも解からないけど誰か教えて下さい。
まさか、メモ帳から始めるわけではないよね?
C++のソフト買わないといけないとか?あれ8マンくらいだよね?
でも、当時はそんなソフトもないし・・・・。
誰か教えてーーーー。
36 :
名前は開発中のものです。:02/02/24 05:46 ID:NvOSZbCS
Delphiてなに?ソフト?
今日はずっと居るからおせぇて(IDみて確認してね)
37 :
名前は開発中のものです。:02/02/24 05:47 ID:NvOSZbCS
パックマソの画像はフォトショで作るの?
名前を決めてみた!ドットマソてどう?
やっぱり朝は誰もいないのかぁ・・寂しい
ドットマソちょっとお出かけ!違う板に逝って来る!
40 :
:02/02/24 06:58 ID:???
>>36 ObjectPascalという言語で開発する開発環境です。
非商用、非業務向けに利用可能なPersonalが無料で手に入ります。
無料で手に入るソフトの中では初心者にはオススメできます。
ちなみに、根性があるなら(Delphiが根性無くてもできるわけじゃあないぞ。はじめやすいだけから)、
C++のコンパイラも無料でいくつか手に入ります。
Windowsならmingw、BorandC++Compiler等
とりあえず、2chで聞く前にgoogleで検索する癖は必ずつけてください。
単純なテキスト画面で
きっちりゲーム作るのって
すごい憧れるんだよね
でも描画関数使うより処理遅くならない?
43 :
:02/02/24 11:05 ID:???
とりあえずパック万他キャラのクラスはおれがつくってやるよ
>42
実際にプログラムを作ってからどこが遅いかを絞り込めばいいじゃん。
作る前からそんなことやってたのではいつまでたっても完成しない。
え?テキスト表示って遅いの?
ビットマップフォントなら軽いだろ
C ←とりあえずこれでいいじゃん
っていうか、Windowsではテキストとビットマップの区別は無さげ…
マップを20x17の配列に入れたいんだけど
char map[17][20];
の後がよくわからないんだけど
56 :
54:02/02/24 20:31 ID:???
Level3
地形を実装しましょう。
Level4
エサを置きましょう。
エサを全部取ったらクリア表示が出るようにしましょう。
Level5
敵を実装しましょう。
まずは1匹で、動きのアルゴリズムも適当でかまいません。
それができたら、敵の数を増やしてみましょう。
敵の動きのアルゴリズムを考えましょう。
Level6
パワーエサを実装しましょう。
ここまでできたら基本的な部分は完了です。あとは自分で追加要素を考えてみましょう。
1レベルで一気に難易度があがるなあ。
あぷ板くれよ!
むしろあぷ板の作り方教えてくれ!
>>59 先生はいま、必死でサンプルを作ってますから待っててください。
言語はなんでもいいのか?
Cきぼん
いまから入学したいのですが推奨環境は何ですか?
ヤパーリVC++?
やっとlevel1できたー
level3にいけるのはいつの日のことか。
bccで参加するぜ!
level1も何日かかるかわからんけど。
うーんやっぱりC専用スレか。
面倒だがしかたない。Cでやるか。
>>69 いやいや、Cでなくてもイイって。
PascalだろうがFortlanだろうが、はたまたPrologだろうが
君の好きなのを使えばいい。
先生はいま必死でサンプルを作って(探して?)ますので
しばらくお待ちください。
先生!採点してもらうには自前のHPもって参加したほうがいいですか?
ここにコード書くとさすがに見づらくなりそうです。
むしろ誰か(俺が?)あぷろだやwiki(よくシランが)とか用意すべしですか?
>72
ちゅーか、ドットを食べたときにputchar()しる!
先生!どういうことですか?
78 :
54:02/02/27 15:36 ID:???
先生!フォントの横幅を取得する方法がわかりません!
vclのTFontクラスのプロパティにはHeightはあるけど、Widthが無いのです!
噂では高さから横幅を計算できるらしいのですが・・・!
プロポーショナルフォントとかあるから、フォントの横幅は単純には求まらないよ。
WindowsAPIには文字列の描画幅を計算してくれるAPI関数があった。
VCLは知らない。
HSPで参加しても馬鹿にしない?
むしろ歓迎します。
なんとかlevel2完了。
しかしlevel3を乗り越えられるかな。
>58
一番重要なフルーツが足りんぞ! と言ってみるテスト。
で、Level7
パクマンに食べられた敵は目変化して巣箱に帰るようにしましょう。
Level8
ワープトンネルを作りましょう。
ワープトンネル内では敵の移動速度は下がります。
Level9
そろそろ音を実装。
ドット・フルーツを食べたときや敵を食べたときの音を用意。
Level10
タイトル画面、ゲームオーバー画面を実装。
腕に余裕があればネームエントリーも。
Level番外
コーヒーブレイクを作る。
因みにコーヒーブレイク後は敵のイジケの時間が若干長くなります。
84 :
54:02/02/28 00:22 ID:???
ん〜そこらへんの段階になったのならサンプル無しで
自分で考えた方が身につくと思うけどなあ。
どうしても分からないところがあれば聞けば良いんだし。
87 :
54:02/02/28 15:21 ID:???
ところで何人くらい挑戦してるんだろう。
先生!マップエディタは必要ですか?
>>89 パックマンレベルなら手打ちのテキストファイルを読めば十分だけど、
勉強のためにもエディタ作っても良いかも。
4年ほど前にRPGのために作ったエディタ、いまでもVerアップさせなが
ら使ってるし。
92 :
名前は開発中のものです。:02/03/01 10:23 ID:iFQPhV/i
>>54 TCanvas.TextWidth
Canvas依存が嫌なら、生APIのTextWidthを使え
96 :
91:02/03/01 13:54 ID:???
>>93 神って…。
うぷはしないけど、作り方が分からなければ教えるよ?
てか、まずは自分で考えてつくってみろって。
97 :
あほ一号:02/03/01 13:58 ID:qXboKeCc
いまから僕もはいっていいですか?
いいんじゃん?
100げとズサー&参加表明!!
101 :
54:02/03/01 17:55 ID:???
>>95 ありがとうございます!解決しました。
・・実はTCanvas.TextWidth()自体は知っていて、
>>87とかでも利用していたのですが、
引数に何を与えればいいのかが良く分からず、
サンプルを真似した意味不明なコードで無理矢理動かしてました(^^;
レス貰って、改めてヘルプを見直してみて初めて、
単純にサイズを求めたい文字を入れるという、当たり前の事に気付きました。
102 :
90:02/03/01 19:53 ID:???
とりあえず最低限機能のマップエディタ完成。
テキストで打ったほうが楽と思えるようなつかいづらさだ。
104 :
名前は開発中のものです。:02/03/02 00:24 ID:WQc+ahqF
パックマンじゃアレだから
(゚д゚)ウマーにしないか?
105 :
104:02/03/02 00:37 ID:???
ついでにエサは
「激しく同意」だの「ワラタ」だのの文字にしてみるとか。
パワーエサは、さしずめ(キャップの)★あたりか?
■■■■■■■■■■■■■
■★マムコ■■■チムコ★■
■終■■あ■■■ム■■氏■
■了■■げ■■■コ■■ね■ <イメージ画像
■オマエモナー禿しく同意■
■■■は■■■■■2■■■
■■■ぁ逝ってよしげ■■■
■■■?■■■■■と■■■
>105
じゃぁついでに。
キーワードのテーブルを作っておいて、
単語を文字順に食べると点が徐々に上がっていくようにしてくれ。
パワーエサはうまい棒だろ(w
107 :
名前は開発中のものです。:02/03/02 07:46 ID:S11uRQxP
108 :
54:02/03/02 11:23 ID:???
level3はむずかしいなあ。
110 :
107:02/03/02 21:04 ID:S11uRQxP
( ´Д⊂ヽ<壁の衝突判定は簡単だったのにドットが消えない
>>110 その問題の衝突判定が残ってます。
ところでエサが見えないの俺だけ?
C初心者だけど参加表明。
一からスタートじゃいっ!!
114 :
90:02/03/02 23:20 ID:???
115 :
107:02/03/02 23:35 ID:???
その場しのぎで作ってたツケが周ってきました。
現在3歩進んで3歩下がる状態なり
>>114 どぞ、絵は好きに使ってくれて結構です。たいしたもんじゃないですし
116 :
名前は開発中のものです。:02/03/03 00:12 ID:hQ0NaxtV
このスレッドはいいね〜。明確な仕様がちゃんと定義して、どう作るかという
話がどんどん進んでいってる。
117 :
joker:02/03/03 09:36 ID:l1VV/S/E
CかC++で作ろうって奴いない?
118 :
joker:02/03/03 10:16 ID:l1VV/S/E
Cで作った人いたらソース揚げてくれ
>>118 くれぐれもコピペプログラマーにならないでね。
なんかlevel3一生クリアできないような気がしてきた。
level3が難しいという人は、まず壁は1ブロックだけという状態でやってみましょう。
地形を組み立てるのはその後。
123 :
joker:02/03/03 16:40 ID:8Pr+llMV
ソースageてくれってのはなしにしようぜ。
課題が出てるんだから自分で考えて、解らなかったらここで聞けば済む。
Level3くらいまでは自力でやろうとしないとその先には絶対すすめないよ。
>>120 コピペプログラマーってどのぐらいを言うの?
俺は分からない命令をMLとかで調べて、とりあえず貼り付けてるんだど
やっぱりダメなのかな?
level3のヒントをくれー
level3.0
壁を表示してみる
level3.3
壁に突入したら止まる
level3.6
壁に突入しようとしたら止まる
どの辺が分からないんだ?
まず自分がどこまで出来て、何が足らないのか自覚するべし
おのずと答えが見えてくるかもよ。
人に聞くときも OOまで出来て、%%をしてみたのだが、
XXが分からないと聞いたほうが答え(ヒント)はもらいやすい。
>>125 ようは、自分で組んだソースコードのなかに自分で説明できないもの
を入れないようにしようということ。
例えば半透明処理が分からなくてどっかから落としてきたサンプルから
半透明処理つきビットブリット関数をそのままコピペしちゃだめよってことね。
もちろん、最初の段階では本に載ってるサンプルをそのまま移す事だって
立派な勉強だけどね。
なんとかleve3をクリア
ながかったー
130 :
90:02/03/04 00:15 ID:???
132 :
90:02/03/05 00:00 ID:???
フルーツとハイスコア(ネームエントリーではない)を搭載
あちこち触ってたら動作が変になってきて
バグがどこに潜んでるのか分からない状態に・・・
こうなると作り直したほうがいいんですかね?
それとも一応完成させるほうが大事ですか?
>132
完成させてから、どこが悪いかを考えて部分部分を作り直すと良いと思われ。
134 :
90:02/03/05 21:52 ID:???
>133
わかりますた。とりあえずレベル10までがんばってみます。
タイトルとエンディング搭載(画面変わるだけ)
そういや気になってたんだがフルーツってなんの
意味があんの?
得点だったかな?ハイスコア狙うなら必須
あと取ったフルーツは画面に表示されます(コレクション)
実は手元にパックマンないのだけど参考になるフリーソフトのパックマンありますか?
>136
嘘言っちゃイカン。オリジナルはフルーツのコレクションはされない。
ではフルーツは得点のためだけに
あるという結論でよろしいですか?
まったく姿を見せんが1はどうした
>141
ここのスレの住人が徐々に形していくプログラムを
友達のポケコン見てたときみたいにモニターの向こうで羨ましがってるんだろ(w
143 :
107:02/03/07 05:11 ID:???
敵がプレイヤーを追っかけてくる処理が一生できる気がしない・・・
1. 再帰を使って(敵→プレイヤーの)経路を探索
(曲がれる場所では曲がる向きをスタックAにつんでいく)
2. スタックAからスタックBにつみかえる(順番を逆にする)
3. スタックBからキューAに入れていく
これでキューAからpopされるのは次の交差点で曲がる向きで、
プレイヤーがどこかで曲がったらそれをキューに追加すればいい。
と思うのですが、再帰がぜんぜんわからないです。
144 :
名前は開発中のものです。:02/03/07 06:14 ID:VTbBFgB8
基本的にはパックマンのいる向きに移動。
角に来たときにどっちにまがるか
(パックマンのいる向きか、逆かランダムか)で
敵の個性を出せばいいだけじゃないの?
敵の思考ルーチンより、マップの方が難しそう。
他のゲームと比べて壁が薄い。どういう風にして
ああいう風に出来るのだろうか。
パックマン って壁という概念あるのかな?
フィールドを道路と捉え、各パターンを、(上下左右移動できる)、
(上下左移動できる)(上下右移動できる)(下左右移動できる)...
といくつかのタイプに分別すればいいような
>>77はすべての交差点間の最短経路をあらかじめ求めておいて、
パックマンの前方の交差点を目標に移動する敵と
パックマンの後方の交差点を目標に移動する敵で性格付けしてるよ。
最短経路を求めるアルゴリズムは、Floydのやつ。
動的にやるならDijkstraなり、A*なりお好きなものを。
敵の実装で停滞中
動きもしねえ
>148
よく出来てるねー。
パクマンの移動は2ドット単位くらいが丁度いいと思う。
今のままじゃ遅すぎでストレス溜まる。
バグって壁抜け?
Pascalはよく知らんが、ソースを見てみた。
多分、アニメーションパターンが0より大きいときに壁の判定してないからだよ。
パクマンが反転したときにアニメーションパターンずれてる。ちゃんと座標でみないと。
それから、敵の巣箱に入れるのでパワーエサ食って巣箱に突っ込むとすぐに10万点くらい行く。
だれかlevel5のソースをください
ソースは
>>7 俺には理解できん
俺は
1 移動方向を決める
2 移動先が壁かどうか調べる
3 壁なら1に戻る
4 移動する
5 1に戻る
としたよ
だめだ〜
どうしても引っかかる時がある
引っかかるって?
曲がり角で方向が上下または左右に連続して
繰り返されることです。
あっ、原因わかりました。
うーん、ありがちだ。
方向決定のアルゴリズムに問題があるのは確かだろうけど、どういうコードか見てみないと分からんね。
とりあえず、もと来た方向には戻らないようにしてみるといいんじゃない?
ありゃ。
159 :
:02/03/08 23:26 ID:???
>>149 意見どうもです
2ドット移動にしました
壁突入がやっと直りました
ネームエントリー1位のバグも直りました
エンディング(コーヒーブレイク?)アニメを作成
あとは敵の巣箱問題をどうするか・・・
160 :
149:02/03/09 08:12 ID:???
巣箱のフタはモンスターのみ通れて、しかも一方通行にすると良さげ。
実はオリジナルにはパクマンはなんでもなく通れるが、
モンスターは一方通行で入れない、っていう場所がある。
なので、パクマンが普通に通れる&モンスターは一方通行(不可視)と、
なので、パクマンは通れない&モンスターは一方通行(可視)という壁を作るとオケー
実装方法はキャラの向きの番号と壁の番号をうまく対応されるのが簡単だとオモワレ
161 :
90:02/03/09 23:20 ID:???
いま実装できないやつは別言語に移ったときにも実装しない、と言ってみるテスト。
変更がめんどいからだろ
パックマンくらいだったら座標と方向で規制判定すればいいじゃん。
パックマンじゃなくて「パックマン風」ゲームを語るスレだよ(w
語るじゃなくて作るな。
パックマン風(KAZE)ですか?(w
やばっ、スレの餅米ションうなぎ下り
原因不明のエラーで全然進まねえや
>>169 無意識のうちに「ここは間違っていないはず」と思い込んでいる部分は無いかな?
原因不明のエラーやバグは、正しく動いていると思い込んでいる部分に問題が
あることが多い。
ちょっと目とアタマがいたくてやめてたけど
そろそろ再開せんと。
172 :
名前は開発中のものです。:02/03/18 07:03 ID:jZNvsc3a
173 :
名前は開発中のものです。:02/03/23 18:23 ID:T77+mvji
パックマンとインベーダどっちが簡単ですか?
どっちも作ったことあるDel厨のあきまさに聞いてみろ。
>>175 DOSのゲームでした
初めばぐったような音が出てびびったが
結構いいと思うがやはりDOSは…
177 :
age:02/03/26 15:05 ID:???
発展願いAGE
パックマンタイプのドットイートゲームつくって
COM同士対戦させるとかどうよ?
>>178 どう勝負するの?
ベースのプログラム(統一の対戦場所)用意してくれないと話は進まない。
そもそも敵の制御で苦労してるのに、COM対戦なんて遠い話。
それなら画像の差し替えだけで済むと思うが?
2チャンソフトマンセーあげ
>>180 どういう風に処理しているのか判らないんだけど、
キャラクタの絵を1.5倍くらい大きくして欲しいな。
本家のように壁が薄いほうが嬉しいな。
…っつか、モンスターの小屋に入れますね。
笑い殺す気か。(誉め言葉)
この点が非常にスバラシィィ!! (゚∀゚)
184 :
183:02/03/27 13:22 ID:???
スレ全部読んでなかった。
そういうことね。
ガンブレ!
ガムバレ あげ
稼動中のアプロダはどこですか?
188 :
名前は開発中のものです。:02/03/27 23:05 ID:kphpnDQ2
す・・・スゴイ!
この板はじまって以来の良スレ?
講座スレ。
sage進行という罠?
死にます。
ただ趣味でさげてるだけなんだけどな
それじゃぁ死にません。
引き続きよろしくお願いします。
193 :
183:02/03/28 00:23 ID:???
>>187 各サイズが変わってイバリがきいてえぇですね。 これこれこれよね。
つか、速度は1面開始から、3面くらいのスピードで始まれば問題ないと思うんだけど。
あとは絵を2ch系に差し替え? 画像の仕様を公開しれば、ぷよスレのように誰かが描くかもよ。
モンスター小屋に突撃は仕様で上等だと思うよ。 小生はいたくお気に入りです。
でもなんか突撃の特典が欲しいところ。
たとえば(面白くないけど)ランダムの場所にフルーツ出すとか、そういった感じの。
小屋に居るモンスター食ったら、即復活して殺られるのは、なんとか。
Level2終わるのに半日かかって鬱に
195 :
194:02/03/28 01:33 ID:???
>>195 がんばれ
みんなが悩むのは壁の当たり判定と
敵の移動処理だからそこを越えれば完成すると思うよ
197 :
194:02/03/28 22:04 ID:???
>>198 すごいね〜
もうほとんど完成じゃん
あとは当たり判定ぐらい?
どうやったら落とせるかおしえてくれ
>>200 時間帯変えてみたら?
朝4時とかならいけると思う。
消えてなきゃだけどね。
202 :
198:02/03/30 01:24 ID:???
>>202 各分岐点に巣箱の方向を入れておけば簡単だよ
おぉ!! 技術がキタヨ!!
って、よく動くなー。
>>206 よく出来てるね。
ソースも綺麗だし、いいお手本になる。
次はぷよぷよキボン
>206
なんかムズいねコリャ,5,6面いくとゲームにならないけど,
まぁ,とりあえず卒業おめでとうアゲ.
せめてポーズかけられるようにしてから逝ってくれ。(;´Д`)
(。A。)アヒャ(゚∀゚)アヒャ(。A。)アヒャ(゚∀゚)アヒャ(。A。)アヒャ(゚∀゚)アヒャ(。A。)アヒャ(゚∀゚)アヒャ(。A。)アヒャ(゚∀゚)アヒャ(。A。)アヒャ(゚∀゚)アヒャ(。A。)アヒャ(゚∀゚)アヒャ(。A。)アヒャ(゚∀゚)アヒャ
210 :
198:02/04/01 19:20 ID:???
シュールで面白いよ、これ。
こんな時間にバカ笑いしつつ遊んでしまった。
212 :
名前は開発中のものです。:02/04/02 08:18 ID:RH/uEwKG
奇怪な(w
メガドラのおそ松くんを思いだしました
いやぜんぜん似てませんが。
>>213 ソースを見るまでもないや炉、アイコンで即効きずく。
215 :
名前は開発中のものです。:02/04/02 15:22 ID:AEB86b+f
>>214 「きずく」はねーだろ、「きずく」は。
>>216 ある程度Cとかできる人は使ったことないんじゃない?
>>217 そうとも言えんと思うが
プログラミングした事がないやつやろ
>217
きづつくので止めて下さい!
>>219 「きづく」はねーだろ、「きづく」は。(謎
221 :
名前は開発中のものです。:02/04/03 11:12 ID:WYzFeO/Z
お前らもっとageろ!
ただでさえ人少ないのにsage進行なんかしたら
クソスレが全然sagaんねーじゃねーか!
>>223 何をぶっこいてるんだ??
名スレはsage進行にきまっとるやろ!
225 :
:02/04/04 00:15 ID:???
どこが名スレなんだ??
ゲーム作った奴なんているのか??
どこの進路がクリアーだって??
敵がいないとでもいうのか??(アムロ)
226 :
:02/04/04 00:22 ID:???
う〜ん、なんだか荒れてきましたね…。
( ::::::::::::::::::::::::^:::::::::: :::::: :(
丿::::::::::::::::::::::::::::::::::::::::::::::::::::: :::: (
/::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ::::::::::)
(::::::::::/ ):::ノ::::ノ ) ソ ヾ::::::::::::丶ヽ
(:::::::::/ 彡 ノ ノ :: 彡:/)) :::::::)
(::::::::::/彡彡彡彡彡 ミミミミミミミ ::::::::)
( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |::::::)
| =ロ -=TT=- ‖ ‖ -=TT=- ロ = |
|:/ ‖ / /ノ ヽ \ ‖ ヽ|ヽ
/|/ ヽ`======/ ⌒ ` ========ノ | |
(|| .(● ●) |ノ
| : :: :::l l: ::: ::: |
| _:: :二 M二__::::::.. . |
| : ::: : ::: :: === ::: :: :: :::: )
\ ::: ::::::::::: :::::::::: :::::::::::::: /|
/|ヽ ヽ:::: _- ::::: ⌒:: :::::::: -_ ノ
/ || 丶\_::_:::::_:::: :::::_/:::: /
| | \ \ ::::::::::: :::::::::: ::: :: _/
/ ̄\ 丶  ̄ ̄ ̄ ̄ ̄ ̄ ̄
ん?
つつましくsage進行で逝ってください。
------------------------------終了-------------------------------
ソース欲しさに暴れているという罠。
>231
ハァ? ソース ツイテルジャン
age
たのむからもういちどhspのソースを。
あらすぞ。
うそですおねがいします。
もう無いのか。。。氏ぬ前に一度やってみたかった。。。無念ウグッ
ハーイ、頂いたよ。
あんたイイ人だなぁ!(陣内孝則)
238 :
235:02/04/07 04:30 ID:???
>>236 忝い。
ナツカスィなぁ。パックマンやりたくて餓鬼の頃
朝から並んだの思い出したよ。
因み4面で終わり。あの速さは「ギャラクシアン面」とか「鍵面」だな。
作者さん、遊ばせてもらいます。
239 :
名前は開発中のものです。:02/04/10 02:33 ID:1CRXld/.
他の、例えばサンプルプログラムとかは無事にコンパイルできるの?
JAVAは解らないでごじゃるよ、、、
#include<stdio.h>
void main(void){
printf("Hello!World!!");
}
昨日ここまで覚えた漏れが今から参加してもいいでしょうか?
>>241 全然大丈夫だとは思いますが、最近、先生を見掛けないんですよ。
このままだと生徒同士で試行錯誤するスレになっちゃうけど。
どこへ逝ったのか。
ネタじゃないのか
それにしても先生がいないのは、どう?
まあそれもよし
そうなのかなぁ。
ま、いっか。
何がわからないのか明確にすると教えてもらいやすいよ
あとせめてここのログは読んでね
>>242 少なくとも俺はここの生徒さんの中で最も無知だと思われるので、
生徒同士ででも教えていただけるのならありがたいんですが・・・
とりあえずif〜else、while、printf()、関数の使い方くらいは覚えてきました。
>>24のlevel1ってWINAPIとか使わなきゃ無理なんですか?
いきなり壁が高い・・・(´д`;)
つまるところはたいていいっしょだと思うから
なんとかなる…か。
252 :
239:02/04/13 23:02 ID:???
Javaスレで聞いたら解決しました・・・
理由はわからないけど。
次は「ちらつき」を抑えるのが目標。
253 :
名前は開発中のものです。:02/04/14 10:01 ID:puEdB3TI
ちらつき防止の一般的方法は
ダブルバッファかな?
機能がなければそうじゃないですかね
HSPのやつの見たんだけど三枚もつかってるよ(w
hsp厨はそんなものだろ。
はいはい、よかったな
>>259 するすると動いているよ。
次はちらつきを抑えるの?
261 :
259:02/04/17 16:35 ID:???
262 :
( ´∀`):02/04/20 01:36 ID:m7NkP6n.
Level3
地形を実装しましょう。
Level4
エサを置きましょう。
エサを全部取ったらクリア表示が出るようにしましょう。
Level5
敵を実装しましょう。
まずは1匹で、動きのアルゴリズムも適当でかまいません。
それができたら、敵の数を増やしてみましょう。
敵の動きのアルゴリズムを考えましょう。
Level6
パワーエサを実装しましょう。
ここまでできたら基本的な部分は完了です。あとは自分で追加要素を考えてみましょう。
263 :
工房の開発中のものです。:02/04/20 12:08 ID:DsWZHWsY
HSPですが、入学していいでしょうか?
265 :
工房の開発中のものです。:02/04/20 16:16 ID:DsWZHWsY
>>264 まだHSP慣れてない&毎日が忙しいですが、
やる気は充分にありますよ。
>>265 忙しいだぁ?甘えてんじゃねぇ!
仕事なんか辞めちまえ!!
>>263 べつにやつ気がなくても可。
終わらせたの一人だけだし。
>266
釣られるなって。
ほんとにやる気のあるやつはまず行動してるよ。
269 :
259:02/04/21 02:44 ID:???
271 :
工房の開発中のものです。 :02/04/21 10:26 ID:L8TXN6kk
sage忘れ…スマソ
await 0 かよ
まあいいけど
274 :
107:02/04/21 16:25 ID:53xcWZFE
>>270 Level4へのリンクが間違ってるよ。
>>276 つか、高速に方向転換すると右に向いたまま左に移動したりと大変。
>277
それって実装が大変そうだがどうなってるんだ?
>>277 原因判明。先にそっちを直します。
つか壁の当たり判定が強敵…。
281 :
名前は開発中のものです。:02/04/26 23:34 ID:IGeJ5nl.
マップの配置は配列を使うの?
つかってもいいしつかわなくてもいい
hosyu
しなくても落ちねえよ
Level1
パックマンの画像を画面に表示しましょう。
アニメーションもキー操作もなくていいです。
Level2
キー操作によって、パックマンが動くようにしてみましょう。
動く際にパックマンがアニメーションするようにしましょう。
まだ壁は考えなくていいです。
Level3
地形を実装しましょう。
level3.0
壁を表示してみる
level3.3
壁に突入したら止まる
level3.6
壁に突入しようとしたら止まる
Level4
エサを置きましょう。
エサを全部取ったらクリア表示が出るようにしましょう。
Level5
敵を実装しましょう。
まずは1匹で、動きのアルゴリズムも適当でかまいません。
それができたら、敵の数を増やしてみましょう。
敵の動きのアルゴリズムを考えましょう。
286 :
名前は開発中のものです。:02/08/13 14:36 ID:kFQNKJoR
ぱくまんあげ
287 :
名前は開発中のものです。:02/09/03 00:53 ID:12jy63B/
288 :
名前は開発中のものです。:02/09/29 02:01 ID:r5rZnClv
今更ながらパックマン作ってるんですが、
オバケの動きのアルゴリズムで行き詰まった・・。(Level5ですかね)
オバケが上方向に進んでたとして十字路に達した時、
目標地点が右上の方にあるとしたら、
どの方向に進むべきか、どうやって判定するの???
どっちに進むべきか?はオバケの性格で変わるぞ。
横軸を先に合わせるか?縦軸を先に合わせるか?
縦横の差が少ない方を合わせるか?多いほうを合わせるか?などなど…
プログラマーが好きに組んでいいと思われ。
しかしここが動くのも久しぶりだな。俺もなにか動いてみようかな?
久し振り・・・っていうか、時間が経ちすぎてるから
過去のサンプルとかすでに落とせなくなってるのが辛い。
あーしかし、こうやって考えると、当時、パックマンはどうやって
あの企画を思いついたのだろうか?
既存のサンプルがあるのに、仕様決めで悩むぞ
292 :
288:02/09/30 10:37 ID:???
>>289 あー、なるほど。なんとなく本物に近づいてきました。
イジケてる時はほぼその反対ですね。
あと邪魔くさいのが巣の中での動きの処理です。
巣の中では反転アリだし、一方通行の出口だし、
巣の外でのアルゴリズムとは別に作った方がよいのですかね。
あと、完成したらWEBでプレイできるようにしようかと考えていますが、
権利関係はどこまでオッケーなのでしょうか?
・キャラデザイン
・音楽
・効果音
・迷路のデザイン
一応全部自分で作りましたが、元ネタのモノマネなので、
そのあたりがよくわかりません。公開時はもちろん無料です。
無料にするより金払ってでもやりたくなるようなもん作って欲しいのが本音
元ネタありだからそこらへんに配慮しての発言かもしれないが
294 :
名前は開発中のものです。:02/10/16 11:33 ID:BcJONmXR
age
o
/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ This thread was ended /
/ with no problems. /
/ Thank you. /
/ /
/ From a Morara /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
>288
1.主人公の座標とおばけの座標を比べる。
行く方向を上、下、右、左のどれかに決定する。
2.迷路の行ける方向を判断する。
行けないときは、行きたい方向を次の候補にする。
297 :
名前は開発中のものです。:02/10/17 01:44 ID:dUhLnsLH
>>296 そんな単純な話じゃねーだろ。
>1....どれかに決定する。
どれだよ?
298 :
名前は開発中のものです。:02/10/17 02:39 ID:jRwG+OiF
下は不可能だから消える。
右上だから左も消える。
じゃあ右か上。
男だったら上を目指せよ
∧_∧
( ・∀・ )ニヤニヤ < おしまい
_/ ∩ ヽ_
/| / ヽヽ| .| |
| (ぃ9 ) \.J. |_
| | ̄| ( _/⌒)._ | ̄|
| | | \__/ ./ )_| |
| | | ̄ ̄__ノ / / | |
| | | ̄ ̄ (_ / / ̄| |
| | | (. ( | |
| | | \ _つ | | 【完】
301 :
名前は開発中のものです。:02/10/17 10:56 ID:79ap7ALG
>>298 迷路の場所によっては、左しか行けない時もある。
これを汎用的に書くのが難しい。
∧_∧
( ・∀・ )ニヤニヤ < おしまい
_/ ∩ ヽ_
/| / ヽヽ| .| |
| (ぃ9 ) \.J. |_
| | ̄| ( _/⌒)._ | ̄|
| | | \__/ ./ )_| |
| | | ̄ ̄__ノ / / | |
| | | ̄ ̄ (_ / / ̄| |
| | | (. ( | |
| | | \ _つ | | 【完】
>>301 ひだりにしかいけなけりゃ
ひだりにいくように書いたらええやん。
>>301 どない難しいねん
左や下にいけへん処理書けるなら
左にしかいけへん場合は楽勝やろ
>>303-304 書いてみたらわかる。全方向対応。
1時間はかかる。楽勝ではない。
何十行も使うなら簡単。
何十行も使うって?7行プログラムの話じゃないんだろ?
もしかしてわざわざif文使ってるんじゃないだろうな
>>288 俺は、まず、
「ある交差点からある交差点まで最短距離で移動するとき次に動けば良い方向」
を全ての(現在位置交差点、目標交差点)の組について調べたテーブルを作っておいて、
オバケ交差点に達したときこのテーブルを参照して進む方向を決定するとか作ったよ。
テーブルを作るコードはそれなりにかかるけど、方向決定コードはすごく単純。
壁判定すらいらない。
弱ってるときは、テーブルの方向と反対に動く。
やられたときは、中心を目標に動く。
ちなみに目標交差点を
・プレイヤーの先にある交差点
・プレイヤーの後ろにある交差点
にすることで追っかけられてるときの性格の違いを表現してみたよ。
ソースは、ソースを上げるスレの最初のほうにある。
∧_∧
( ・∀・ )ニヤニヤ < おしまい
_/ ∩ ヽ_
/| / ヽヽ| .| |
| (ぃ9 ) \.J. |_
| | ̄| ( _/⌒)._ | ̄|
| | | \__/ ./ )_| |
| | | ̄ ̄__ノ / / | |
| | | ̄ ̄ (_ / / ̄| |
| | | (. ( | |
| | | \ _つ | | 【完】
>>305 なんも全方向対応のことはふれてないんだが
左限定のことだけで
>>310 汎用的にと書いてる。
つーかあたりまえ。
そこも指しとけボケ
>>316 おお、喜んでもらえたようで良かった良かった。
作った甲斐があるというものです。まだ未完成だけど。
それにしても、最下層でひっそりとしたスレだね、ここは。
レベル3はみんなが苦戦するのに、なんかあっさりクリアしてるね。
>>321 じゃあ、試しにageてみる?
仲間が増えるかも。嵐も増えるけど。
323 :
名前は開発中のものです。:03/05/17 06:18 ID:qqF5wg2B
324 :
名前は開発中のものです。:03/05/17 06:42 ID:LXslbxMq
大阪から戻った医師が新型肺炎感染の疑い=日本滞在中に発熱−台湾
【台北16日時事】台湾衛生当局は16日、大阪へのツアー旅行から戻った台湾人医師に、
新型肺炎(重症急性呼吸器症候群=SARS)の疑いがあることを明らかにした。
日本滞在中に発熱があったが、自分で薬を服用し、一時熱が下がったという。
感染が確定した場合、日本で発症した疑いがある。
医師は8日に大阪入りし、13日に台湾に戻った。台北市内の総合病院「馬偕紀念病院」の
救急診療部門に勤務しており、旅行前、新型肺炎患者の治療に当たった。この患者は既に
死亡している。医師は現在、同病院内で隔離治療を受けている。
http://accessplus.jp/staff/in.cgi?id=11141
壁をすり抜けないようにするのが難しい・・
o
/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モララーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
パクマンが壁に当たった時漏れは壁をぶち破れた気がした……
敵アルゴリズムを追加
http://finito-web.com/nanashi355/level5-3.zip ▼以下、中間まとめ
・敵アルゴリズム共通
方向を変えるのは道が3方向以上あった場合だけ
もとの道には戻らない
・敵アルゴリズム1
ランダム
・敵アルゴリズム2
隣接するマスを時計回り順にしらべてパックマンにもっとも近いマスへ進む
同等なら先に調べたマスを優先する
この方法だとそのマスが近いかどうかしか調べてないので選んだ道が最短とは限らない
以上
こんなのあった。
http://www.isc.meiji.ac.jp/~sumwel_h/doc/juris/tdcj-s59-9-28.htm (1) オイカケアカベイ
追跡中はパックマンを最短距離で追跡し休息中は画面右上付近を動き回る。
(2) マチブセピンキー
追跡中はパックマンの目の向いている3つ先のマスに向い待伏せをし,休息中は画面左上付近を動き回る。
(3) キマグレアオスケ
追跡中は(1)とパックマンを中心とする点対称のマスを目指し,休息中は画面右下付近を動き回る。
(4) オトボケグズタ
追跡中はパックマンから半径約130ドットの外ては(1)の性格をもってパックマンを追跡し,右半径内ではパックマンの移動と無関係に動く。
なんちゅう資料を引いてんだよ、ってのは置いといて。
334 :
七誌:03/09/13 08:19 ID:UM3MkvMk
>332
すげーじゃん。
パックマンになってる。
335 :
名前は開発中のものです。:03/09/13 08:27 ID:CBrzBQ5l
336 :
名前は開発中のものです。:03/09/13 16:47 ID:I02pZYIp
337 :
七誌:03/09/14 01:39 ID:MnXNUemz
>332
ところで、どうすれば、パックマンとか敵キャラとかのグラフィックを表示させる事ができるのでしょうか?
ビットマップて何ってレベルです。
どうすれば、Cでパックマン作りができるのでしょうか?
教えて頂けないでしょうか。
338 :
名前は開発中のものです。:03/09/14 01:56 ID:AGj2n0Tq
>>337 Windowsで絵を出す方法は、君の嫌いな「猫でもわかる〜」に書いてあるよ。
339 :
七誌:03/09/14 06:02 ID:MnXNUemz
猫以外でおねがいします
341 :
七誌:03/09/15 07:40 ID:ZfHdU7B2
>340
ありがとうございました。
ただ、私、VC++持っていないんですよね。フリーのボーランドのやつでCの文法を勉強中です。
やっぱり、フリーのボーランドのやつじゃ動かないんですよね。DirectXとwinapi。
少なくとも、WinAPIは動きませんでした。
やはり、VC++を買うしかないのかな。
やり方まちがっとんぞ
343 :
名前は開発中のものです。:03/09/15 12:00 ID:dQoDX5+1
ゲームの場合VCしか選択肢は無い。
他の環境だと不必要に苦労する。
それと勉強するなら本のほうがいい。
Webの資料は奇特な奴の善意だが、内容に責任が無い。
書籍のほうが内容がまとまっているし比較的判りやすい。
Webだけだと不要に苦労する。
344 :
七誌:03/09/15 15:13 ID:Ue+XhO5Q
>343
アドバイスありがとうございました。
VC購入の方向でいきたいと思います。
345 :
名前は開発中のものです。:03/09/15 15:32 ID:AAjqlI4W
環境揃える金が無いとそれだけで馬鹿を見るからな。
フリーであれこれ苦労してなかなか出来なかったものが
ソフト買ったらいとも簡単に実現して、しかも成果物の出来も比較になら
ないほど良いとか…そんなのが多い。ゲーム製作は得に。
346 :
315:03/09/22 16:51 ID:rIkEVOw8
>>335 気が付いたら消えてた…。
データはどこかに残してあるけど、あんなページは必要かなぁ。
ちなみに
>>343 はVCを推奨してるけど、俺はJavaを使ってます。
347 :
名前は開発中のものです。:03/10/17 01:23 ID:2vIgarCS
パックマンの当たり判定の実装方法が良く分かりません
マップを作成したときにint map[][](0:床 1:壁)を作成しましたので
マップ単位で判定しようかと思ったのですが上手くいきません
やはり座標で求めたほうがいいのでしょうか?
詳しく教えてください
348 :
名前は開発中のものです。:03/10/17 01:41 ID:snZdciWf
>>347 いや、それでいいと思うよ。
てか、壁を座標で判断するのは普通の考えでは無い。。。
どううまくいかないの?
349 :
名前は開発中のものです。:03/10/17 02:05 ID:2vIgarCS
キャラクターの現在位置をマス目の横幅で割ると、マップのどの位置にいるのか整数として求めることができるので、
これを使って、進行方向の次のマス目が壁ならば、進まないという感じに作りました
ところが、壁がある手前のマス目に入る直前で止まってしまう、見えない壁ができてしまったり、
進めないはずの部分が進めてしまうなどの現象が起きてしまいました
座標の判断をどのように行えばいいのか宜しければ教えてください
350 :
名前は開発中のものです。:03/10/17 02:10 ID:snZdciWf
>>349 ただの計算誤差だな。
マップ参照用の座標変数をもう一組用意して、
マス目の幅分移動したら一つ加減算するようにすれば?
351 :
名前は開発中のものです。:03/10/17 02:19 ID:2vIgarCS
スマン。
int計算で、停止位置がマス目の横幅で割り切れる位置にくるなら
誤差もなにも無いな。
リミットの判定ミスとかじゃない?
353 :
名前は開発中のものです。:03/10/17 02:46 ID:2vIgarCS
一応できました
当たり判定を移動前ではなく、移動後につけて行き過ぎていれば戻し表示させるという感じにしました
まだ少しバグがありますが、なんとかなりそうです
助かりました
354 :
名前は開発中のものです。:03/10/18 19:27 ID:F4XQjB9c
あああ 当たり判定のバグが消えない・・
誰かパックマンの当たり判定ソースうぷしてください・・・
もうだめぽ・・
何種類かうぷされてなかったっけ?
まずはおまいのバグだらけのソースをうぷしたほうが盛り上がると思われ
356 :
350:03/10/19 01:07 ID:hD6E588o
>354
当り判定だけ他人のソースを持ってきてもうまく出来るとは限らないよ。
盛り上がり云々はおいといても、まずは当り判定部分だけでもいいから
ソース見せてみて。
357 :
名前は開発中のものです。:03/10/19 19:11 ID:5IP/gw8I
当たり判定用プログラムです
ttp://briefcase.yahoo.co.jp/a_dg112 ここのpacman_hantei.txt
今の所確認できているバグ
・キャラクターの座標がマイナスになると方向転換不可能
これは直せそう
・曲がり角で、曲がりやすいようにキー判定ができる座標に余裕を持たせているので、
曲がったときに、軌道修正をしているせいでガタとゆれることがある
・キー入力が、実際のキーボードの反応と同じため、押しっぱなしにすると
キーが入力できていない間ができる
たとえば"."を押しっぱなしにすると(. . ........)このような感じ。
そのため、角を曲がれず通り過ぎてしまうことが多々ある
などです。よろしくお願いします
358 :
350:03/10/20 00:39 ID:2SAYzdq9
まずは座標指定に浮動小数点を使うのと、四捨五入をやめれ。
>>352にも書いたけど、停止位置(判定位置)を横幅で割り切れる値にすること。
それで計算誤差は無くせるし、floatよりも高速。
普通に、キャラの大きさを8で割り切れる値にして、
int x, z ;
mass_x = x >> 4 ; // キャラが16×16の場合。32×32の場合は、x >> 5ね。
mass_z = z >> 4 ;
でいいのでは。。。
あと、zってのはyの間違い?
359 :
350:03/10/20 00:44 ID:2SAYzdq9
あーもしかして、3Dモデルで作ろうとしてる?
どちらにしても、2D計算に浮動小数点を使うのは非効率的。
どうしても表示に小数が必要なら、表示時に浮動小数点変換するべし。
360 :
350:03/10/20 00:57 ID:2SAYzdq9
あと、パックマンの場合、一度動き出したら、壁にぶつかるまで
止まらないんだから、移動中かどうかのフラグ一つあれば、
4方向に対してキーロック判定の変数は必要無い。
具体的には、
キー入力
↓
入力のあった方向にパックマン動き出す(移動中フラグON)
↓
移動中フラグが立っている間、その方向に移動する。
その間にもキー入力を受けつけ、移動方向に障害物が無い場合、
移動方向を更新して、その方向に移動させる。
障害物がある場合は、何もしない。
↓
移動中、進行方向に壁があった場合は、移動フラグOFF。
の繰り返し。
361 :
350:03/10/20 01:08 ID:2SAYzdq9
ソースを眺めてて…
表示座標の原点が画面の中心に設定されてるのかな?
block[20][20]の参照は、画面の左上に原点があることが前提だろうから、
原点の変換が必要なんだけど、強引に絶対値取ってヘンな計算してるね…
画面表示は所詮、結果表示なので、
>>359にも書いたけど、2D計算部(block[20][20]の当り判定)と、
表示部を分けるべし。
362 :
350:03/10/20 02:03 ID:2SAYzdq9
363 :
名前は開発中のものです。:03/10/20 15:39 ID:fdR2sAeW
YGS2000で今から参加してもいいかな?
364 :
もちろん:03/10/20 21:22 ID:S50xsFUJ
いいんじゃね?
365 :
名前は開発中のものです。:03/10/20 23:45 ID:Z8wayhFc
SAYzdq9さん、わざわざソースなども細かくコメントなど入れてアップしていただいて、ありがとうございました
ソースの通り、整数として(表示の時は小数に変換)計算しちゃんと角の曲がれる座標にとまるようにしましたが、
やはりキーボードの入力速度のせいか曲がれないときと、曲がれるときがあります
キーを押しっぱなしにして0.5〜1秒後、曲がり角が来ると曲がれるといった感じです
一応前にも書いたんですが、キー入力を割り込みで処理しているので、入力速度が実際のタイプの速度と同じになっているようです
押しっぱなしにすると (。 。。。。。)最初の方で大きな間が空いてしまいそこで曲がれないことが多いようで、
最後の方も連続して入力されますが、わずかな間で入力を逃してしまうときもあるみたいでした
C言語で標準で使える関数で、割り込み処理ではなくメインループでキーの状態を取得できるものは
ないのでしょうか・・・・?
あとなぜか、当たり判定でバグがあるらしく、当たり判定の対象をブロックにすると、判定も機能せず下キーしかきかなくなってしまいました
当たり判定の対象をまったく関係のない値にすると、左右上下に動けました(もちろん判定は機能しませんが)
もしかしたら自分のプログラムに組み込んだせいかもしれません
いろいろと自分の知らない命令や、あまり多用していなかったもので、有効に使われていたので
とても参考になりました
またプログラムの組み方が上手で、ソースがすごく見やすいですね
やっぱり技術職の方なんでしょうか^^;
366 :
名前は開発中のものです。:03/10/21 00:54 ID:3sWuN8vv
367 :
名前は開発中のものです。:03/10/21 01:10 ID:P7tUjhRE
当たり判定できました
SAYzdq9さんのプログラムを使わせていただいて、
キー判定の部分を、以下のように変えました
キー入力があると、InDirという仮方向変数にUP、DOWN、LEFT、RIGHTがはいります
メインループで、
if( 曲がれる位置にいるか? いるならばTRUE){
if( InDirの進む方向が壁かどうか? 壁以外ならばTRUE) {
dir = keyIndir; //進行方向を変える
}
keyIndir = dir; //1マス進むごとに、入力した方向がリセットされる
//リセットしなければ、keyIndirの値がずっと残ってしまう
//移動している方向が壁ならば、ストップする
if(今の進行方向の次のますは壁か? 壁ならばTRUE) {
dir = DIR_STOP;
}
}
//移動方向に値を加える
mx += DIR_MOVING[dir].x;
mz += DIR_MOVING[dir].y;
今までいろいろとありがとうございました
SAYzdq9さんのソースを見て、効率のいいプログラムの書き方を
勉強させていただきます
368 :
350:03/10/21 02:33 ID:QZ/RrjeT
キー入力に関して、「C言語標準で」っていうと、
標準入出力という形で実装されてるgetch()とかしかないけど、
キー入力を待ってしまうから、そもそもリアルタイムゲームには使えない。
「。 。。。。」については、キーのオートリピートの情報を読んでいるからで、
リアルタイムにキー判定しようとしたら、キーを直接読むしかないよ。
というか、パックマンの場合、そんなにずっとキーを押しっぱなししなくても
いいんじゃない?と思うけど。。。実際、青果物ではちゃんと動いているようだし。
>またプログラムの組み方が上手で、ソースがすごく見やすいですね
人に見せるソースってことでコメント書いたけど、普段は全然コメント書かないw
369 :
350:03/10/21 02:46 ID:QZ/RrjeT
あ、、、
>>366=363で、
>>367とは別人か
番号でもなんでもいいから認識名よろ
IDは毎日変わるから。
371 :
350:03/10/23 05:25 ID:E/6Hi+Ai
>>370 (・∀・)イイ!!
BCCよりも、Winでまともにプログラム組みたいなら、少し高くても
VC++6をオススメします。簡単に窓アプリが作れるよ。
その昔、BC++3.0使ってて、WinG動かすのに苦労して、
BC++4.0(4.5)の頃にGAME SDK動かすのに苦労して…
BC++5.0までアップグレードしたけど、結局、VC++4に移行した。
今までの苦労は一体何だったのか。。。
やっぱりMSのSDKは、SMの言語で動かすのが一番楽だと思ったよ。
373 :
350:03/10/24 02:53 ID:woGk69BH
>>372 >ところで、真上から見た画面とするとパックマンて縦に割れてるのか?w
まぁアレは記号ってことで…パックマニアでは解決してるねw
>そういえばほこりかぶったVisualStudioがあるのを思い出しました。
>MFCやって一週間で投げた記憶があります(藁
MFCはリアルタイムゲームには不向き。
一応、DirectXにはMFCを使ったサンプルもあるけど、
基本は、メインを無限ループにして、Vで同期を取りつつ
最低限のウィンドゥメッセージだけを処理するようにする
ってのが常套かと。
VC++を勧める理由は、Windows各SDKとの親和性の他に
ある程度のスケルトンが入ってるから、それが便利かと。
余談だけど、BC++からVC++に移って苦労したのはテキスト処理だった。
ボーランドの日本語処理はかなり強力だったなぁ。。。
Lv.5ではいよいよモンスターが入るか?!楽しみにしております
うわぁネタスレかとおもったら良スレだぁ(´∀`)
レベル制チュートリアル(?)というのもオモシロイネー
安芸
376 :
名前は開発中のものです。:03/10/28 00:15 ID:QZz8MBbO
さげてたよ・・・もいっちょ安芸
377 :
366:03/11/06 19:54 ID:FOcYK31e
(;´Д`)ハァハァ
379 :
名前は開発中のものです。:03/11/09 17:40 ID:OnqQ8HDW
HSPで参戦おk−?
380 :
名前は開発中のものです。:03/11/09 20:14 ID:nrkdpVJY
おいらもHSPで作っています。配列変数でマップ配置を覚えて目からうろこが落ちた状態。
でも、当たり判定がなかなかできない。概念はこのスレを見て理解。でも、実装できぬ。
困った困った。
381 :
名前は開発中のものです。:03/11/09 21:19 ID:dBNgC697
アッヒャッヒャ!ヽ(゚∀゚)ノ
382 :
◆TJaKTvqZPs :03/11/09 21:20 ID:dBNgC697
(,,゚Д゚) ガンガレ!
ゲーム作りたくて情報系の学部に入ったのですが
Cでテキストベースのマインスイーパーなんかを作る事くらいは出来るのですが
絵を扱う方法が教わって無いのでさっぱりわかりません
誰か簡単なのでよいので絵を使ったプログラムのソースを見せていただけ無いでしょうか
教わってなかったら出来ないのかよ?
大学は言ってるなら自分で勉強とかしないのか?
ゲーム製作関係の本はいっぱいでてるだろ?
1冊くらい読んでみたか?
386 :
366:03/11/25 14:47 ID:C0soIf5L
目標を追う場合、分岐点において、
0:自分の来た方向を除き(モンスターは、一般的に逆戻りできないので)、進める方向を調べ、
1:目標地点との、x軸、y軸の差をとって、その差の大きいほうを縮めるように動けるなら、
その方向に進む。
2:もう一方の、差を縮められる方向に行けるなら、そっちに行く。
3: 1と2ができない時点で、目標に近づくことが不可能。
1と逆の方向に進めないようにして、「上」「下」「左」「右」など、通路に優先順位をつけておいて、
優先順位で進める方向を調べ、その方向に進む。
こんな感じでどう?
389 :
388:03/12/05 17:08 ID:i+F9k6Qi
わかりづらい文章で、ごめん。
それから、ピンキーは追いかけ方が、ちょっと特殊だと思う。
391 :
名前は開発中のものです。:04/03/12 11:10 ID:m4my9cdB
392 :
391:04/03/12 13:24 ID:m4my9cdB
level3
http://gamdev.org/up/img/310.lzh 滅茶苦茶ムズかった
胃が痛くなってオナラの臭いが変わるほど衰弱したのは秘密だ
キー入力を無視するタイミング、方向転換を許可するタイミングに注目して
黄色いあん畜生の挙動を研究しまくりifや変数を使いまくって完成
壁判定メモ.txtに研究成果は入れておいた
あまりに難しくてパックマンが初心者向けとは思えなくなってきたけど
どこか根本的なところでミスでもしてるんだろうか_| ̄|○
>>391-
>>394 ご苦労だった、と言いたいところだが・・・
バグ発見。右下のほうでパックマンを動かすと壁をすり抜ける。
>>395 フィードバックありがとうございます
どうも方向キーをみだらに連打すると再現するようです
右と下に壁がある場合は右と下のカーソルキーを連打すると
すり抜けることができる事を発見しました
自分が作ったソフトで裏技が発見されてちょっとうれしい……
397 :
397:04/03/13 18:57 ID:Lt3uj9Mq
今から参加させてください。
VC++、プログラム歴1日です。
がんばります。
398 :
395:04/03/13 19:42 ID:izsRbcye
>>396 すまん。右下だけでなくさまざまなところですり抜けた。
しかしこれは裏技じゃないような・・・。
壁をすり抜けて画面外に出てしまってゲームを続行できなくなることがあるし。
それと、
>右と下に壁がある場合は右と下のカーソルキーを連打すると
キーを連打しなくてもすり抜けますよ。普通に移動してて壁にぶつかったとたん
壁をすり抜ける、ということがおきる。
あとソースを見て壁すり抜けが発生する原因を調べたんだがわからなかった。
役立たずですまん・・・
>みだらに連打すると
(*´Д`)ハァハァ
わかった。曲がり角にさしかかる時に、壁側のキー押してるとどこでもすり抜けるな。
壁当たり判定の beforeDirection==direction 辺りを直せばいいと思うが、
結構むずかしいな。
しかしいいスレだな。俺もやってみよう。
401 :
391:04/03/14 08:00 ID:rHt70/Tr
http://gamdev.org/up/img/312.lzh みだらな裏技を直しました
壁がある方向へ曲がろうとすると
もともとの方向へ直進してました
もともとの方向へ直進する前に
もともとの方向へ直進する方向に
壁があるのかチェックするようにしました
自分で何言ってるのかわからなくなってきた_| ̄|○
beforeDirection==direction
を確定する前にチェック入れたってことです
教えてくれた人たちありがとう
>>397 がんがれー
402 :
395:04/03/14 09:22 ID:UbOuzn9y
>>401 プレイしてみたところ壁抜けが起きなくなってました。
修正ご苦労様です。
>>397 がんばれば
>>401さんみたいにいろんなものが作れるようになるぞ
がんがれ〜
level5(途中まで)
http://gamdev.org/up/img/313.lzh 移動できない方向だけ禁止してあとはランダムで道を選んでいます
当たり判定は16ドット以内に近づいたら当たり
敵のクラスをVectorコンテナを使うことで管理しています
肝心の敵アルゴリズムがまだですが
これだけで一生悩めそうなお題なので
どこで切り上げるか検討中
level6でパックマンから逃げるアルゴリズムも考えないとダメなので
おそらくこのあたりが正念場になりそう
ポインタ、コンテナでちょっと手こずったけど
買いためていた本が役に立った
たまには買った本読まないと……
404 :
395:04/03/14 21:04 ID:KoC3D+Y9
起動したらSTLPMT45.dllがみつかりません、とでる。
なんでだろう?
俺も同じく
406 :
395:04/03/14 21:28 ID:KoC3D+Y9
言い忘れてた。
>>403乙。
敵のアルゴリズムは一生悩めるお題だと思う。
とにかくゲームに必要なアルゴリズムができればいいかと。
408 :
395:04/03/14 22:21 ID:KoC3D+Y9
起動できたよ〜。
409 :
395:04/03/15 19:43 ID:P7rTFcv2
313.lzhをやってて気になったんだけど、これって画像のカラーキーの設定をしてないの?
モンスターの画像の周りに黒いふち(でいいのかな?)が表示されてて気になるんだが。
410 :
名前は開発中のものです。:04/03/18 15:44 ID:ZV++S3v1
保守
413 :
315:04/03/19 15:28 ID:fIIuc+Yn
大昔にLevel1〜4までをJavaで実装してソース付きで公開してました。
もしかして wiki にがしがし貼り付けちゃっていいのかな。
414 :
315:04/03/19 15:37 ID:fIIuc+Yn
wiki をどう使うのか、作った人の意図が見えないんですが、
もしも教育的に使えるページにしたいなら Level をさらに細分化するべきかと。
Level 1-1:単なる表示(drawImageの使い方)
Level 1-2:単なる表示(drawImageの別の使い方)
Level 1-3:パックマンっぽい画面にする
Level 2-1:キー操作の単なる実装(キーを入力すると矢印が表示されるだけ)
Level 2-2:キー入力でパックマン1ドット移動
Level 2-3:キー入力でパックマン移動しっぱなし
Level 2-4:ダブルバッファリング
Level 2-5:移動向きにあわせてパックマンの絵を変える
全て、ソースと実際に動くアプレット付きでLevel4 まで作ってやめちゃいました
要望があるなら続きをのんびりと作るけど
粒度としてはあれくらいでちょうど良いんじゃない?
教科書じゃなくてあくまで「課題」だし。ここでの実績もあるし。
あんまり細かすぎるとやる人が引くかも(俺もそんなのやりたくない)。
段階的〜のページの方に書いてあることは蛇足でしょう(今のところ)。
416 :
397:04/03/19 21:24 ID:RhQrv5xn
418 :
315:04/03/20 13:13 ID:oS0UjnuQ
419 :
415:04/03/20 13:36 ID:HjCApWI8
いや、チュートリアル的な解説付きなら話は別。
すごい良い感じだと思います。
本気でどうしようもなくなった時にヒントをもらえるのは非常にありがたいケド
懇切丁寧に教えてもらうと自分で調べたりできなくて逆にツマラン。
アルゴリズムや成果物もレジュメのトレースでみんな似たりよったりになってしまいそうだし。
あーでもねえこーでもねえと悩む過程の楽しさを味わう絶妙なバランスが
現在のこのスレのLv設定にはあるような気がするんだが。
さて、ぼちぼちLv4にとっかかるべえか。
たとえるなら、WikiにあるLv別課題が章末問題で
>>418のが参考書にのってる解説つきの回答編というところだろうか
422 :
315:04/03/20 13:58 ID:oS0UjnuQ
じゃあ wiki を弄るのは他の人に任せて
私はのんびりと解答編を作るとしますか。
アク禁解除キターので参加します。とりあえずLV2。
http://gamdev.org/up/img/342.zip 言語はMIDP-1.0、ツールはWTK2.1にEclipseです。
Vアプリ作るために勉強中ですが、今回はMIDPオンリーで作ります。
EZへの移植も簡単だし。
誰かMIDP-1.0でpngからの一部取り出しと画像回転のやり方知ってる人、
教えてもらえませんか? MIDP-2.0だと実装してるみたいなんだけど、
1.0でのやり方がサパーリ。出来ないなら出来ないでいいんですが。
424 :
391:04/03/21 16:35 ID:dec56BSb
初心者専用スレ「パックマン」風ゲーム作らない?Level5a
http://gamdev.org/up/img/343.lzh 前回までのおさらい
■DLLがないと動かないぞゴルァ
■カラーキーで色抜いてないのかよゴルァ
■AI未搭載なのかよゴルァ
やっと解決した(たぶん)のでご報告します
■DLLがないと動かないぞゴルァ
ビルドオプションエクスプローラ
↓
BCC32
↓
オプション
↓
その他のオプションとパラメータ
↓
プロジェクトは動的RTLを使用します
このチェックをはずすとDLLなしで動くようになりました
425 :
391:04/03/21 16:36 ID:dec56BSb
■カラーキーで色抜いてないのかよゴルァ
http://www.sspzgr.net/software/vc/code/translate.htm こちらのページを参考に透過処理しました
検索中にMaskBltというキーワードがひっかかって
気になったのですが9x系不可ということでスルーしました
■AI未搭載なのかよゴルァ
分岐路に来るとパックマンがいる方向へ曲がるようにしました
多少のランダム性を与えています
■開発環境
Borland C++BuilderX Personal(無償版)
EDGE(フリーソフト)
ドット絵でぃた(フリーソフト)
以上
>>423 MIDPって携帯?
実行環境ってどっかで落とせるんだっけ。
実機のみ?
初心者専用スレ「パックマン」風ゲーム作らない?Level6
http://gamdev.org/up/img/347.lzh ■level6の課題に対して
・パワーエサを設置しました
・パワーエサを食べると敵が逃げるようにしました
・パワーエサを食べると敵を食べられるようにしました
・敵クラスにイジケカウンターをつけイジケ残り時間をカウントしました
・イジケ時間が120フレームを切ると点滅するようにしました
■その他の修正
・パワーエサを食べていない状態で敵と接触すると死亡するようにしました
・敵の速度を調整しました
・クライアントウィンドウのサイズを調整
・ウィンドウの最大化不可、リサイズ不可
・パックマンがアニメーションする速度を調整しました
■感想
Levelが進むにしたがって以前のLevelでやるべきだった事に気づいたりして
なかなか難しい。はじめからやり直したい箇所もあったり。
430 :
391:04/03/22 07:32 ID:A99v/wL8
Level7
http://gamdev.org/up/img/348.lzh ■巣箱に至る病
・仮想マップに行くべき方向をあらかじめいれておきました
>>203さんのアイデアをいただきました
ありがとうございます
>各分岐点に巣箱の方向を入れておけば簡単だよ
・巣箱の中でグルっとまわるのも同じ方法です
・新たに目玉フラグを敵クラスに作りました
こんなことだったら敵の状態を表す変数を1つ作っておけばよかったよ_| ̄|○
431 :
名前は開発中のものです。:04/03/22 07:57 ID:3FCvupy3
433 :
432:04/03/22 20:46 ID:A99v/wL8
434 :
名前は開発中のものです。:04/03/23 18:06 ID:veFRzD4A
すいませんがJAVAアプレットでつくれますか?
作れるんじゃない?
えっとレスありがとうございます。
とりあえずJAVAで作ってみます
パックマンが作れない言語なんてないだろう
エスケープシーケンスが使えないWin2kはコンソールじゃ難しいだろうけど
439 :
名前は開発中のものです。:04/03/30 19:36 ID:W3eAlGrO
agr
このスレが立ったころ始めた人はだいぶ成長していることでしょう。
ところで、自分も今からがんばってみたいと思います。
今猫でもで勉強しているんですが、何章ぐらいまでいけばパックマンのレベルになれるでしょうか?
>>440 ウインドウを作って画像を読み込んで表示できれば。
あと画像を動かして貼り付ける方法とちらつきを抑えるやり方を覚えれば、
残りは計算で作れる。
442 :
440:04/04/04 17:52 ID:SMHh2AYE
さっそくのレスありがとうございます。
「33章キー入力を知る」ってとこまでいったら作り始めてみたいです。
ゲーム用のとこ見たほうがいいのではないかな。
444 :
440:04/04/06 00:15 ID:Jak9fA5k
とりあえずパックマンを画面に表示させることはできました。
ここで行き詰ったので質問させてください。
パックマンの状態を表す構造体を作成しました。
プロシージャから呼ばれる画像表示用の自作関数でその内容を参照したいと思います。
メイン関数で構造体を準備し、プロシージャに渡せばいいと思うのですがプロシージャの引数の増やし方が分かりません。
グローバル変数を使用する以外の解決方法をご教授お願いします。
環境はVCです。
グローバル変数使えよ
>>444 …? 手で増やしたら? とかそういう答えでいいのかなあ。
447 :
440:04/04/07 00:39 ID:qvq9c8Tl
通常はプロトタイプ宣言での引数、関数を呼び出している場所、関数自体
を変更して引数を増やすと思います。
今回はプログラム自体にプロシージャを呼び出す所がないので
2番目の「関数を呼び出している場所」が変更できなくてエラーが出てしまいます。
ひょっとしてプロシージャの引数は4つで固定なのかなぁと思いはじめました。
意味わからん。
関数に新しい引数を追加したい場合に、それを呼ぶ部分がないというならそこは特に修正する必要ないだろ。エラーも何もないはず。
#そもそもCならプロシージャって関数だろ? 何をもって区別している?
説明ができないのなら最低限のコードとエラーメッセージくらいは貼ってくれ。
449 :
名前は開発中のものです。:04/04/07 09:40 ID:OLcSXc4Q
初期化をWM_CREATEでやればいいと思いよ
450 :
名前は開発中のものです。:04/04/07 18:43 ID:qvq9c8Tl
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM, int aaaaa);
BOOL InitApp(HINSTANCE, LPCSTR);
BOOL InitInstance(HINSTANCE, LPCSTR, int);
int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst,LPSTR lpsCmdLine, int nCmdShow)
{
MSG msg;
char szClassName[] = "パックマン";
int aaaaa;
if (!hPrevInst) {
if (!InitApp(hCurInst, szClassName))
return FALSE;
}
if (!InitInstance(hCurInst, szClassName, nCmdShow)) {
return FALSE;
}
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp, int aaaaa){//以下略
//たとえばWinMainで宣言された[int aaaaa]をWndProcに渡したい場合上のようにすると
//error C2440: '=' : 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long,int)' から
// 'long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' に変換することはできません。と出ます。
//初心者なのでとんでもない勘違いをしているのかもしれませんがご指導の方よろしくおねがいします。
自作関数じゃなくてウィンドウプロシージャか。
その型はライブラリ側であらかじめ決められているから変更は無理。
(typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);)
まあグローバル変数使っとけ
452 :
440:04/04/07 19:52 ID:qvq9c8Tl
>>451 さっそくのレスありがとうございます。言葉が少なくて分かりずらかったようですいません。
グローバル変数はあまり使うなと言われてたので悩んでしまいました。
がんばってパックマンを作り上げたいです。答えてくれた皆様本当にありがとうございました。
ウィンドウプロシージャ使ってメッセージ処理するのが一般的なのかなあ。
私の場合timeGetTimeで時間経過見てメインに入るようにしてそしてキー入力処理へいくように
やってるんですけど、こういうのって良くないんですかね?
結局プロシージャのほうは殆ど書いてないんですけど・・・
454 :
440:04/04/08 21:32 ID:k/BgUhPO
窓プログラムを学び1週間、パックマンを作り初めてはや4日・・・
それなりに形のあるものができました。
ほとんど分からない状態から作り始めたので変な方法で処理したりif文switch文の嵐になりました。
バグも多く、汚いソースコードになってしまいました。
これを機にまた1から修行に励みますorz
http://gamdev.org/up/img/438.zip
>>453 リアルタイムに動くゲームは
普通時間経過見てメインに入りますけど。
456 :
名前は開発中のものです。:04/06/27 16:21 ID:vCEKy0Uc
初めてこの板きたんだけど、
だれかパックマン作り上げた人はいるの?
sage
459 :
名前は開発中のものです。:04/08/10 00:34 ID:PASu5DTv
464 :
名前は開発中のものです。:04/08/26 18:58 ID:0AyoXTIZ
ニ日目
LV2が依然分からない
何とかその場でアニメーションできるようになった
でも、移動がさっぱり分からない
repeat
口を閉じる
口を開く
loop
嗚呼、無限ループ地獄…
他の命令の入る余地が無い。どうしたものか
ここは誰もいないみたいだし、漏れの安住の地にしよう
絶対完成させてやる!
>466
repeatじゃなくてgotoで作った方がいいと思うよ。
ちゃんとwait入れてね。
誰も書かないだけで見てる人はそこそこいるヨカーン
人いたー!グラフィックレベル高い!!
なんてこったパックマンは目がなかったのか
そういえば、パックマンやったことがない。この先大丈夫だろうか
LV3になったらごほうびに使わせてもらおう。
4日目
LV2ほぼ完成したー!移動もアニメもするしちゃんと向きも変わる。
ifと変数に慣れてきたおかげだ。プログラミングってルーチンワークだと思ってた
けど、実際結構思考力使うじゃないか。なかなかおもしろい
あとちょいなのに、キーを押してないと動かない
「キーを一度押しただけでxかyが、ずっと増え続ける・減り続ける」
この仕組みを考えればLV2クリアだ!!まってろLV3
おめ〜
アクションゲームのウエイトはawaitを使った方がいいかもね。
waitだと機種間でスピードが全然変わってくるからね。
めちゃ移動が速かったw
await 17
この数値で、市販のゲームと大体同じスピードで画面更新することになる。
もし速く感じたら移動の幅を狭くしてみて。
あとHSPは処理速度がかなりあれなんで、処理が追いついてこなくなったら
directXの使用を考えた方がいい。hspdxってやつね。
パックマンは画面固定なんで大丈夫だと思うけど・・・
LV3作ってたらエラーが出た
まさかと思って調べたらたらやっぱりLV2でもエラー出てた;;
gosub・repeat多様が原因らしい
何か根本的に間違ってそうだから、最初からやり直す。
今日はLV2の途中まで
・アウェイト取り入れたら口パクが鬼のように早くなった。これじゃまるで痙攣だ
・キーを押してないと動かない(トホホまたここだ)
この二つが明日の課題だ。頑張るベー!
最近客人がきてうれしい。モチベーションUP!!!
口パクは画面更新を数回するごとに変更ってのもあるけど、
パックマンなら座標で閉じてる座標と開けてる座標に分けるのがいいかも。
これなら原作通り立ち止まった時には口パクも止まるしね。
具体的には、パックマンのX座標+Y座標を12で割って、
その余りが0〜5なら閉じてる、6〜11なら開いてることにする。
これで6ドット進むごとに口が開いたり閉じたりするはず。
キーを押さないでも進む方法はすぐ思いつくだろうからいいやw
長期留守にするのでこれから来れないけどガンバレ
壁の判定が難関だけど、このスレの前の方で配列変数の話が出てるから
それ読めば大体わかるはず。
と思ったら配列変数の話は一行しかなかった・・・
まあ、なんとかなるでしょ。
5日目 HSP LV3
エラーが出た失敗作、repeatとgosubをgotoに変えただけで直った!
>>467氏の言ってることはこういうことだったのか
嗚呼、やり直した意味が無くなった。これは、清書用にしよう・・・
口パクの手法使わせてもらった。なるほどこれはいい!
気付かなかったのがくやしい
キー無しで進む方法は、時間の概念(ループ数の変数)使うのかしら?
とりあえず、キーごとにループさせて、ずっとxyが変化するようにした。
もっと巧い方法があるんだろうなぁ
6日目 HSP LV3
外周りの壁の表示、あたり判定が完成
んー、何故か移動するとパックマンの残像が残るようになった
LV2の内容…。boxfもredrawもちゃんと使ってるし、数値も合ってるのに!
色々いじくったが原因がわからない。
腹いせにタイトルと音を少しつけた。やっぱりこういうのは楽しい〜
でも、今やるべきことじゃない…
今日でプログラミングをはじめて一週間
何とかLV3 HSP 当たり判定がかなりきつい
http://gamdev.org/up/img/1896 残像の問題はboxfにこだわる必要なかった。
背景描画の命令を自キャラ表示ルーチンにぶち込むだけでよかったんだ
おもいっきり、メインルーチンより先に壁描いてた。
こんなことに気付くのに1日もかかった
壁判定は自キャラの進む方向の1ドット先の色で判定した。黒ならxyが増減する
そういえば、配列変数とかいうの使ってないけど、まあいいや〜
同じ判定をする命令が多いから長くなってるんだね。
重複する命令は一つにまとめて、変数なんかに結果を格納するのがいいよ。
あと、横道に入ろうとすると、つい壁にぶつかってしまう。
進行方向と別軸の方向キーが押された時に、
その方向に壁があった場合は結果を無視するといいかも。
それか、キャラが29×29なので、パックマンの座標が29の倍数の時だけ判定するとか。
ありがたいです。
すごい短い!しかも動きが滑らかだ
理解するのに時間かかるけど、今までのとこ見直してみます。
特に配列変数よく分かってないので
LV5は敵のxyをどうやって増減させるか考え中
11日目
配列変数を学ぶため、また1からやり直した。正直挫折しそうだった
配列変数むずー。やっと何とか使えるようになった。色で壁判定も変えました。
でもまだちゃんと理解してない。
>パックマンの座標が29の倍数の時だけ判定するとか
これ試したら、滑らかになりました。スバラシイ!
まだ一歩戻ってLV3まで、今度は配列変数でエサ実装だ。
13日目
配列変数でエサを表示できたのはいいが、食う判定をどうすればいいか分からない
エサを食う(色か座標で判定予定)→そのマスだけずっと黒で塗りつぶす
と、やりたいんだけどなかなか上手くいきません。
うーん、壁とエサは一枚絵で取り込んだ方がいいのかな…。
>その方向に壁があった場合は結果を無視
これを取り入れたら、さらに滑らかに!
>>485氏のアニメ変化の手法使わせてもらいました。
いちいちペイントでコマを並び替える必要ないとは!
こんな配列変数の使い方自分じゃ思いつかない。
>>469氏の絵使わせてもらいました
24*24で分かりやすくなりました。自作の壁だけしょぼいです。
もう今日で2週間
埒があかないので、
>>485氏の手法パクリらせてもらいました
バッファにマップを作ってそれをコピーするようにしました。1枚絵とか関係なかった
うーん、配列変数使えばバッファ使わなくてもいけそうだけど、自分じゃ無理
そしてLV5に返り咲き
・とりあえず敵1匹だけ
・一応追いかけてくる(180度逆戻り、引っかかりあり)
・当たり判定
・3回死んだらゲームオーバー
を実装済み。いよいよゲームっぽくなってきた。年度内完成は無理そう
491 :
483:04/11/25 16:04:06 ID:RNgmFScp
是非お願いしますよ!!一人じゃ寂しい
読解するのに時間かかるけど、また参考にさせてもらいます。
今は180度方向転換、引っかかりを直すべく奮闘中です。
いんでない?ゲーム特有のやり方とかあるだろうし。
先生展開が速すぎてついていけないっすよ。いいなぁ、ちゃんとパックマンだ
こっちはやっと180度方向転換しなくなったところ
引っかかりの方はむずかしいのぅ…敵のルーチン根本から変えないと駄目かも
ちなみに私はこのスレくるまでプログラミングのプの字も知らなかったレベルです
っていうか、未だにホームページすら作れませんよ
引っかかりも解除成功〜。後は敵数増やして個性つければLV5クリアだ
>>487氏のような個性はちょっと無理そうなので適当にやります。
峠を越えたかもしれない。
命令に忠実に動く敵になんだか愛着わいてきました
499 :
483:04/11/27 18:58:55 ID:lT9UCl7u
おめでとー
501 :
名前は開発中のものです。:04/12/07 19:47:21 ID:jsnIscpq
おーい
どっかで詰まってるのか〜?
なあ
大抵のWINなら使える描画関数ってない?
WINAPI系?
BITBLTとかそーいうのが無かったっけ
>>505-506 サンクス。
コンパイラだけじゃどうにもならんのね。
開発環境を整えないと…
508 :
ななば ◆k.qRV78jr2 :05/03/11 22:31:19 ID:E3pJ+DNs
エェー 実行ファイルがないと遊べん。
うん、確かに遊べないね
pygameってバイナリにできるの?
こんにちは。フルーツについて質問。
フルーツの出る条件ってなんですか?一定時間生き延びたら出現?
それとフルーツを取ったときの得点の増える量もよくわからないです。一律100点ですか?
エサを80、160個食べるとフルーツ出現。
ラウンド1、チェリー、100点。ラウンド2、ストロベリー、300点。ラウンド3・4、オレンジ、500点。
ラウンド5・6、アップル、700点。ラウンド7・8、メロン、1000点。ラウンド9・10、ボスギャラクシアン、2000点。
ラウンド11・12、ベル、3000点。ラウンド13以上、カギ、5000点。
と、オールアバウトナムコには書いてある。
とても詳しいレスに感激。
けっこう見てる人いるんですね。
途中で挫折sage
.
パックマン作ってもいいですか?
許可
保守
ほ
526 :
名前は開発中のものです。:2006/10/12(木) 20:49:49 ID:ai4G0Iyz
俺様の出番か
パクマソ
528 :
名前は開発中のものです。:2007/01/17(水) 23:32:54 ID:XFSUXtSA
このスレに触発されてJAVAアプレットでパックマン作っています。
ttp://www.beat2050.com/ あぷろだ探すのめんどくさいから自分のサイト晒します...
ソース一式もダウンロード出来るようにしてあります。
現状の仕様というか制限事項はこんなかんじです。
・パックマン死亡しないw
・タイトルが味気ないw
・画面クリアーがもっと味気ないw
・マップが微妙にオリジナルと違う
・画面クリア時のデモ?が無い
・フルーツが芸術的センスが無いためまだ4つしか出来ていない
JAVAらしい事ほとんどやっていないので、パックマン死亡する様にしたら
クラス分けとかやっていこうと思ってます。はい。
パクマソ
>>528 つづきのレスが無いから未完成かと思ったら、完成してたのか
しかもいい出来
おめでとー
531 :
名前は開発中のものです。:2007/12/28(金) 18:56:37 ID:3rWvTvsP
Wiki更新age
532 :
名前は開発中のものです。:2007/12/28(金) 20:20:07 ID:c4aDZT3R
言語はC++で
自機がドットに触れるとドットを食う(ドットが通路になる)
という当たり判定?を作りたいんですが
全く分かりませんorz
やり方は色々あるよね
ドットがある座標を記録しておいて、
パックマンがそこを通過したら食べたことにするとか
パックマンがいる地点の色を判別して、
ドットの色があったら食べたことにするとか
wikiにあるWIN32APIで作ったゲームをvc2008に移植したいのですが、どうしたらいいでしょうか、教えてください。お願いします。
536 :
名前は開発中のものです。:2008/03/06(木) 23:35:29 ID:9cGwwJnk
>>536 遅くなってすいません。はい、それです。
2008でなくても2003、2005でもいいんです。
面白いゲームだなと思って、少しいじってみたくなったんです。
スケルトンの構造が違うのか、移植がうまくいかず困っています。
返信ありがとうございました。
・・・・・C・・・・・@
535ですが、自己解決しました。
ありがとうございました。
パックマン
>>541 アプロダが消えて、成果物が根こそぎ無くなったのが痛いな〜
てか、[今までの成果]の中は消してもいいんじゃないかな?
画像すら無いんじゃ、初めて見る人は訳が分からないぞ
まだキャッシュから引っ張ってきただけで整理できてないんだ(´・ω・`)
だめもとで成果物のリンク先確認したら何個か生きてるのが有ったよ
発掘で手一杯で、動作画面貼り付ける気力無いので
誰か頼んだ(ヽ´ω`)
乙
画像貼り付け完了
Pythonは面倒だったので誰かインストールしてる人よろしく
547 :
名前は開発中のものです。:2008/09/23(火) 19:22:54 ID:mMgEnAV/
Level番外 コーヒーブレイクを作るていうのはポーズって考えて良いのかな
コーヒーブレイクは数面クリアしたときのデモ画面だね。
軽快な音楽の中、モンスターがパックマンを追いかけていき、
パックマンが画面外に出て戻ってくると巨大化していて、モンスターが逃げ出す。
というコミカルなデモ。
了解
夏風邪にはご用心
A-starアルゴリズムようやく流れが分かったので
続きが掛けそう
A-starやっと出来た( ´∀`)
あとはmobに搭載するだけ だとおもう
ルート辿って動くようになったけど
最短距離に切り替えるところが上手く掛けてないっぽい(´・ω・`)
頑張れ
そろそろ動いてるものが見てみたいぞ
今気が付いたんだけど
地形コスト無いから最短距離に切り替えしなくても
最初にたどり着いた奴を採用すれば良いじゃないか…orz
初心者OKのスレということで、
本当に超初心者なのですがお邪魔します。
Cでパックマンを作ってみようと思ってます。
よろしくお願いします。
いらっしゃーい
やっとLv5できた
Lv5ってレベルじゃ(ry
Lv1から足かけ二ヶ月もかかってるお……(ヽ´ω`)バカナコ
ソース見直して後であげるお
細かく目的地を変更している?
面白い実装だね
プレイヤーが可視領域&範囲内で見つけられなかった場合に
適当なマスを目標地点にしてA-starで経路を取得して
うろつかせるようにしますた。
検索方法は
マスのサイズが一定だったので、完全に1マス動き終わった時に検索
モンスターがコレから進む方向の1マス先を基準に縦横に検索
対して、検索される方のプレイヤーの位置情報は
移動が終わる前のマスになってます。
発見後もA-starで検索してます。
まて
可視領域でしか追っかけてこないならA*関係無くないか?w
今はまだ速度が同じだけれど
見失うってコトをやりたかったので
それに、一行コメントアウトすれば
テリトリー内にプレイヤーが踏み込んだ時に反応するようにも出来るので
便利かなーと思って
Level2から全く歯が立たず・・
やはり段階的学習の一番最初の数当てからやらないと駄目だな〜と痛感しました
15パズルとかリバーシができるようになってからまたこちらに来ようと思います。
お邪魔しましたm(_ _)m
いってらっしゃいー
楽しみに舞ってるよ
568 :
567:2008/12/06(土) 16:46:39 ID:wwQrcuBZ
ドッターに敬意を抱く瞬間だね
ねこかわいいな、おいw
クラスは最初は分離しやすいところだけ作るといいよ。
モンスタークラスとか。
親が怒鳴り込んできそうな名前だな。
後ろが気になってゲームに集中できないなんて新しい罠だwww
マザボ死んでPC新調したので2000からXPにしたけれど
今までのがアプリの構成が正しくないって言われて起動しない・・・orz
580 :
567:2008/12/27(土) 19:10:25 ID:RIF0fP5h
なんかgdgdだな俺。
ちょっと他のところに遊びに行ってた。
パワーエサ装着済み。目変化で帰還までプログラム楽勝でした。
フルーツ実装コーディング中、みたいな感じ。
帰ったあとの動作がアレな感じで、パワーエサで捕まえるたびに、モンスターがどんどん重なっていく。
そのへんが気に入らなくてちょっと停滞してる。
DXライブラリ、当初に感じた処理落ち感は、全画面にしたら全く落ちない。気にならない。
日曜大工アマグラマだから、DirectX直に叩かなくてもこれで不満なくやっていけそう。
よし、環境整えて、前までのが動くようになった
パワーえさか…ゲームステージ自体にステータス要素持たせれば良いのかなぁ
早くRPGのステップやりたい…
誰かwikiにターン制の戦闘プログラムの手引き書いてくれないかなぁ、なんて
582 :
名前は開発中のものです。:2009/01/09(金) 18:06:16 ID:OKfEMYg+
キャラクタが管理しやすいようにと、動き一つ一つを「タスク」クラスとしてバラバラにしておき、
「コントローラ」クラスにタスクのリストを持たせて、リストからそれらを実行させたい
その際に、コントローラとタスクとの関係?として、タスクからでも、自身の消去や別なタスクの追加ができるようにしたいんだけど、
ヘッダでコントローラクラスはタスククラスをインクルード、タスククラスもコントローラクラスインクルードしたらコンパイルが通らない
二つ一緒のヘッダファイルに入れるって言うのも考えたんだけど、何か違和感があるし…
どうしたらうまくいくの?
そんなに不適切?
パラメータを持ったキャラクタクラス、それをイジるキャラタスククラス、タスクをまとめるキャラコントローラクラス、と言うことなんだけど
どの辺りが変?
585 :
名前は開発中のものです。:2009/01/11(日) 21:08:42 ID:90j/koWR
段階的学習のレベルどおりに作ってて、今ワープトンネルを実装中。
ワープトンネルでは速度が低下するって書いてあるけど、どれくらいの速度なのかな。
通常の半分とかそんなに遅くはないよね?
実際のゲームがないのでたしかめようもないし、ググって
一番上に出てくる奴は特に遅くなってる節はない。
>>585 パックマンは変わらず。モンスターは1/4ぐらい。
誘い込めば決定的なアドバンテージ得られる。
588 :
名前は開発中のものです。:2009/01/12(月) 00:05:32 ID:Gfzy//bB
>>582 ヘッダでは前方宣言にしてソースでincludeすればよくね?
新年早々シーゲートのHDDロックに見まわれ
今日やっとロック解除に成功
やっとプログラムがいじれる
ふふふ、やっとアイテムの処理どうするか決まったぜ
これだけのことで二ヶ月近く悩んでるとか、自分頑張れ…
やっとLv6できたー
ttp://www7.atpages.jp/kotsubu/main/p_benkyou.html#F 開発環境
XP VC++2008EE DirectX9 Selene beta1.0.7
操作
移動・選択 Joyパッド十字ー or 矢印キー
決定 Joyパッドボタン1 or 'Z'キー
終了 'Esc'キー
vc++2008にしたことで 32bitOS 2000以降対応に
オブジェクトへのアクセスがスムーズにできているとは思えなくなってきました
なんか、考えてるうちに「全部グローバルでやった方が楽じゃね?」とか
593 :
名前は開発中のものです。:2009/05/15(金) 06:17:33 ID:EJ3Ehqsw
マルチ晒しage
596 :
名前は開発中のものです。:2009/12/09(水) 14:42:17 ID:8Up/+fTR
保守ッ
597 :
名前は開発中のものです。:2010/01/04(月) 19:59:38 ID:1tlvkIaI
あけました
google age
599 :
名前は開発中のものです。:2010/05/22(土) 07:48:42 ID:L/4155GL
google top age
ネットを彷徨っていたら八年前の生きたスレッドを見つけたでござるwww
いちおう記念カキコ
これは名スレだよ
>>598 お前は長男か。
ちょっと自分本位すぎる。
603 :
名前は開発中のものです。:2011/09/09(金) 01:33:53.08 ID:Gd934z1o
604 :
名前は開発中のものです。:2012/05/22(火) 14:53:49.28 ID:UXOLN+RM
:::::::: ┌───────────────┐
:::::::: |青いのが逝ったようだな…
::::: ┌───└───────────v───┬┘
::::: |フフフ…奴はモンスター四天王の中でも最弱 …
┌──└────────v──┬───────┘
| 変態生物の面汚しよ… .│
└────v─────────┘
/ ̄ ̄ ヽ, / ̄ ̄ ヽ,
/ @ @ ', ◎ ◎ ',  ̄ヾ
.l @ @
.l _.,, .l _.,, .l
リ | | _.,,.l
おはよう
ハングリーマン作ってください
このすれいいな。おれもxnaでつくるわ
いつになるかわからないが。
保守