- 1 名前:名前は開発中のものです。 [2008/12/21(日) 10:01:44 ID:XeH+Z5e9]
- 入門書一冊終わったけどこれでどうやってゲーム作んだゴラー
って人のためのスレ 入門書おわた ↓ コンソールでゲーム製作 ↓ DXライブラリでも使ってゲーム製作 こういう順番で段階的にやって行きたい 基本は 1.詳しい人がコンソールのゲームでお題を出す 2.初心者が作る 3.できるまで自分で調べて頑張る 4.どうしても無理ならソース晒して教えてもらう 5.完成したらソース晒して、他の製作者のものと比べてウマー とりあえず、入門書から先に進めなくて涙目になってる人(俺含め)のためのスレです
- 8 名前:名前は開発中のものです。 [2008/12/21(日) 10:17:27 ID:XeH+Z5e9]
- >>7
いきなり難易度が高すぎるよww もっとほんと簡単なことろからやりましょうよ・・・ とりあえず数当てゲームを作ってます
- 9 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:21:25 ID:DkqFYwhE]
- C勉強したらAPIやライブラリについて勉強すればいいじゃん。
そうすりゃ>7だってできんことは無いだろう。
- 10 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:21:29 ID:Z9YwqGtM]
- 多分大丈夫だよ
コンソールはやめてwindowにしなよ 部分的なコードでもいいからここに書いてみ わからないのはここに答え書くよ
- 11 名前:名前は開発中のものです。 [2008/12/21(日) 10:21:57 ID:XeH+Z5e9]
- とりあえず、お題は「数当てゲーム」だとして
そのお題にたいして自分なりに色々ルールや文言を決める そんで軽くまとめて、あとは製作 ■名前 数当てゲーム ■遊び方 1〜9の中からランダムに決められた数をユーザーが当てるゲーム ■仕様 ユーザーの入力値が10の時にゲーム終了 ユーザーの入力値が1〜10の範囲外のときは、再入力を促す ユーザーの入力値が答え+-2なら「惜しい」的な表示を ユーザーの入力値が答えより大きければ「大きい」小さければ「小さい」を表示
- 12 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:24:08 ID:Z9YwqGtM]
- 自分でお題決めるのはどうかと思うぞ?w
できそうでないのに挑戦することに意味がある(覚えやすい) 開発環境は?
- 13 名前:名前は開発中のものです。 [2008/12/21(日) 10:29:39 ID:ymFJ1v3a]
- PCが連投規制引っかかったorz
>>9 めちゃくちゃ考えたらわかるかもしれないけど、API?ライブラリ?な初心者(俺)にとっては正直厳しいです…… コンソールで簡単なゲームを作りつつ一歩ずつ進む感じでは難しいですかね?
- 14 名前:名前は開発中のものです。 [2008/12/21(日) 10:32:50 ID:ymFJ1v3a]
- >>10
Windowだと絵とか色々用意しなきゃいけないんじゃ無いんですか? ほかにもWindow自体を作るソースとかも必要なんじゃないんですかね…? そういうの全く分からなかったので 自分の理解しているコンソールから始めようと思ったのです >>12 ですよねwww 一応こんな感じでやっていきたい みたいなやつです XPPROでVC++です
- 15 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:39:55 ID:fqBa+KQb]
- wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%BD%E9%BF%B4%BC%D4%B8%FE%A4%B1%2F%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB%2F%C3%CA%B3%AC%C5%AA%B3%D8%BD%AC%2F%BF%F4%C5%F6%A4%C6%A5%B2%A1%BC%A5%E0#re8e4485
ここの段階学習もウィンドウだからな コンソールは意味ないよ VCCなら新規プロジェクトでウインドウアプリ ウィンドウにボタンとlabel5*5で25個設置 lebelの文字を変えることで敵とかを識別でどう?
- 16 名前:名前は開発中のものです。 [2008/12/21(日) 10:42:49 ID:ymFJ1v3a]
- >>15
つまり、今更コンソールなんかやっても仕方ない感じですかね
- 17 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:42:55 ID:iV+BWt5y]
- ■名前
今年の漢字タイピングゲーム ■遊び方 今年の漢字をひたすらタイプ ■仕様 クリアするとほんのりえっちなAAがお目見え
- 18 名前:名前は開発中のものです。 [2008/12/21(日) 10:45:12 ID:ymFJ1v3a]
- >>17
そういうのが欲しかったwww やってきます まあAAないからクリア要素はないけど
- 19 名前:名前は開発中のものです。 [2008/12/21(日) 10:48:51 ID:XeH+Z5e9]
- #include <iostream>//基本ライブラリ
#include <stdlib.h>//乱数取得に必要 #include <time.h>//rand()の初期化に必要 #include <math.h>//絶対値の計算に必要 using namespace std; int main() { int n,rnd,flag=1;//n:ユーザー入力 rnd:答え flag:ゲームを続けるか否か while(flag)//mainのループ { srand(time(NULL)); //乱数の初期化?よく分からないけどコレやら無いと値が固定になる rnd = rand() % 9+1; //乱数を1〜9までにしてrndに代入 cout << "1〜9で当ててください(終了は10)" << endl; while(true)//answerループ、当たるまでor10が入力されるまでループ { cin >> n; if(n <= 0 || n >=11) { cout << "1〜9(終了は10)を入力してください"<<endl; continue;}//もし1〜10の範囲外ならmainのループに戻る else if(n == 10){flag=0;break;}//もしn=10ならflagに0を代入しanswerループを抜ける
- 20 名前:名前は開発中のものです。 [2008/12/21(日) 10:49:22 ID:XeH+Z5e9]
- else if(rnd == n)//もし等しければ、正解
{ cout << "正解です" << endl; break; } else if(abs(rnd-n) <= 2)//rnd-nの絶対値が2以内なら表示 { cout << "惜しいです、"; } if(n > rnd) { cout << "もっと小さいです" << endl; } else if(rnd > n) { cout << "もっと大きいです" << endl; } } } return 0; }
- 21 名前:名前は開発中のものです。 [2008/12/21(日) 10:52:37 ID:ymFJ1v3a]
- ちなみに数あてゲームはこんな感じです
テーマ >>11 ソース >>19>>20 動作は大丈夫だと思いますが 「ここはこうじゃね?」 とか 「こうしたほうが簡単にかける」 とか 「この処理いらなくね」 みたいなものがあったら指摘お願いします
- 22 名前:名前は開発中のものです。 [2008/12/21(日) 11:09:42 ID:XeH+Z5e9]
- 2chに貼るとめちゃくちゃ見にくい事に気付いたんで画像で貼ってみた
やっつけ仕事だけど幾分見やすくなったかと・・・ dounika.web.fc2.com/ それじゃ>>17作ってきますお題ありがとう!
- 23 名前:名前は開発中のものです。 [2008/12/21(日) 11:14:02 ID:XeH+Z5e9]
- >>17
の仕様を決めねば・・・ ■名前 今年の漢字タイピングゲーム ■遊び方 1995年〜2008年までの西暦を順番に表示 その年の「今年の漢字」を入力 ■仕様 1995年〜2008年までの西暦をランダムに10個表示 一つずつ、その年の「今年の漢字」を入力 正解ならその旨表示 最終的に10問中何問正解したかを表示し結果によって表示内容分岐 こんなかんじかな・・ 行ってきます
- 24 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 11:23:58 ID:fqBa+KQb]
- >>7は無視か
てか次のお題もはじめのと同じじゃん? 配列は使うだろうが そういうの何個作っても同じだよ
- 25 名前:名前は開発中のものです。 [2008/12/21(日) 11:34:33 ID:XeH+Z5e9]
- >>24
だから、現段階では無理ですって 文字が書けるようになったばっかりの人間に小説書けって言ってるようなもんですよ? そんな大きなプログラム作って途中で挫折するなら小さいプログラムでも確実に作ったほうが少しは力になると思うんですが そんなに、小さい努力は無駄ですかね? 配列を使うということはさっきのものより少しレベルアップしたと思うんですけどそれじゃだめですかね? もし、俺の考えがとんでもなく考え違いで 「こんなことやっても意味がない」と重ねて言うなら>>7にとりかかろうと思います
- 26 名前:名前は開発中のものです。 [2008/12/21(日) 11:41:27 ID:XeH+Z5e9]
- なんで俺こんな喧嘩腰なんだろう
すんません
- 27 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 11:47:28 ID:EtGJ5kM3]
- いや、>>24の言うことは正しい。
ちょろっとコード書いて、天狗になって、 似たようなモノをいくら繰り返し書き続けても、発展がない。 なぜなら、すでに出来ることをやってるだけで、新しい技術が何も身につかないから。 喩えれば、一桁の足し算を覚えた小学生が、 数字だけを取り替えながらいつまでも足し算ばかり解くようなもの。 先に進めないのだ。
- 28 名前:名前は開発中のものです。 [2008/12/21(日) 11:55:26 ID:XeH+Z5e9]
- >>27
むしろ、足し算しか分からない子供に掛け算や割り算を自分で理論まで考えて解けって言ってるようなもんだと思うんですけど それは、たしかにできることかもしれないけど考え付くまでにとても時間がかかるし 分かってしまえば簡単なことかもしれないけど現実的ではないと思うんですが・・・・ そういう意見ばっかりだからプログラミングの敷居を高くしちゃってるような気がするんですがね 別に「今すぐ早急に」を求めているわけではないんで、ゆっくり上達していけばいいと思うんですが ここの人たちはみんなプロ志望かなんかなんですかね? あなたたちから見たらクソみたいなものかもしれないけど 現に、数当てゲームを作るのだって乱数の知識を調べて身につけたし、今作ってる今年の漢字あてだって配列のポインタを身につけたし(みようみまねだけど) そんなんじゃだめなんですかねえ・・・ まあ、俺みたいな駆け出しの考えが正しいはずないし、今作ってるの辞めて>>7に取り掛かります ありがとうございます
- 29 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 11:59:04 ID:fqBa+KQb]
- >>15でしてみな
コンソールじゃだめだよ
- 30 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 12:00:40 ID:EtGJ5kM3]
- そういう意味で、Mentor の重要性を認識するべきなんだよ。
ネットで無責任な人に聞いたってロクなことはない。 必死に勉強し、できるだけ良い大学に入って、 同好の士が集まるサークルに所属して交友を深めるのが一番だ。 運が良ければ高校でも同好会はあるが、その時点でのめり込むと、 専門学校・四流大 → 下層民 の転落ルート確定だから。
- 31 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 12:12:45 ID:rKpGztZG]
- 【初心者】課題をクリアしていくスレ【講習会】
pc11.2ch.net/test/read.cgi/gamedev/1086858349/
- 32 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 12:18:31 ID:fqBa+KQb]
- 成長するにはヒントを出されてといていく形式
がいいと思うんだがなこれができたら、 RPGまでいっきに行くつもりなんだがw とりあえずコードはいいから どういう考え(手法)でいくか書いてくれ ここで方向を間違ったらもったいないしね
- 33 名前:名前は開発中のものです。 [2008/12/21(日) 12:43:27 ID:PQUSz0Mp]
- aaa
- 34 名前:名前は開発中のものです。 [2008/12/21(日) 12:44:16 ID:PQUSz0Mp]
- >>32
>>1いなくなったから代わりに俺に教えて
- 35 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 12:47:03 ID:fqBa+KQb]
- label5*5で25個とボタン配置してきて
できたらスクショよろ
- 36 名前:名前は開発中のものです。 [2008/12/21(日) 12:49:19 ID:PQUSz0Mp]
- >>35
labelがよくわかんないんだけど ***** ***** ***** ***** ***** こんな感じで四角形を並べればいいの?
- 37 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 12:52:02 ID:fqBa+KQb]
- ああそうそうlabelは左上から右に行って
一段下がって右にいってをやるんやで コピーもできるが一個ずつやで labelのnameに意味があるからね注意してや
- 38 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 12:52:06 ID:nqiZzAA2]
- 俺がcinの罠で苦しんでる間にずいぶん話が進んでるな・・・(´・ω・)
数字以外入力すると、ふっとぶ。 他には難癖つけるほどでもないけど、気になったところ。 ・srand(〜)はループの中に入れなくてもおk ・外側のループを while(n!=10){ で、flag変数いらない。 2重ループの構成を変えてみた。 ヘッダ>>19で。メイン以下 int main(){ int n,ans=0;srand(time(NULL)); while(1){ if(ans==0){ans=rand()%9+1;cout<<"1〜9で当てろ(終了は10)"<<endl;} n=0;cin>>n; if(n<=0||n>=11){cout<<"範囲外だ。"<<endl;cin.clear();cin.ignore(INT_MAX,'\n');continue;} if(n==10){cout<<"これにて終了する。"<<endl;break;}else if(n==ans){cout<<"正解だ!"<<endl;ans=0;continue;} if(abs(ans-n)<=2)cout << "もうちょっと";else cout<<"もっと"; if(n>ans)cout<<"小さい"<<endl;else cout<<"大きい"<<endl;} return 0;}
- 39 名前:名前は開発中のものです。 [2008/12/21(日) 12:57:49 ID:PQUSz0Mp]
- >>37
何言ってるかわかんないから一応ググって見たけどググってもでてこないから俺には無理そうだ >>38 >>19-20のプログラムはそんなに短くなるのか・・・感動したよ >>1のやりたいことがなんとなくわかった、けどもう>>1はいない これは悲しいな
- 40 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 13:03:10 ID:fqBa+KQb]
- なにができないん?
フォームは表示してるか?自動でできてるやろ
- 41 名前:名前は開発中のものです。 [2008/12/21(日) 13:09:06 ID:PQUSz0Mp]
- >>40
www2.uploda.org/uporg1871845.png ここから先に進まない
- 42 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 13:19:22 ID:fqBa+KQb]
- 見本や
www2.uploda.org/uporg1871862.jpg ツールボックスからlabelを選んでそれをドラッグで配置やで ツールボックスは表示から表示してな
- 43 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 13:21:52 ID:fqBa+KQb]
- ああそうかこれも知らんかもな
デザイン画面は左のプロジェクトの中のform1.hを ダブルクリックで表示やで
- 44 名前:名前は開発中のものです。 [2008/12/21(日) 13:39:26 ID:PQUSz0Mp]
- やっとできますた・・・
30分もかけちゃってすいません www.uploda.org/uporg1871943.png
- 45 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 14:07:12 ID:fqBa+KQb]
- 君失格やで!
label適当にクリックで選択してみ、んでプロパティの中の 上のほうにあるnameどうなってる? 左上から順にlabel1 label2になっとるかい?
- 46 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 14:09:58 ID:fqBa+KQb]
- それと君はレベルどれくらいなの?
入門書レベルはおkですかね
- 47 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 14:11:03 ID:49OkHcC6]
- ありがちだなあw
- 48 名前:名前は開発中のものです。 [2008/12/21(日) 14:15:24 ID:PQUSz0Mp]
- >>46
入門書を数ヶ月前にやってそのまま堕落してる状態です 名前かえなきゃいけないのか・・ やってきます
- 49 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 14:17:16 ID:fqBa+KQb]
- それとボタンも配置してプロパティのtextでstartやで
- 50 名前:名前は開発中のものです。 [2008/12/21(日) 14:19:53 ID:PQUSz0Mp]
- とりあえず
www.uploda.org/uporg1872054.png >>49 はい
- 51 名前:名前は開発中のものです。 [2008/12/21(日) 14:24:06 ID:PQUSz0Mp]
- start までできますた
www2.uploda.org/uporg1872067.png
- 52 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 14:36:10 ID:fqBa+KQb]
- おk
ここからはちょい、覚えないかんので 書くで int main の下に自作関数 void mbox(void) { MessageBox::Show("aaa"); } を書く form1.h選んで右栗からコードの表示で 上のほうに#pragma onceがあるやろうから そこに void mbox(void); これの意味はわかるか? んでフォームデザインでstartをダブルクリック すると勝手に private: System::Void button1_Clickとかでるから 中に mbox(); これでそれぞれ書く場所がわかるはずや 実行してみ
- 53 名前:名前は開発中のものです。 [2008/12/21(日) 14:41:11 ID:PQUSz0Mp]
- >>52
できますた クリックでaaaって描かれたウインドウが表示されました
- 54 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 14:50:08 ID:fqBa+KQb]
- labelをもう一個ボタンと上のボタン群の間の真ん中辺りに設置して
その名前->Text="なんでもええ/n改行した"; その名前->BackColor=Color::Red; をmboxの中に書いてみプログラムで プロパティで変えれるもんは変えれるって事や これで状態をあらわすんや へぼいなw
- 55 名前:名前は開発中のものです。 [2008/12/21(日) 14:55:30 ID:PQUSz0Mp]
- >>54
なるほどなるほど
- 56 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 15:03:58 ID:fqBa+KQb]
- じゃあ宿題な
ボタンを押したら毎回ランダムで3個の labelの文字を敵という文字に変える それ以外は何らかの文字にする。 ちゃんと前回の敵の文字は消すこと。 グローバル変数なんかは void mbox(void); あたりに書く はっきりいうとswitch のおばけ文になる あとはインテリセンスをググって調べとくこと ほな(^^♪
- 57 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 15:09:04 ID:fqBa+KQb]
- ああもう一個だけヒントというか知っ得?情報
int rの時 r.ToString()で文字列になる
- 58 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/21(日) 15:29:16 ID:fqBa+KQb]
- トリップ付けさせてもらう
学ぶならRPGとシュミレーションどっちが先がいい? それと>>1はいないんか、なんか悪いことしたな 別スレのほうがいいかな?
- 59 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 17:56:00 ID:rKpGztZG]
- ID:PQUSz0Mpは変なおじさんについていくなって教わらなかったのか
悪いことは言わないからその人はやめとけ
- 60 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 17:56:32 ID:xa3Nwc9G]
- コンソールでゲームってGUIより難しくないか?
- 61 名前:1 [2008/12/21(日) 19:24:07 ID:ymFJ1v3a]
- 帰省中なので携帯から
コンソールのゲームは本当にイメージが大事だから練習にはいいと思ったんですがね…… 下手にGUIに手を出しても、よく分からないし 言われたことそのままハイハイやってても身に付くわけないし だからお題だけもらって分からないところはヒントもらう、完成したらソースを見てもらってもっといい書き方を教えてもらったり他人のソースと比べて別なアプローチを知ったり〜 みたいな感じがいいと思ったんですが
- 62 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 19:29:26 ID:ymFJ1v3a]
- >>39
ありがとうございます なるほど、数字の範囲外だけではなく文字も考えなくてはいけないのですね…… これはかなり大きいミスですね 以後気をつけます そんなに短くなるのですか…… 帰ったら自分のソースとよく見比べてみます ありがとうございます
- 63 名前:38 mailto:sage [2008/12/21(日) 20:30:45 ID:P2cMz3mF]
- ぶっちゃけ、>>38のソースの下3行=>>20で
ロジック的にはなんの圧縮もしてないですから。 むしろ可読性悪くしてる気がする。if文羅列はこれ以上どうにもならなかったし。 インデントの無い縦長ソースよりは見やすいような気がするだけで。個人的に。 VisualStudioならコピペして、切れ目っぽいところで改行していけば 半自動で整形してくれる。
- 64 名前:38 mailto:sage [2008/12/21(日) 20:50:05 ID:P2cMz3mF]
- なんか昔のメモ帳に
・ハノイの塔 ・8王妃 ・巡回セールスマン ・ナップザック ・安定的結婚 とか書いてあるページ見つけた。懐かしい。 このへんのロジックを自分で考えて作ることができれば 宿題スレで武者修行できるくらにはなれるんじゃないかと。 コンソールアプリではこのへんが限界。 テトリスとかの落ちもの作ろうと思ったら コンソールでがんばるより次に進んだほうが早いと思う。
- 65 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 22:35:27 ID:psCLGrAG]
- プログラムは、中でどうやって動いているか理解出来れば
びっくりするほどどんどん出来るようになると思う 上手く説明できないのが悔しいが windowsなら、こういう風にループしてるんだという流れがわかれば あとは付け足すだけだし スケルトンプログラムでもさっさと理解した方が早い気がする
- 66 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 00:40:10 ID:ASveWW9+]
- >>61
個人的にはコンソールはロジック部分(例えばRPGのダメージ処理とか)とかを てっとりばやくテストしたい時に、検証用に使う。 逆に言えば文字列の入出力以外のUIを持たないので、UIが重要になるゲームを作りたい ならコンソールを勉強しても大して意味は無い。angbandみたいなのが最終目標 とかいうなら別だが。
- 67 名前:おいちゃん [2008/12/22(月) 01:53:14 ID:mUNaomub]
- GUI系はどうすればいいか書くんでやれると思うけどな
応用効く宿題しかださんからやってみてや 仕組みとかも自分であとあと考えられる力、これをみにつけられると思うで、一番大事だと思う。 あとな、コードがこれのほうがいいとか、無用やで こうしたい、でその通りに動くだけでいい、ただ他人のは読めないかんと思う
- 68 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 04:06:11 ID:75EKu/k5]
- 初心者がRoguelikeを作るスレか。期待してるぞ
- 69 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 05:08:52 ID:goIQAPxA]
- ネットワークゲームを作りたいのですが、
予算の関係で、マッチングサーバーをレンタルサーバーにしようと 思っているのですが、もし、ある程度売れてしまった場合に 専用のサーバーに変えるとしたら、IPアドレスが変わってしまった場合 どうやって、対処すれば良いですか?
- 70 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 07:47:37 ID:e0/X2/aD]
- すれ違いだな
でも答えたる あのな、よくレンタルサーバーとかいうけどな それはweb関連用途に限って貸してくれるねんで だいたいcgiでさえ自作の範囲限られるのに そうでない場合も相手がソースが見れるんやから 見れない自前アプリなんか入れさせるわけないやろ。 この点サーバーてっのがゲーム用途と同じだと思う奴多いな。 hp式(データベースにsqlserver利用)のマッチングだったら ドメイン引き継げばいいやん、後は前の奴から飛ばせばいい あーあとな宿題の答えは2日以内に書き込んでな 答えは3日目に書くから
- 71 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 12:39:12 ID:7HSkpjqK]
- >>7とかむずかし過ぎだろわろた
- 72 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 12:46:37 ID:7HSkpjqK]
- >>19
randの使い方に問題があるね。 なぜなら、いくつかのrandの実装では下位ビットがそれほどランダムでは無いとかうんたらかんたら rnd=1+(int) (9.0*rand()/(RAND_MAX+1.0)); とすることを推奨します。 でも初心者のうちは割とどうでもいいような気もするので、今のままでもおk。
- 73 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 13:32:16 ID:e0/X2/aD]
- >>7が難しいとか
自分らで勝手に難しくしてないか? マップの表示 もうできたな 敵の位置ランダムで表示 今回の宿題や 自分とゴールと通過地点の表示 敵がいないとこに表示しないとな 移動は上下と左右のみターン製 ここか難しいのは? マップの仕様よう見てみ ヒントは縦横同数やで 障害物はない敵の動きは任せます 別に時機によって来るなんていってないぞ? こういう問題解くときは自分で紙に書いていろいろ試してみ 例えば一番上の行にいるときに上に行かれんよな ではどうすれば今一番上にいるか?ってことがわかるかとか 規則さがしてみ
- 74 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 14:04:46 ID:e0/X2/aD]
- すまんもう一個だけ書かせてな
考える力を見につけるのがゲームつくりでは一番大切やと 思ってる。これは>>1の言われたことそのままハイハイやってても身に付くわけないし と同じや、考える力どれくらいあるのか試す問題出すな 三角形の面積は底辺*高さ割る2である 1行目に1個目の三角形の底辺を2行目に1個目の高さ 3行目に2個目の底辺4行目に2個目の高さ を書くものとしたとき以下の場合どうすれば最速かつ簡易にどちらが大きいかわかるか? プログラムとそれ以外(現実での方法)両方の方法を答えよ 一問目 1 2 1 3 二問目 12、00000012 144、5412478197 12、4512451 144、5412787 プログラムは読み込みとかかかなくていいよ 1行目を変数Aとかでおk これで考える力あるかわかるで
- 75 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 14:45:11 ID:7HSkpjqK]
- >>73-74
「俺が好きなフルーツは何でしょう?」 「ええっと、バナナかな?」 「ぶっぶー。イチゴだよ。君には考える力が足らんな。滝にでも打たれて来い。」 っていう会話が頭に浮かんだ。 それはともかく>>7は説明が足りないよ。 GUIなのかCUIなのか? GUIだとしたらWinAPI使うのか、何かのライブラリでラッピングするのかわからないし。 マスの表現方法についてだって、ドラクエみたいな表現なのか、クォータービューなのか あるいは「敵1:右に3マス、上に2マス」みたいな文字による表現なのかわからない。 プレイヤーの移動はキーボードで行うのかマウスで行うのかさえわからない。 そもそも誰がプレイヤーを動かすのかについてさえ言及が無い。もしかしたらAIが勝手にゴールを探すのか? いきなりそういうことを考える力を求められてるんなら敷居が高すぎるよ。
- 76 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 14:48:23 ID:w5ew+bX6]
- 本当なら今頃ほんのりえっちなAAが表示されたコンソール画面がうpされてたんだろうな
- 77 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 15:01:29 ID:oKMTflVf]
- だからw
勝手に難しくしてるって 何らかの形で表示って書いてありますがな 勝手にゴールを探すのか?も何ぜ難しくするの? 自分であれに当てはまるってやつでいいんよw 上下の移動でも一番上からしたに移動してもいいんやで 自由だ >>74の答え書いてみないか? ヒントはな、答えは小学生が解いても俺と同じ時間で説ける方法や
- 78 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 15:34:38 ID:oKMTflVf]
- あとなホントは書きたくないって思ったんやけどな
>randの実装では下位ビットがそれほどランダムでは無い rnd=1+(int) (9.0*rand()/(RAND_MAX+1.0)); これおかしいとおもうんやけど おいちゃんの知識が悪いんかな よかったら書籍かホムペ教えてくれへんか?
- 79 名前:名前は開発中のものです。 [2008/12/22(月) 15:38:16 ID:or3ZWGZi]
- >>75
むしろ 「君は何のフルーツが好きだ?」 「ええっと、バナナかな」 「ぶっぶー。食事の時にバナナなんて食べてはいけません。ちゃんと、ごはんと味噌汁を食べましょう。君には常識と考えが足りない」 「・・・・・」 こうだと思う 前提条件も何もかもすっ飛ばしていきなり、GUIを使わせたりキチガイとしか思えない コンソールが駄目ならそれなりの理由を提示すべきだし こいつのやらせようとしてることのほうがよっぽど敷居高いよね
- 80 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 15:48:29 ID:7HSkpjqK]
- >>77
そりゃ、何を求められてるのかさっぱりわからないからなあ。 初心者はその簡単な方法さえもボキャブラリとして持ってはいないし、 自分で考えるにしても、最初から簡単な方法を思いつくとは限らない。 むしろ、自分で考えてしまったがためにおかしくて複雑な設計をしてしまうことは良くある。 >>74 最速とか簡易とかってよく分からない概念だよね。 意地悪な事言うとintは何ビット?とか書かれる数値は整数?小数?まさか分数とか無いよね。有効数字は?とか とりあえず「一行目×二行目 > 三行目×四行目」 を満たすなら一個目が大きい。逆なら二個目が大きいって書くね。 1問目も2問目も同じ。プログラムも現実も同じ。 どう?俺の頭ってよさそう? >>78 あ、何かおかしかった? www.pinkdragon.net/DocumentsLibrary/contents/ja/Linux_man/rand.3.html を見るとそう書いてあったから そうなのかーって思ったんだけど。
- 81 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 15:54:45 ID:oKMTflVf]
- 意地悪な事言うと
またか問題はそこにかいてあるやんかw 、は小数の意味やで おしいな現実でそれでは遅いで /2はなぜぬいたんやその理由が次のステップやで サイトありがとなちょい見てみるな
- 82 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 16:40:30 ID:oKMTflVf]
- 初めて知ったよありがとな
俺なりの答え書くな ちょい意地悪問題だったんだけどな 論理ミスあったら言ってな 現実では底辺と高さの整数の桁数を足す大きいなら大きい 問題文で、で少数になる桁あわせてるやろ3桁区切りでないのは 他がないのでわかる、 あとは掛けるでなくて足す この問題な3Dで自分からAとBどっちが近いかの コード友人に見せたら訂正された時に出されたんや 真面目に公式当てはめないってな なるほどって思うたで、あってるよな? おいちゃん騙されてないよな?w
- 83 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 17:29:36 ID:7HSkpjqK]
- >>82
俺は君の同僚じゃ無いんだから、そんな職場のローカル言語話されても意味分からんぞよ。 それに「3Dで」、「リアルタイムにオブジェクトの距離判定するけど」、「精度は適当でいいや」みたいな前提条件も 言ってもらわなきゃわかるはずないよ。 あってるかどうかは、その前提条件にモロに左右されるから何とも言えんね。 そのやり方だと、さっきの問題文ではどれも「大きさは同じ」って判定されるけど、それでいいの?
- 84 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 18:16:55 ID:oKMTflVf]
- >精度は適当でいいや
まず「どっちが近いか」であってどれくらいか?ではないよ 3D距離測るので√ぬきはてきとうでないとおもうけど 要点は共通なのは省ける場合がある 面積問題だと*は+でもいい 、の場所は意地悪問題だよw しかも間違ってるなホントにごめんな 面積なんだから各長さはかならず+の値 従って A*B>C*Dの場合 必ずA+B>C+Dよって現実でもプログラムでも +で判定すのが簡単って事、 これに例外はないでしょ? 言いたいのはあなたが/2を抜いた理由を >>7にも当てはめて見ればいいってこと もちろんおうようとしてね きっとなんて単純にできるんだって思うよ あとはホントに難しく考えすぎだと思う 市販レベルのゲームが頭にあるから 難しいと想像してるだけでしょ。 当たり判定も入れろとは書いてないんだよ? あって当たり前とは言わせないよ、 勝手に仕様追加して難しいとか言ってるんだから でも実際はゴールに着いたかの判定と同じだけどね 何度も言うけど>>7に当てはまれば何でもいい てかあなたは作れると思うw
- 85 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 18:44:14 ID:bQrlLW0A]
- >>84
3*4>1*10 3+4>1+10??? ならねぇ・・・
- 86 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 18:46:14 ID:LFKaa8W/]
- >従って A*B>C*Dの場合
>必ずA+B>C+Dよって現実でもプログラムでも >+で判定すのが簡単って事 3×2>1×5 つまり3+2>1+5ってこと? 揚げ足取りだけで終わりたくないから書いておくけど。 モデルの単純化による効率化・高速化はもちろん重要。 だけど、動くものが作れるようになった先の話で十分間に合うと思う。 おいちゃん氏、かなり優秀な人だと思うけど、天才様発言すぎる。 やりたいこと、もって行きたい方向が俺にも見えるだけに TPOに合ってないというか空回りしてるなあと。
- 87 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/22(月) 18:57:04 ID:oKMTflVf]
- ごめんwww
ほんとだ何これ結局/2抜くだけだったのか、 俺も実は初めこれだけだったんだよ、んでこれ教えてくれた なんかサルみたいに図形切り貼りして 確かめとかやらされたんだけどなw 実は人を信用するなって教えてくれたんかなw 昨日も飯おごったのになw やべっひょっとして√抜きもそうなのか? 誰か教えて;; >>7も一応考えたんだがもう一回考えるんでまだ作るなよw
- 88 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 23:24:49 ID:IFN4Pi9+]
- >>7
やりたいようにやってみた。自分のソース見ながら考えて進む感じ。 まさか3時間200行超えるとは。見積もり(想像)の1.5倍かかってる。 自分でも言いたいこと突っ込みどころは山ほどある。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8439.zip クラスはなんとなく、関数ポインタは明らかな苦手意識あるんで そのへんうまく使ってイベント処理をキレイにまとめられたらかっこいいかも。
- 89 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 23:35:30 ID:v8weaYQN]
- 流れをぶった切るけど段階学習でコンソールなら数当て(ハイアンドロー、
コードブレイカー)、4択クイズ、タイピング、しりとり(英語、日本語)の順が いいとおも 初心者向けなんだから(特に最初は)1ステップは小さいほどいい
- 90 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 23:52:10 ID:IFN4Pi9+]
- 数当ては>>19-20でやらせた。ていうか勝手にやった。
次はヒット&ブロー(コードブレイカーby女神転生)か山崩しあたり。 タイピング→4拓クイズで、ファイル処理やら構造のカプセル化なんかを意識させて。
- 91 名前:名前は開発中のものです。 mailto:sage [2008/12/22(月) 23:55:22 ID:7HSkpjqK]
- >>88
うまくできてるね。乙。
- 92 名前:名前は開発中のものです。 mailto:sage [2008/12/23(火) 06:44:34 ID:1QOnu95u]
- かんたんな数当てとかは良いね
ってもう終わったみたいだけど まあ一行表示で済むようなものならいっそのこと windowのタイトルバー使っておなじことやったりするといいかも
- 93 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/23(火) 07:40:42 ID:brrxgnQX]
- >>88見させれいただきましたで
int gMap[HEIGHT][WIDTH]; で事象の全て管理してるんですよね? ちょっと言い方違うかな、前回の分を保持してるものを使うのは 上記だけですよね? そしてこのゲームは、敵の移動はしない時があるが自分は必ずする。 これだとゲーム性として緊張感とか戦略性が薄いので (勘違いしないでくださいね次の課題のためにステップアップ できるところをわざと問題で作って、それをあなたが次の問題だせるように 解いてくれたってことですんで) 次の課題は敵は動かない時は次回に移動量を貯めこめる 移動は同じく単一方向のみで溜め込んだ分は使い切る(範囲制限は今のまま) でどうでしょ? これで管理のしかたが変わる修正しないといけない問題になると思うんやけど 問題の出し方としてソクラテスの問答法をしてる感じなんやけど こういうやり方ではだめかな?
- 94 名前:おいちゃん ◆DlyW/s8ibQ mailto:sage [2008/12/23(火) 10:25:56 ID:brrxgnQX]
- >自分は必ずする。
間違いでしたごめんなさい
- 95 名前:88 mailto:sage [2008/12/23(火) 11:32:37 ID:7Tc//R3b]
- >>93
俺に課題出してどうするんだ。 ここまででも結構気を使うポイント多いよ実際。 >>1氏の>>19-20見て、その今の実力で>>88は作れないだろうと思う。 200行のソース書ける人相手に、本質にかかわらない十数行の改変させても意味無い。 今回のだったら、敵Pow2、敵Pow3までenumで増やして、敵移動ルーチンで消化する。 個々にLvやHPなんかのステータスが必要になるまで、意地でも構造体作らねえ! RPGっぽい感じで、作った自分でも結構気に入ってしまってたりするんだこれ。 敵に当たったとき戦闘モードに切り替えて、そのときに敵の能力設定しても十分間に合うし。 気にしてるのが、通過点・イベントの書き方。 個別処理してるので、このままではどうしてもイベントが増えるたびに肥大化していくのが避けられない。 うまいことラッピングできればいいんだけど。
- 96 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 06:12:29 ID:O6ch0loZ]
- かわいそうな>>1
- 97 名前:名前は開発中のものです。 mailto:sage [2008/12/24(水) 09:07:07 ID:pKNbMfli]
- >>1にもちっと根性ありゃ良スレだったかもね。
- 98 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 01:19:22 ID:dzWiyeO4]
- >>94
そうそう。君はそうやって人の言うことを聞いとくべきだよ。 中学生とは思えないほど稚拙な文章だったけど、面白かったよ。
- 99 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 08:14:49 ID:ldpXmL3C]
- 俺がつぶしたようなもんだな。
正直、すまんかった。 この手のスレでは、ソース出せない奴に文句言う資格ないって信念あるから、 ちょっとからかってみたかった。 きのうVIPで拾ったやつ。ソース入り。 WinMain(笑)でも、発表できるやつが正しい。 64 名前: 以下、名無しにかわりましてVIPがお送りします 投稿日: 2008/12/24(水) 12:33:44.10 ID:coeGrU4s0 ステージ間違えてた www.dotup.org/uploda/www.dotup.org13272.zip.html ちらついてた人テストプレイお願いします
- 100 名前:1 [2008/12/25(木) 08:26:15 ID:gHJk9aT1]
- 俺がC++とイチャイチャしてる間に一体何が………
- 101 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 09:13:42 ID:+jZFnaM/]
- >ソース出せない奴に文句言う資格ないって信念あるから、
ちょっとからかってみたかった。 ぜんぜんわからないんだが 文句はどれも言ってないし 誰もからかわれてないように見えるんだが >>88なのか?誰と戦ってるんだ
- 102 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 10:19:14 ID:4QWifqYX]
- >>28で>>7作ると言っている
作ってるのか?>>88を見てしまったのか
- 103 名前:1 [2008/12/25(木) 10:41:23 ID:47eJt85M]
- >>102
俺に聞いてるのかな? コンソールやっていいのか、よくわからなかったんでC++を勉強してましたよ 数当てゲームから先は何も作ってません
- 104 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 11:34:37 ID:ldpXmL3C]
- Hit&Blow作ろうぜ!
【ルール】 相手側に隠された4桁の数字を当てるんだ! 隠された数字は1〜9までで重複していない。 プレイヤーの提示する数字に対して、マスターがヒントを出していく。 ある桁に対して、答えの桁と一致したら1Hit。 桁は違うが、その数字を使っているなら1Blow。 答え 2468 入力 3456 のとき、 4のところで桁一致1Hit、6は両方に含まれているので1Blowとなる。 4Hitなら「おめでとう」表示して終了。 まずは、4桁の重複しない乱数を作成して表示することから始めよう。 それから、入力→判定。入力については難しいこと考えずにやりやすいように。 判定も、それっぽく動くようになってから矛盾する部分をつぶしていけばいい。
- 105 名前:1 [2008/12/25(木) 11:45:26 ID:47eJt85M]
- >>104
それなら作れるよ ちょっと作ってくる
- 106 名前:1 [2008/12/25(木) 11:52:02 ID:47eJt85M]
- と、おもったけどめんどくさいから理論だけ
int ans[4] for(it i=0;i<4;i++) { ans[i] = ansrand() % 9 + 1; if(ans[i] == ans[i+1]) continue; } これで重複しない数字作って int game(int x) { ;xを4分割 ;fscanfだっけ? それであたりかどうか判定 } あとはメインループ こんでいいんじゃないのかな?
- 107 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 12:49:09 ID:D78e/bq5]
- ソースはすでにバグってるけど、考え方組み立て方は大丈夫っぽいね。
入力は最悪1桁目から4桁目までバラバラに入力させてもいい。 今、そこで悩むのは時間の無駄だと思う。
- 108 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 13:13:31 ID:4QWifqYX]
- 即答できるの作って意味あるのか疑問だな
某本は最初からソウコバんが題材だし プロで2時間素人で2日かけたら遅い って書いてるみたいだし。 >>88が理解できないわけがない 1は言ってることがおかしいな 言語そのものは本で学んだくせに ゲームの仕組みは人から教えてもらえるチャンスを 自分から放棄してる、これだと後々クレクレ君になるよな
|

|