- 1 名前:名前は開発中のものです。 [04/06/10 18:05 ID:VshiFFV8]
- ゲームに必要な要素を先生が出してくれます
その課題をクリアしていく講習会です
- 624 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 17:45:56 ID:1pwfm66w]
- ↓こうじゃない?
★箱 (x,y) ┏━━━━━┓(x+max_x,y) ┃ ┃ ┃ ・(x+max_x/2,y+max_y/2) ┃ ┃ ┗━━━━━┛(x+max_x,y+max_y) (x,ymax_y) ★玉 (enemy_x,enemy_y) ┌─────┐(enemy_x+sx,enemy_y) │ │ │ │ │ │ │ │ └─────┘(enemy_x+sx,enemy_y+sy) (enemy_x,enemy_y+sy) ★箱の右で衝突 (x,y) ┏━━━━━┓(x+max_x,y) ┃ ┃ ┃ ・(x+max_x/2,y+max_y/2) ┃ ┌─────┐ ┗━━━┥ │ enemy_xがx+max_x/2〜x+max enemy_yがy-sx〜y+max_y
- 625 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 09:45:12 ID:RL8xs1BY]
- >624
スマン はねかえる様にできたら、そこからぶつかったという仕様にしたかったんだ。 ようやっと、とりあえずはね返るようにはなった。 後ろからあたりに行ったりするとスルーしちゃったりするけど、 大まかにははねかえる様になって、その条件式でちょっと仕様変えてぶつかったという判定にした。 なんか色々とつっかえたなぁ。サイト色々探しちゃったし。 つまると素数プログラムを改善して紛らわせてるんだけど、 数値に制限あるのな。HSP。 まぁ、そこまで素数を下から求めたりしないからいいんだけど、 素数を使って素数を判定するというもの作った時に、数値がめちゃくちゃになって弱った。
- 626 名前:名前は開発中のものです。 [2007/03/02(金) 16:19:42 ID:xch9HBdf]
- >>625
勘違いするなよ? 桁の制限なんてどんな言語でもあるぞw 言うなら32ビット整数型の制限だよ
- 627 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 16:34:53 ID:RL8xs1BY]
- >626
そういうものなのか。 もうちょっと桁はいくもんなのかと思ってたけど、 なるほど2^32の半分なわけか。 となると、それを越える数字を使うプログラムははじかれるのか。 まとめサイトに繋がらないんだけど。なんでだろ。
- 628 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 22:24:24 ID:e7ng/jU4]
- まとめサイトのping帰ってこない(´・ω・`)ショボーン
自分のソースのバックアップあそこにしかないのにwww
- 629 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 20:19:53 ID:vyl0ltP/]
- まとめサイト復活来た。
弾道シミュやるヮ。 課題6はもう大体いいわ。
- 630 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 21:22:00 ID:aM0UjHqH]
- そろそろ新しい課題欲しいな
- 631 名前:名前は開発中のものです。 mailto:sage [2007/03/06(火) 23:13:38 ID:vyl0ltP/]
- ボタンを作るみたいな課題とかどうよ。
単に今俺がこれから勉強したいと思ってるからだけど。 そこから、ボタンを押す。押すと押した絵に変わる。 マウスが上に来ると絵が大きくなるとか、枠が出るとか。 もしくはのちのち、何かのジャンルのゲームで頻繁に使いそうなやつ。 セーブロードとかさ。初心者が言うのもあれだけど。
- 632 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 01:08:02 ID:8kjoILVD]
- それはゲームのアルゴリズム以前の問題じゃないか?
- 633 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 02:38:11 ID:IIsT9RK1]
- 表現もできないのにアルゴリズムも何もないとやっていて思ったんだ。
つーかそもそもアルゴリズムってなんだろう?とも思うんだ。 個人的には簡単なのからだんだん難しい課題にという流れと、 課題をやっていくとゲームとかソフトができる。という流れ。 この二つが混ざるとやっていて楽しいんじゃないかと思う。 まぁ基本的に課題は全て難しいのが現状なんだけどねー。
- 634 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 02:53:14 ID:cSD5nU6m]
- 麻雀の役特定のとか知りたい
- 635 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 18:19:41 ID:IIsT9RK1]
- ありゃ、重力加速度をどう表していいか混乱してきた。
そもそも重力加速度がわけわからなくなってきた。
- 636 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 18:58:48 ID:IIsT9RK1]
- これじゃただの放物線じゃ。
角度のつけ方が良くわからんな。 ホントに誰もいなくて悲しいヮ。
- 637 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 00:27:41 ID:+aaoahtx]
- デフォルメ
- 638 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 20:05:12 ID:A20L9Fnp]
- 課題8、課題6に付け足してようやっとできた。
次は、課題9は課題7がまだ良くワカンネーから飛ばして、 課題10やる。 センセーカムヒアー プリーズ
- 639 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 19:07:09 ID:/U9PtoGQ]
- 分かんないことあるならもうちょっと具体的に書いとけば
誰か答えてくれるんじゃないかと
- 640 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 20:09:00 ID:B3YMxCrl]
- 課題10、とりあえず一つの箱をそれっぽくうごかせた。
これをどう6つにするかだな。とりあえず三つからやってみたいけど、 配列変数つかってcntで三つつくるのができれば、いけるのかな。 弾当たったら消えるって、なんかフラグつくって、 当たったらa=0にして、if a ならその箱表示みたいな感じなんかな。 >639 何よりもほとんど全部といっていいいくらいわかんね。 y方向に落ちていくまではまだわかるような気がするんだけど、 初速がどれだけの速さでも、角度をつけた途端、 どういう計算式にすればいいかが、ピンとわからない。 角度ゼロならまぁ、cnt×速さでいいのかもしれないけど、 角度を少しでもつけると、y方向の部分とのベクトル、 初速分斜めに移動させるので本当に正しいのかすらわからない。 感覚的にはx方向に1、Y方向に1のベクトルだったら(1,1)の方向に 進むようにするってことなんだろうけど、 じゃあそれを全ての状況でどうやって式に表せばいいのか全くわからない。 考え方からしてもうワケワカメなので、 説明したくとも説明できない感じなのだよ。
- 641 名前:名前は開発中のものです。 mailto:sage [2007/03/13(火) 00:50:38 ID:xhylvjoJ]
- 真上にボール投げたときのシミュレーションはできる?
- 642 名前:名前は開発中のものです。 mailto:sage [2007/03/13(火) 00:50:55 ID:e1hpszeA]
- ググれば色々出てくると思うが。
- 643 名前:名前は開発中のものです。 mailto:sage [2007/03/14(水) 14:33:17 ID:vTyf4gtY]
- 3つを動かせるようになって、
それをコピペして、yの値に+して2×3にしてうごくようにしたけど、 慣れてくるとどうやって動かすように仕組むんだ? 今こんな感じ↓ gamdev.org/up/img/9127.lzh >641 真上もなんか良くわかんない。 ベクトルが絡まるともう感覚的にわからない。 たてと横だけならなんとなーくわかるんだけど。 >642 ぐぐっても良くわかんない。 ゴメンナ
- 644 名前:名前は開発中のものです。 mailto:sage [2007/03/14(水) 23:19:25 ID:Ta9QMe4z]
- 説明めんどくさいのでこれ見て自分で考えてくれ。
g=1;重力加速度 x=0;初期x座標 y=480;初期y座標 vx=10;x方向初期速度 vy=-30;y方向初期速度 repeat 70 x+=vx;速度の分だけ位置を増やす vy+=g;加速度の分だけ速度を増やす y+=vy;速度の分だけ位置を増やす pos x,y mes "○" await 20 loop stop
- 645 名前:名前は開発中のものです。 mailto:sage [2007/03/16(金) 22:46:24 ID:ObBbH61d]
- 課題10でけた。こんなんでどうでしょう。
tp://gamdev.org/up/img/9153.lzh >644 サンキュ。ただ、全く思いつかない。角度とか。 ライフゲーム。面白そうだが、まだなんだか良くわからない。 円形判定もうーん。sinとか使うのだろうか。うーん。詰まった。 まとめサイトでも、ほとんどの人が途中でやめちゃってるのは、 やっぱ詰まったからなんかな。
- 646 名前:名前は開発中のものです。 mailto:sage [2007/03/17(土) 00:32:33 ID:AFO1L2/D]
- ddim angle,0 :ddim angle_rad,0 : ddim speed,0 : ddim g,0 : ddim x,0 : ddim y,0: ddim vx,0 : ddim vy,0
angle=15.0 : speed=5.0 : g=0.1 mes "速さ" : input speed : mes "角度" : input angle button gosub "発射",*main stop *main x=0.0 : y=400.0 angle_rad=angle*3.14159/180.0;cos,sinの変数はラジアンなのでラジアンに直す vx=cos(angle_rad)*speed;x方向初期速度=速さ×cos(角度) vy=-sin(angle_rad)*speed;y方向初期速度=速さ×sin(角度)、また上向きが正なので×-1 repeat 1000 pos x,y : mes "○" x+=vx : vy+=g : y+=vy await 20 loop return
- 647 名前:名前は開発中のものです。 mailto:sage [2007/03/17(土) 00:40:55 ID:AFO1L2/D]
- 全部実数型にする必要なかったかな。まあいいや。
角度が分からんと言うのがよく分からんがこれいじったりしてまた考えてくれ。 >課題10 おお。ええんじゃないの。ゲームになってるね。 >ライフゲーム は意外と簡単だった思う >円形判定 は円の方程式x^2+y^2=r^2を使うんじゃないかと。 >まとめサイトでも、ほとんどの人が途中でやめちゃってるのは、 >やっぱ詰まったからなんかな。 詰まったからというか、詰まらなくなったからというか。 いろんな原因で作りたいと思う気持ちがなくなってっちゃうんでしょうね。
- 648 名前:名前は開発中のものです。 mailto:sage [2007/03/18(日) 10:07:48 ID:lgnZfCsC]
- つ リージョン
- 649 名前:名前は開発中のものです。 mailto:sage [2007/03/19(月) 04:09:59 ID:KNd9OD8J]
- ttp://gamdev.org/up/img/9164.lzh
こんなんで良ければライフゲムでけた。 >646 そう多分俺が知りたかったのはこのcos,sinを使い方なんだと思う。 単純にx分にY分を足しただけならいいんだけど、 初速のベクトルに角度をつけるにはどうすれば良いのかや、 角度をつけた場合にベクトルからどうやってy分を足し引きすれば良いかが、 よくわからなかった。 ↓のベクトルがあって\(斜め)のベクトルがあって その二つを足したものを表示するということが。 まだ理解が不十分だけど、参考になった。トン。 >647 ライフゲーム、確かにプログラム的には意外と簡単なのかも。 でも、やたら長い条件式で、カンマがピリオドになってたりでエラー原因がわからず、 そして、elseの使い方がまだいまいちであるために、想定どおり動かなかったりと、 頭をかきまくった。でも、なんか面白いね。眺めてて面白い。 あと、その円の方程式はどっかで見たような式だ・・・。いつ見た、おれ。 これをどう使うのかはまだピンと来ない。もう少し考えてみる。 まぁどのみちこういう課題がちょちょいとできるようになったら、 このスレ卒業なんだろうね。早く卒業したいものだ(´・ω・`)
- 650 名前:名前は開発中のものです。 mailto:sage [2007/03/19(月) 22:56:11 ID:+J8qMsT3]
- おーライフゲームできてるやん。すごいすごい。
>カンマがピリオドになってたり あるあるw
- 651 名前:名前は開発中のものです。 mailto:sage [2007/03/21(水) 18:59:56 ID:dTeu4lZk]
- 円のあたり判定できたよー。
一応、4方向分条件付けをした。 でも弾が1ドットなら、条件は一つ分で十分だよね? エッジ加工?ってなんかよくわからん。 ソフトも。 モザイクって、ぱっと思いつくのは例えばその部分の色情報を取得して、 その色で、ある大きさの箱を描くのを何回かやるって感じになるのかな。 まず絵を調達しなきゃだゎ。
- 652 名前:名前は開発中のものです。 mailto:sage [2007/03/22(木) 00:11:37 ID:wB5CUOCW]
- >円のあたり判定できたよー。
オメデトン。ペース速いね。 >一応、4方向分条件付けをした。 >でも弾が1ドットなら、条件は一つ分で十分だよね? えっと、すまん。4方向ってのがどういうことなのか分からぬのだが。 >エッジ加工?ってなんかよくわからん。 俺もよく知らないけど輪郭抽出でぐぐるといろいろ出てくるみたい。 >ソフトも。 ソフトは俺もまったく分からん。 画像処理の課題はゲーム製作とはちょっと関係が薄い気がする。 >モザイク 四角ごとに仕切って色の平均をとって塗りつぶすみたい。
- 653 名前:名前は開発中のものです。 mailto:sage [2007/03/22(木) 05:03:52 ID:LPymi19I]
- >652
>えっと、すまん。4方向ってのがどういうことなのか分からぬのだが。 俺のは○が動くんだけど、弾と自分が動かしてる四角には幅があるから、 ○の右上下、左上下で当たる時の条件付けがちょっと変わるはずと。 >四角ごとに仕切って色の平均をとって塗りつぶすみたい ・・・・。どうやんだろ。まだ、やったことない領域だから、 どの命令を使うかきちんと把握しなきゃだめそうだ。
- 654 名前:名前は開発中のものです。 mailto:sage [2007/03/23(金) 01:18:56 ID:GKwkgx4A]
- なるほど。自機が○で弾は点かと思ってた。自機四角か。
画像処理はあんまり詳しくないので 他の先生の登場を待ってください。ごめんなさいね。
- 655 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 09:47:03 ID:BbjO+U02]
- javaでslg作りたいキチガイです。
課題1 gamdev.org/up/img/9260.zip buttonとかlayoutとかさっぱり…疲れた
- 656 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 09:56:18 ID:BbjO+U02]
- >>655
0〜9までの数になってたorz 修正 gamdev.org/up/img/9261.zip
- 657 名前:名前は開発中のものです。 mailto:sage [2007/04/05(木) 03:22:08 ID:juxaiBkl]
- HSPを勉強中なので、素数問題に挑戦してみた。
素数の出し方がよくわからないから総当り&最初いんちき。 screen 0,450,400 : font "MS ゴシック",12 : objmode 2 so = "" : max = 10000 : maxs = 1000 : a = 2 mesbox so,450,320 pos 12,333 : mes "try" : pos 50,330 : input max,100,20,5 pos 220,330 : button gosub "start",*gogo pos 12,358 : mes "get" : pos 50,355 : input maxs,100,20,5 stop *gogo if btn : a = max + 1 : btn = 0 : return sdim so,max*4 objprm 2,"stop" : objprm 0,so : btn = 1 : so = "" : a = 2 : s = 0 : d = 0 : len = 0 repeat max repeat a,1 c = a\cnt : if c = 0 : s++ : if s > 2 : break loop if s < 3{ d++ : sa = strf("%5d",a) poke so,len,sa : len += strsize if d \ 10 = 0{ poke so,len,"\n" : len += strsize title "" + cnt }else{ poke so,len,", " : len += strsize } } s = 0 : a++ : if (a > max) or (d >= maxs) : break wait 0 loop objprm 0,so : objprm 2,"start" : btn = 0 : title " get = " + d return
- 658 名前:名前は開発中のものです。 mailto:sage [2007/04/05(木) 09:48:52 ID:F5eNq3r+]
- 同じHsp初心者なはずなのに、なにがどうなってるのか解読できん。
俺の素数プログラムは偉くシンプルなのにな。 こういう見やすい感じのつくれるようになりたいけど、さっぱりなんだよな。 最近はやる気起きないし。
- 659 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 15:27:26 ID:7tS8COUW]
- gamdev.org/up/img/9276.zip
Delphiで数当て作りました
- 660 名前:名前は開発中のものです。 mailto:sage [2007/04/11(水) 23:27:29 ID:hGtX8W0q]
- 課題の1〜11までやったんで段階的学習に移ろうと思うんだが
15 インベーダー テトリス ブロックくずし オセロ ぷよぷよ パックマン マリオ ギャラガ この順番でおk?
- 661 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 03:50:36 ID:DE3aw73g]
- 最終的に何が作りたいかにもよるけど、だいだいOK
- 662 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 07:00:29 ID:ePt0UiZ0]
- >>661thanks!
申し遅れました>>655です javaでSLG作ろうと思ってるdqnです 以前に、基本だけ勉強してSLG作成に突撃したことがあるんだけど、 クラス数が多くなって管理しきれなくなって玉砕w あせらず、ゲーム作りってのを学んで、それから再挑戦するつもり じゃあ15から行ってくるノシ
- 663 名前:名前は開発中のものです。 [2007/04/13(金) 07:11:48 ID:HSdmSo3i]
-
- 664 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 20:45:16 ID:/fPrY/bJ]
- >>660
テトリスとブロックくずしは逆でもいいかもな って遅いか
- 665 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 22:21:11 ID:XmVefahd]
- 俺もDXライブラリ使って660に書いてある
課題やってみるかな。
- 666 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 18:38:23 ID:DHmGTth8]
- >>664
遅くない テトリスで詰まってるorz 下、左右への移動可能判定ワケワカメ レスサンクス 気分転換にブロック崩しから先にやってみるノシ
- 667 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 03:31:39 ID:xnJXx47A]
- 移動先にブロックや壁があるかどうか、だと駄目なのか?
- 668 名前:名前は開発中のものです。 [2007/04/17(火) 20:27:52 ID:DgPcYp5y]
- 僕はテトリスの方が簡単だと思いますが、どうだろうか。
- 669 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 06:25:53 ID:H53kNm7B]
- 一番簡単なのはRPGだったりするけどなw
- 670 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 12:42:11 ID:4KCSkIQC]
- fcのdqは何とかなりそうだけど
sfcのffとかrsとか死にそう
- 671 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 22:32:17 ID:v99y4oaM]
- フラグ管理だけじゃねーの?
- 672 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 08:29:12 ID:3lC0Cy6I]
- >>670
まぁ、ドラクエタイプのRPGは典型的な小中学生向けプログラムだね。 むかーし昔、80年代のパソコン少年たちはまずドラクエもどきを作って遊んだものだ。
- 673 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 08:35:34 ID:wm8Zzz6B]
- シューティングはゲームプログラムの基礎がいっぱい詰まってるぞ
- 674 名前:名前は開発中のものです。 mailto:sage [2007/04/21(土) 04:29:18 ID:4gr+tzZx]
- マインスイーパもいいよ
サンプルは誰でも持ってるし、イベントドリブン型のアプリ設計とか 再帰を使ったアルゴリズムとかもあるし、初心者の実力アップにはいい教材。 queueを使って再帰をやめるとどうなるか、とか凝りだしたらおもしろい。 >>672 俺も昔、N**-BASICで、IFとGOTOだけでアドベンチャーゲーム作った事がある。 紙とペンでフラグ管理をちゃんとして、あとは移動と戦闘を作れば dqタイプは楽かもね。
- 675 名前:名前は開発中のものです。 mailto:sage [2007/05/05(土) 17:14:02 ID:D2oIcwh+]
- >>667
亀だが… 左に移動するときならブロックの左端と、既に固定されたブロックや壁との衝突判定を行おうとしていた その左端をどう導出したらいいのかで詰まってた 4x4のブロックのフィールド全部で判定すればいいんだねーorz アホでした。 今はオセロに挑戦中…
- 676 名前:名前は開発中のものです。 mailto:sage [2007/06/20(水) 13:42:19 ID:8K3dmP9x]
- オセロ難しくはないがめんどい
- 677 名前:名前は開発中のものです。 mailto:sage [2007/07/12(木) 19:01:47 ID:BNvwAZPq]
- wikiの段階的学習をやろうと思うんだけど
ゴリゴリ作って晒すのはこのスレでおk?
- 678 名前:名前は開発中のものです。 [2007/07/12(木) 19:02:55 ID:kvp3cKLa]
- 晒しage
- 679 名前:名前は開発中のものです。 mailto:sage [2007/07/24(火) 02:22:27 ID:sikuFIAE]
- >>677
おk
- 680 名前:名前は開発中のものです。 mailto:age [2007/07/27(金) 00:08:19 ID:CWSFY+9/]
- 横スクロールのアクションゲームを作れるようになるには
どれくらいかかる?
- 681 名前:名前は開発中のものです。 mailto:sage [2007/07/27(金) 00:12:36 ID:Zd3sdNnp]
- 今どれくらい出来るかにもよるよ。
1週間あればとりあえずシステムだけなら出来ると思う。
- 682 名前:名前は開発中のものです。 mailto:sage [2007/07/27(金) 00:55:18 ID:1ly+L1dQ]
- 早い段階で作れるようになる
- 683 名前:名前は開発中のものです。 mailto:sage [2007/07/28(土) 13:23:39 ID:PcfzSmjm]
- 画面出入力
キー入力 ファイル読み書き 演算 これを(どれか一つもしくは複数)満たすように簡単なお題を出していけば、基本何でも作れそうだが
- 684 名前:名前は開発中のものです。 mailto:sage [2007/07/28(土) 21:16:20 ID:VUtYyNMw]
- もっと整理してみた
画面表示(キャラと背景) 入力(キーかマウス) 演算(当たり判定) ファイル読み書きは少し後でいいんでない?
- 685 名前:683 mailto:sage [2007/07/28(土) 21:40:46 ID:UeZm28Yq]
- 上の講義のサンプル見ると、テトリスの得点を保存させるとか、オセロの盤面を保存させるとか
ちょっとした事だけでも分かると夢が膨らむかなぁと思って。 直ぐに必要になるものでもないから後でもいいね
- 686 名前:名前は開発中のものです。 mailto:sage [2007/07/30(月) 11:28:11 ID:6LwwN6qr]
- 夢がひろがりんぐ
すたれたなこれも・・・
- 687 名前:名前は開発中のものです。 mailto:sage [2007/07/31(火) 02:25:43 ID:DUqyrB+j]
- ぷよぷよはくっつきまで表示できるようになれば合格かなぁ
- 688 名前:名前は開発中のものです。 mailto:sage [2007/07/31(火) 14:07:18 ID:OcT/rTQJ]
- ぷよの場合は、何個くっついてるか?の判定ができれば合格じゃね?
- 689 名前:名前は開発中のものです。 mailto:sage [2007/08/22(水) 21:17:36 ID:ZVS3wfyE]
- はっきり言ってくっつくとかさっぱり分からないまま放置。
ライフゲームまではやったんだがなぁ。
- 690 名前:名前は開発中のものです。 mailto:sage [2007/11/26(月) 00:11:38 ID:0u+2SUoR]
- 過疎ってるので使わせてもらおうかな・・。
とりあえず gamdev.org/w/?%5B%5B%C3%CA%B3%AC%C5%AA%B3%D8%BD%AC%A1%AA%5D%5D 段階的学習! を参考にしてテトリスを作ってみようかと思います。
- 691 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 01:57:42 ID:gUB5EALr]
- プログラミングの知識ほぼゼロですがC言語に挑戦してみようと思います。
690の「段階的学習!」のコメント欄によると >一番の最初には数当てゲーム。その次にマスターマインドとか。この辺から始めないとな -- 2005-11-25 (金) 02:10:27 とあるので、まず数当てゲームの作成に取り組んでみます。
- 692 名前:名前は開発中のものです。 [2008/03/31(月) 06:10:02 ID:6Xmv80aV]
- 雑魚晒しage
- 693 名前:名前は開発中のものです。 [2008/04/06(日) 03:23:16 ID:3FIXnopP]
- >>691じゃないけど数当てゲーム作った
scnafで%cを使うと無限ループになるけどなんで? //数当てゲーム #include <stdio.h> #include <stdlib.h> int main() { int gameover = 0; int seikai = 0; int kaitou = 0; char replay = 'y'; char buf[2]; while(replay=='y') { printf("1-9の数を直感で当てます。\n"); seikai = rand() % 9 + 1; while(kaitou != seikai) { printf("1-9の値を入力して[ENTER]を入力:"); scanf("%d", &kaitou); } printf("正解です!!\nもう一度プレイしますか?[y/n]\n"); scanf("%s", &buf); replay=buf[0]; } return 0; }
- 694 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 04:47:09 ID:6iQTQxIz]
- >>693
とりあえず、 ・srand()を使わないと答えのパターンが毎回同じになること ・rand()のような線形合同法が用いられている(と推測できる)関数の 返り値の余りを採るやり方は、数値が偏りやすくなる可能性があること を覚えるべき。2番目はわからなければ今は無視してもいいけど 1番目だけは絶対に理解しておくべき。
- 695 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 05:32:21 ID:pZ63dDRm]
- %cで1〜9を入力すると数字の'1'(0x30)〜'9'(0x39)になる。
%dで1〜9を入力すると数値の1(0x0)〜9(0x9)になる。 この場合欲しいのは数値なので%dで正解だと思う。
- 696 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 16:41:42 ID:wUyPJZn0]
- >数値が偏りやすくなる可能性があること
気になったので実験。 下記プログラムにて偏りを目視で確認してみた。 (実行結果:gamdev.org/up/img/11312.phps) 67と68を境に出現頻度が変わってる。 #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { long int hit[100]={0}; long int i; srand((unsigned)time(NULL)); for (i=0 ; i<1000000000 ; i++) { hit[rand()%100]++; } for (i=0 ; i<100 ; i++) { printf("%d\t%d\n", i, hit[i]); } return 0; }
- 697 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 16:46:13 ID:u1ebOeKL]
- >>696
(整数演算で)「乱数範囲÷100×100」以上は再試行しないと…
- 698 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 16:56:10 ID:wUyPJZn0]
- 仮説をたててみた
乱数の元になる数が0-9の10種類で出現する可能性は同じ 乱数の元:0 1 2 3 4 5 6 7 8 9 0〜2の乱数出力時の式 式:rand() % 3 乱数の元から0〜9が1回ずつ登場した場合 出力数:乱数の元 0 : 0 3 6 9 1 : 1 4 7 2 : 2 5 8 だから、>>696の実行結果はある値を境に出力頻度が変わった これで正解?ちょっとググってくる >>697 「乱数範囲÷100×100」って「乱数範囲」では? 乱数範囲%100を100セットってことかな
- 699 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 17:04:10 ID:u1ebOeKL]
- 例えば乱数範囲が0〜65535なら
65535÷100×100=65500になる。 65500〜65535は%100すると 結果のバラツキに繋がるので捨てるのが基本。
- 700 名前:名前は開発中のものです。 mailto:sage [2008/04/12(土) 17:37:14 ID:VRvbtz8m]
- 乱数範囲による偏りに加えて、
線形合同法による乱数の下位nビットの周期が 高々2^nという点にも気をつけないといけない。 つまり、下位1ビットの周期は高々2^1 = 2。 偶数しか生成しないか、奇数しか生成しないか、 偶数と奇数が交互に生成されるかの3パターンしかない。 よって、線形合同法による疑似乱数生成関数randでサイコロを作ろうとして rand()%6+1とかやっちゃうと、2人で遊んだ時に 片方のプレイヤーが偶数の目だけ、もう片方が奇数だけという状況が生まれる (これをやっちゃった有名な例がカルドセプトサーガ)。 今でもCのrand関数は線形合同法のような形で実装されていることが多いけど、 下位kビットを捨て、k+1ビット目からを1ビット目と見なすことで 周期性の問題を解決しているものもある。
- 701 名前:名前は開発中のものです。 mailto:sage [2008/04/17(木) 23:00:01 ID:xfcPWlW/]
- 1〜100までの数が書かれた玉が1個ずつ入った箱から、玉を取り出す場合は、どの数が出てくる確率も同じだけど、
1〜100までの数が書かれた玉が1個ずつ入っていて、さらに1〜10の玉を箱の中に追加したら確率が変わる。 そういうことだな。 で、余分に入れちゃった1〜10を取り除く処理が必要というわけだ。 rand()から得られる乱数範囲 : 0〜65535 取得したい乱数範囲 : 0〜99 の場合、0〜99が同じ確率で得られるように 65535 - (65535 % 100) = 65500 を超えた部分は捨てる つまり、rand()の戻り値が65500より大きかった場合は、無効な範囲から取得したとして rand()による乱数取得をもう一度やりなおす。 プログラムの流れをまとめてみた 1. rand()を実行 2. もし、rand()の戻り値が65500より大きいなら1.へもどる 3. rand()の戻り値を100で割った余りを得る 4. おわり
- 702 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 08:04:37 ID:PZn8j6Ch]
- 新Gamedevできたのでかきかき
TopPage - game-develop.com wiki wiki.game-develop.com/ GameDevWikiを何とかするスレ pc11.2ch.net/test/read.cgi/gamedev/1156117275/
- 703 名前:名前は開発中のものです。 [2008/06/14(土) 23:31:21 ID:nnavq8hB]
- 数当てゲームはこんなので良いですかね
1.ウィンドウを表示する 2.ランダムに1〜10までの数字を一つ表示する 3.数字を入力して、その数字を表示する 4.2の数字と3の数字を比べて、入力された数よりも大きかったらBig 小さかったらSmallと表示させる 5.3と4を3回繰り返させる もし正解したらそこでゲームを終わりにする
- 704 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 02:05:29 ID:5LSMjBOf]
- >>702
間違っています。 以上。 ↓次の方どうぞ
- 705 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 23:24:20 ID:oz8drcUW]
- はい、次の人です。
お前の安価が間違ってるぞ、と。
- 706 名前:名前は開発中のものです。 mailto:sage [2008/11/24(月) 20:57:35 ID:qPCWYPAF]
- 過疎ってるけれどお邪魔しますよっと
いきなりパックマン作ろうと思って挫折したので、 一からこちらで勉強しにきました 数当てゲームから挑戦していきたいと思います
- 707 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/24(月) 21:26:57 ID:qPCWYPAF]
- 1.数当てゲーム
Level1 ウィンドウを表示する ttp://www.geocities.jp/shobo_dankaiteki/
- 708 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/24(月) 21:55:12 ID:qPCWYPAF]
- 1.数当てゲーム
Level2 ランダムに1〜10までの数字を一つ発生させ、表示する ttp://www.geocities.jp/shobo_dankaiteki/
- 709 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/25(火) 21:39:13 ID:GdvnSEyE]
- 1.数当てゲーム
level3 数字を入力して、その数字を表示する ttp://www.geocities.jp/shobo_dankaiteki/
- 710 名前:706 ◆Jg2hMRjtc. mailto:sage [2008/11/26(水) 21:45:19 ID:Wb2d5d5f]
- 1.数当てゲーム
Level4 Level2の数字とLevel3の数字を比べて入力された数よりも大きかったらBig。小さかったらSmall。同じならHitと表示させる。 ttp://www.geocities.jp/shobo_dankaiteki/
- 711 名前:名前は開発中のものです。 [2009/01/05(月) 19:13:02 ID:F8IEg8lA]
- int main()
{ glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH|GLUT_ALPHA); glutInitWindowSize(800,600); glutInitWindowPosition(0,0); glutCreateWindow("ロボット"); init(); glutReshapeFunc(reshape); glutKeyboardFunc(key_press); glutDisplayFunc(draw); glutMainLoop(); return 0; }
- 712 名前:名前は開発中のものです。 [2009/01/06(火) 21:32:51 ID:c5JPjzC/]
- いまから参加したいけど何すればいい?
- 713 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 21:59:13 ID:364hVwSo]
- >>712
現在地も目的地もわからなければ道案内はできない とりあえずプログラミング暦(スクリプト、ツールを含む)と最終的な目的(RPGが作りたいとか Cをマスターしたいとか)を書いてくれ
- 714 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 23:29:33 ID:UozvWyya]
- 基礎からと言うならまずは英語かな。
英語を読むことができれば海外の情報をゲットできるよ。 これとか教材にすると面白いかも。 wiki.gamedev.net/index.php/Tools:Programming
- 715 名前:名前は開発中のものです。 [2009/01/14(水) 00:58:33 ID:uviUrAzN]
- 自分の位置をみつける目安は?
- 716 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 01:16:39 ID:yw67XO87]
- プログラミングスキル:
Lv.1 テトリス Lv.2 インベーダー Lv.3 グラディウス グラフィックスキル: Lv.1 デッサン一年目 Lv.2 デッサン二年目 Lv.3 デッサン三年目 サウンドスキル: Lv.1 MP3/OGGのエンコード方法がわかる Lv.2 DTMがわかる/楽器を演奏できる Lv.3 オリジナルアルバムをリリースする ライタースキル: Lv.1 10000文字以上の作品を書いて公開したことがある Lv.2 100000文字以上の作品を書いて公開したことがある Lv.3 1000000文字以上の作品を書いて公開したことがある PMスキル: Lv.1 2chで企画を出したことがある Lv.2 2chで出した企画に肯定的なレスが3つ以上つく Lv.3 2chで出した企画が成功する センス: Lv.1 ぐにゃぐにゃ Lv.2 へろへろ Lv.3 ぴきーん
- 717 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 03:18:01 ID:7SW263aP]
- テトリスとインベーダーなら難易度はほぼ同じで
どちらかというとテトリスのほうが難しい シューティングで並べるなら Lv1インベーダ Lv2ギャラガ Lv3グラディウス
- 718 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 22:36:11 ID:GiBTcIUW]
- プログラムスキルCUI編
Lv.0 Hello,World(環境設定、表示) Lv.1 四則算(入力、変数) Lv.2 Big & Small(乱数、制御文) Lv.3 石取り(関数,AI) Lv.4 Hit & Brow(配列) Lv.5 タイピング(タイマー,ファイル読込) Lv.6 クイズ(データ構造,文字列操作,構造体) Lv.7 しりとり(ファイル読書込,検索,クラス) Lv.8 ノベル(これまでのまとめ) Lv.9 アドベンチャー、育成シミュ、経営シミュ(それぞれのアルゴリズム) Lv.99 ローグ風RPG
- 719 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 23:15:49 ID:GiBTcIUW]
- プログラムスキルWindow編共通
Lv.0 Window表示 Lv.1 パラパラアニメ(画像表示,タイマー) Lv.2 もぐら叩き(マウス入力,点の当たり判定) Lv.3 1画面STG、ドットイート(キー入力、当たり判定) インベーダーは3.5くらい パズル(+落ちもの) Lv.1 スライドパズル(配列) Lv.2 ブロック崩し(反射) Lv.3 テトリス(回転) Lv.4 ぷよぷよ、さめがめ、マインスイーパー(シードフィル) Lv.5 Qix(マスクなどの画像処理) アクションシューティング Lv.1 スクロールSTG(スクロール) Lv.2 横スクロールアクション(重力) Lv.3 ベルトスクロール(奥行きつき当たり判定) Lv.4 格闘(キー履歴) RPG他 Lv.1 ノベル(メッセージ) Lv.2 アドベンチャー(メニュー) Lv.3 ドラクエ風RPG、シミュレーションRPG(2Dマップ) Lv.4 アクションRPG(アクション)、クオータービューRPG(擬似3D) ちなみにどれもネットワーク対応や3Dにするとレベルが上がる
- 720 名前:名前は開発中のものです。 mailto:sage [2009/02/14(土) 21:54:59 ID:O8g6aplU]
- 数当てゲーム完成
次15パズル挑戦してみたいと思います level5 ttp://www.geocities.jp/shobo_dankaiteki/
- 721 名前:名前は開発中のものです。 mailto:sage [2009/02/14(土) 23:13:09 ID:O8g6aplU]
- 15パズル level2
ttp://www.geocities.jp/shobo_dankaiteki/
- 722 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 10:57:23 ID:TTfM6L/J]
- >>720
頑張ってるなあと賞賛しつつ、DXライブラリの挙動を理解してないなあという感想。 テキストの表示がおかしいとか感じないのかな? そこは譲っても、正解してしまったときの処理がやばい。 DxLib_Endで開放してから正解の表示、これがどこで処理されるのか不定。 さらにここでループ抜けないので事態は悪化。 終了時にDxLib_Endで再解放・多重開放してしまうは致命的。 少なくとも、DxLib_Endはプログラムの最後にひとつだけ書くようにしたほうがいい。 15パズルはソース無いんで何もいえないけど、何ひとつできてない。 終了してウインドウが消えてから、ちらっと@って表示されてるあたり、 また根本的なとこでやらかしてる予想。
- 723 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 11:23:10 ID:TTfM6L/J]
- ちょっと試してみたけど、DxLib_End();の時点でアプリ終了するのな。
exit(0);とかabort();の感覚で使える。開放忘れの80倍はマシだけど、それはそれで怖い。
- 724 名前:名前は開発中のものです。 mailto:sage [2009/02/15(日) 12:57:16 ID:Wi9+QSGh]
- >>722
アドバイスありがとうございます。 ・数当てゲーム(レベル5について) >そこは譲っても、正解してしまったときの処理がやばい。 >DxLib_Endで開放してから正解の表示 今見直してみたら、おっしゃる通りでした。 正解の表示を行った後ループを抜けるよう修正してみました。 ただ、 >DXライブラリの挙動を理解してないなあという感想。 >テキストの表示がおかしいとか感じないのかな? ここの部分がまだ理解できません・・。 もしまだこのスレ見てらっしゃったら ヒントいただけないでしょうか? geocitiesに上手くアップロードできないので うpろだお借りしました 修正した数当てゲーム(レベル5)です www3.uploda.org/uporg2018927.lzh.html
|

|