1 名前:名前は開発中のものです。 [2008/12/21(日) 10:01:44 ID:XeH+Z5e9] 入門書一冊終わったけどこれでどうやってゲーム作んだゴラー って人のためのスレ 入門書おわた ↓ コンソールでゲーム製作 ↓ DXライブラリでも使ってゲーム製作 こういう順番で段階的にやって行きたい 基本は 1.詳しい人がコンソールのゲームでお題を出す 2.初心者が作る 3.できるまで自分で調べて頑張る 4.どうしても無理ならソース晒して教えてもらう 5.完成したらソース晒して、他の製作者のものと比べてウマー とりあえず、入門書から先に進めなくて涙目になってる人(俺含め)のためのスレです
2 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:06:03 ID:Z9YwqGtM] 3Dそこそこできると思うんだが コンソールは無理
3 名前:名前は開発中のものです。 [2008/12/21(日) 10:07:17 ID:XeH+Z5e9] >>2 お前コンソールでphotoshopでも作る気か?
4 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:08:00 ID:Z9YwqGtM] 入門書って何の入門書? 言語なのか、ゲームの入門書みてたら コンソールはいらなくないか
5 名前:名前は開発中のものです。 [2008/12/21(日) 10:14:28 ID:XeH+Z5e9] >>4 言語書いてなかったすんません C言語を前提で話してます つまり、「はじめてのC」とか一通り理解したけどこの知識からどうやってゲームつくんだよ・・・ みたいに途方にくれてる初心者(俺含め)を対象に、簡単なゲーム設計をやっていこうみたいなスレです コンソールアプリケーションがらくだと思ったんだけどだめかな?
6 名前:名前は開発中のものです。 [2008/12/21(日) 10:15:58 ID:XeH+Z5e9] ちなみに、簡単なコンソールゲームっていうのは数当てゲームとかそういうのね 簡単な戦闘ゲームなんかも作れるようになったらかなりgoodだと思うんだが
7 名前:名前は開発中のものです。 mailto:sage [2008/12/21(日) 10:16:00 ID:Z9YwqGtM] ではお題 縦横50マスの範囲(何らかの形で表示)を 敵10体とプレイヤーを表示して ゴールと通過しなければならない地点を ランダムで表示、移動は上下と左右のみターン製で 通過地点を通ってゴールに行けばクリア。 障害物はない敵の動きは任せます。
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は言ってることがおかしいな 言語そのものは本で学んだくせに ゲームの仕組みは人から教えてもらえるチャンスを 自分から放棄してる、これだと後々クレクレ君になるよな
109 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 13:24:25 ID:4QWifqYX] >>107 ある桁に対して、答えの桁と一致したら1Hit。 桁は違うが、その数字を使っているなら1Blow。 にたいして >それであたりかどうか判定 この課題の出題意図おもいっきり 飛ばしてるじゃねえかw
110 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 13:41:17 ID:tZ3uaTxD] 俺もゲーム作りたいからプログラム始めて、入門書は済んだけど何しようって時期はあった 最初はGUIで四角形を表示できるようにして、それを入力で動くようにするっていう風に少しずつSTGに近づけていって完成まで行ったよ 俺は「Windowsゲームプログラミング」って本でGUIに入ったけど、これはあんまりオススメできない >>1 を見る限り「14歳からはじめる C言語わくわくゲームプログラミング教室」とかがいいんじゃないか? 俺は「Windowsゲームプログラミング」を初めて見たとき、「なんだこれ…全く分からない」と思った でも原因は入門書の内容を理解してるつもりで、してなかっただけだった DXライブラリのサンプルなんかすごい丁寧に書いてくれてる 分からない分からないって言ってたら進まない 何で分からないのか原因を考えて、それを潰していけばいい
111 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 13:57:08 ID:4QWifqYX] 出題意図も書いてあげなきゃいけないんだろう 4桁はランダムで重複はない 入力もじが同じ桁で同じ数字hitなら Blowかどうかは判定しなくていい(重複はないから) hitでないなら別の桁でBlowかどうか判定する そこでBlowならそれ以外の桁は、数字の違うランダムだから (重複はないから)判定しなくていいことになってる。 でいいのかは、ルールがはっきりしていないので実はわからない。 プレイヤーは同じ数字に対して挑戦できるんだろうがすべて同じ数字に してもいいのかわからない。 出題意図以外の部分書き込んでなんになる? 始めの問題でcin>>n;だけ書くのと同じだろ 正直課題でなくて、なになに作って解説してくださいの方がいいと思う。
112 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 14:09:59 ID:HaMdn/9b] ゲームってC/C++じゃないと駄目なの?
113 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 14:14:10 ID:8FA5a+hY] >>106 この程度のプログラムが面倒だと感じるならまともなゲームは作れないよ それに後半部分が曖昧だから「できると思っているけど実はできない」可能性が あるから作ってみて損はない 逆に>>7 は「できないと思っているけど実はできる可能性」もある とにかくたくさん試してみないと自分のレベルはわからないもんだよ
114 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 14:19:37 ID:zLYK7Trd] >>112 そんなことはないけどメジャーだからいろいろアレでナニだね
115 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 14:21:08 ID:aRJ94ifJ] >>112 別にJavaでもHSPでもツクールでも構わないよ
116 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 15:53:49 ID:dcJ2PyO9] 速度が遅い ユーザーに新たにランタイムを入れてもらわないといけない この2つが許容できない場合はC/C++やDで作る
117 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 16:00:18 ID:aRJ94ifJ] ランタイムを同梱するという技もあるけどね 昔のJava(1.4世代)ならそういう手が使えた。今のライセンスは知らない。
118 名前:名前は開発中のものです。 mailto:sage [2008/12/25(木) 16:09:10 ID:Bjb9Ga/u] Hit&Blowつくってみた 意外と長くなってしまった kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8476.zip
119 名前:名前は開発中のものです。 [2008/12/26(金) 20:55:42 ID:PhPwcMia] c言語とかからのゲーム作成を解説しながらやってるお勧めのブログを教えて
120 名前:名前は開発中のものです。 mailto:sage [2008/12/26(金) 21:02:02 ID:S9F3mZ1U] >>119 君だったら、勉強しながら、後進のために作るかい? 面倒くさがって作らないだろ。 この世には、君のような奴だらけなのさ。
121 名前:名前は開発中のものです。 mailto:sage [2008/12/27(土) 00:17:12 ID:GD7+RbfX] コンテンツとして需要があるなら作ってもいいと思うけどな。 というかそんなようなのを作ったことがある。 結局ホームページ自体を公開しなかったが。
122 名前:名前は開発中のものです。 mailto:sage [2008/12/27(土) 00:23:21 ID:BgZGJ+VY] Cから説明するのはだるいな せっかく気合入れて作るくらいなら、本にして印税もらいたい
123 名前:名前は開発中のものです。 mailto:sage [2008/12/27(土) 00:30:31 ID:q0mgxuEr] なぜ>>119 はブログにこだわるのか。ブログ専用ブラウザでも使っているのだろうか ttp://racanhack.sourceforge.jp/rhdoc/
124 名前:名前は開発中のものです。 mailto:sage [2008/12/27(土) 08:53:55 ID:8o0sem2Y] >>119 ブログで製作のライブ中継やると、完成しないというジンクスが。 ってか、実際に実況製作やってみると、ブログに思考中断されてうっとおしくなる。 まだ見ぬ弟子のこと考えて技術ブログ書くのなら たいてい前もって完成させてからの、ログ追いトレース記事になってしまう。 完成すれば楽しい思い出の、ぐだぐだ設計迷走日記とはなかなか両立しない。
125 名前:名前は開発中のものです。 mailto:sage [2008/12/27(土) 10:41:20 ID:44v0/Te5] >>106 重複しない数字作成に関して ループの中で ans[0] == ans[1], ans[1] == ans[2], ans[2] == ans[3], ans[3] == ans[4] の比較を行っているが、右辺は何も値が代入されていないので、 その条件は絶対に成立しない ans[4]は定義されていないので、i = 3 のときに実行しようとすると多分落ちる ループの最後に実行される continue 文は何も意味を持たない 多分勘違いしていると思うが、continue 文を実行しても i の加算処理は実行される PGMの製作経験が不足している気がする PGMのロジックを組み立てる練習にコンソールゲーム作成はいいと思うので 面倒と思わずにまずはひたすら組んで実行してみることを勧める
126 名前:名前は開発中のものです。 mailto:sage [2008/12/27(土) 10:44:28 ID:QMJ1Aqu3] TEAM NAVA分室 ゲーム製作講座 RPG ttp://inu.harisen.jp/top.html
127 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 11:46:19 ID:Wm8cLO/2] C言語〜ゲームプログラミングの館〜 dixq.net/g/ 12月2日から↑このサイト見ながらゲーム作り始めた 「不可思議2」みたいなゲーム作りたくてダンジョン自動生成と マップスクロールとキーコンフィグは何とか作った でもC言語は1ヶ月くらいしか勉強してないし ゲーム製作の経験もないので悪戦苦闘中 出来た!と思って打ち込んだプログラムが1発で動いたことは1度もない ゲーム作りがこんなに面倒だとは思わなかったよ
128 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 13:23:09 ID:iZvh/mGa] 重複しない数字作成だったら int ans[4]; int flag = 1; while(flag){ flag = 0; for(i = 0 ; i < 4 ; i++) ans[i] = rand() % 10; for(i = 0 ; i < 3 ; i++){ for(j = i + 1 ; j < 4 ; j++){ if(ans[i] == ans[j]){ flag = 1; break; } } } } かな。
129 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 13:39:04 ID:iZvh/mGa] こんな方法もあるか int used[10]; int arr[4]; int n; for(i = 0 ; i < 10 ; i++) used[i] = 0; for(i = 0 ; i < 4 ; i++){ n = rand() % 10; if(!used[n]){ arr[i] = n; used[n] = 1; }else{ i--; } } 乱数が当たらないとループを抜けられないことを嫌うなら int num[10]; int arr[4]; int n; for(i = 0 ; i < 10 ; i++) num[i] = i; for(i = 0 ; i < 4 ; i++){ n = rand() % (10 - i); arr[i] = num[n]; for(j = n ; j < 9 ; j++) num[j] = num[j+1]; } 最大でも30ループほどで抜ける。 シンプルだけど可読性が悪い例だ。 ケアレスミスはご容赦。
130 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 13:50:34 ID:iZvh/mGa] 十分大きな乱数は重複しないという前提で。 あるいは、重複しても極めて小さな誤差として無視する。 int r[10]; int arr[4]; int n_max = -1, rand_max; for(i = 0 ; i < 10 ; i++) r[i] = rand(); for(i = 0 ; i < 4 ; i++){ rand_max = -1; for(j = 0 ; j < 10 ; j++){ if(r[j] > rand_max){ rand_max = r[j]; n_max = j; } } arr[i] = n_max; r[n_max] = -1; } 選択ソートの応用。 この場合はコード的にも計算量的にも誤差的にも使い物にならないけどw
131 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 17:14:32 ID:zA6Xag1Z] どのみち10の配列を確保するならarray[i]=iにした後シャッフルして 必要な桁だけ使うという手もあるな これだと重複ミスが起こりにくいし毎回決まった回数の処理で数字が決められる それにトランプゲームとかにも応用できるし、定番のswapを作る機会にもなる
132 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 19:38:05 ID:DKMQoCt4] 車輪の再発明をがんばらなくても、std::swapを使えばいいだけの話では? それ以前に std::random_shuffle を使えば一瞬なのでは?
133 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 19:39:32 ID:LzwzO4A7] 手順1 intで10個の要素を持つ配列を用意する (1から9までの数字しか使わないなら0の分抜かして9個の配列で) 各要素に0から9までの数字を入れておく 手順2 ランダムで0から9個までの数字を作る そのランダムの数字の要素を取り出す そのランダムの数字の要素を 最後の要素と入れ替える 手順3 ランダムで0から(9−1)までの数字を作る そのランダムの数字の要素を取り出す そのランダムの数字の要素を (最後ー1)個目の要素を入れ替える この時点で 例えば1度目のランダムが3、2度目のランダムが5の場合、 intの入っている要素の数字は [0,1,9,3,8,5,6,7,5,2] となっているはず って。これシスアドのテスト範囲にあったような気がする
134 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 19:41:22 ID:LzwzO4A7] あ〜。なんか誤字脱字酷いけど気にしないでね〜
135 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 19:59:16 ID:zA6Xag1Z] >>132 Cユーザーじゃないからその関数を知らなかったのです 勉強になった
136 名前:名前は開発中のものです。 mailto:sage [2008/12/29(月) 01:30:45 ID:hfGjo2/l] やり方は人によって千差万別やね 自分は>>106 の考え方が一番好きだ int ans[4]; for(int i = 0; i < 4; i++){ ans[i] = rand() % 9 + 1; if(ans[i] == ans[(i+1)%4] || ans[i] == ans[(i+2)%4] || ans[i] == ans[(i+3)%4]){ i--; } }
137 名前:名前は開発中のものです。 mailto:sage [2008/12/29(月) 19:09:23 ID:z5KMzts+] 配列の指数にどうして素直に数字を使わないの? int ans[4]; for(int i = 0; i < 4; i++){ ans[i] = rand() % 9 + 1; if(ans[i] == ans[0] || ans[i] == ans[1] || ans[i] == ans[2] || ans[i] == ans[2]){ i--; } }
138 名前:137 mailto:sage [2008/12/29(月) 19:10:15 ID:z5KMzts+] 思いっきしミスった。ゴメン。
139 名前:名前は開発中のものです。 mailto:sage [2008/12/29(月) 19:13:11 ID:z5KMzts+] あ。ミスッたのは、 指数が比較対照と同じになる部分で必ず等しくなってしまうから、 素直に数字を使えないんだって、 書いてる途中で気づいて自己解決したってことです。 重ね重ねゴメン。
140 名前:名前は開発中のものです。 mailto:sage [2008/12/29(月) 21:42:14 ID:hCBOt5BE] 条件6通り程度なら並べて比較してダメならやりなおせばいい、か。 素人くさいけどヘタウマというかカコイイ!! アリだと思います。 int i,a[4]; for{;;} for(i=0;i<4;i++)a[i]=rand()%9+1; if((a[0]!=a[1])&(a[0]!=a[2])&(a[0]!=a[3]) &(a[1]!=a[2])&(a[1]!=a[3]) &(a[2]!=a[3])) break; }
141 名前:名前は開発中のものです。 mailto:sage [2008/12/29(月) 23:10:08 ID:aUqRb6Dt] >>140 プログラムなんてのはトレードオフだからね。 何かを得れば、何かを失うもの。 確かに効率は良くない。 だが、見通しの良さ、わかりやすさは◎。 ところが、そのコードにはアレルギーを起こす人が多い。 なぜか? 特定の条件でループを抜ける、というのは、 無限ループを仕込む典型的な原因だからだ。 失敗にも、上手な失敗と下手な失敗があって、 明示的にエラーを吐いて終了 > 動くが挙動不審 > 無限ループ > 突然クラッシュ の順。 で、上手な人ほどよりよい失敗に落ちるようにする。 たとえばそのコードだと、&&を&に間違えている。 それが原因になっても、どこで腐ったのか見えにくい。
142 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 10:21:17 ID:4Lg4VVtC] いっそのことこれでいいじゃんもう int ans[4]; retry: ans[0]=rand()%9+1; ans[1]=rand()%9+1; ans[2]=rand()%9+1; ans[3]=rand()%9+1; if(ans[0]==ans[1]){goto retry;} if(ans[0]==ans[2]){goto retry;} if(ans[0]==ans[3]){goto retry;} if(ans[1]==ans[2]){goto retry;} if(ans[1]==ans[3]){goto retry;} if(ans[2]==ans[3]){goto retry;}
143 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 10:27:05 ID:4Lg4VVtC] 読む人に対する嫌がらせ while(1){flag=0;for(i=0;i<4;i++)ans[i]=rand()%9+1;for(i=0;i<3;i++)for(j=i+1;j<4;j++)if(ans[i]==ans[j]) flag=1;if(!flag)break;}
144 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 10:34:18 ID:t9a5j063] ゲームつくりの本質とは関係ないことで よくみんな書くよなw
145 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 14:31:15 ID:JKlPtp7s] 長期的にみたら大事なことなのです ねえな
146 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 15:22:16 ID:J3AJ9cNy] >>1 はいなくなったし>>118 みたいに課題をだしても批評されないし (118のソースはこなれていて突っ込むところがないが) 次の課題もないから話題がないせいだな >>1 じゃなくてもCじゃなくてもちょうどいいレベルの初心者がいれば 良スレになる可能性があるのに
147 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 15:56:56 ID:+lVIynAg] 実は、>>118 の memset(input,0,sizeof(input)); sprintf(fmt,"%%%d[1-9]",digits); scanf(fmt,input); scanf("%*[^\n]%*c"); の意味が分からなくて悩んでいるんだけど。 こういうの正規表現っていうんだっけ? こういうのを解説しているサイトみたいなのある?
148 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 16:07:44 ID:JKlPtp7s] scansetでぐぐればいいんじゃないか 正規表現のサブセットみたいなの
149 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 16:56:17 ID:k/oqyFbB] digits = 4だとして sprintf(fmt,"%%%d[1-9]",digits); で次の文字列が得られる char fmt[]="%4[1-9]"; scanf(fmt,input); でinputに'1'から'9'の文字を4文字だけ読み込む 他の文字や、4文字より多くの入力があると入力バッファに残るので scanf("%*[^\n]%*c"); で読み捨てる。入力文字の最後は改行文字なので "%*[^\n]"で改行文字まで読み捨てて、"%*c"で改行文字を読み捨てる。 入力バッファを空にすると次の入力もスムーズにおこなわれるってわけ。 wikipediaのscanfの項目によくまとまってるよ。
150 名前:名前は開発中のものです。 mailto:sage [2008/12/30(火) 17:02:39 ID:+lVIynAg] >>148-149 ありがとう。これで心安らかに年を越せます。
151 名前:名前は開発中のものです。 [2008/12/31(水) 15:24:44 ID:VYxP3E09] ゲームの画面ってどうやって作ればいいんですか??
152 名前:名前は開発中のものです。 [2008/12/31(水) 15:25:43 ID:VYxP3E09] オブジェクトとかを配置する画面の作り方がわかりません ちなみにC言語です
153 名前:名前は開発中のものです。 mailto:sage [2008/12/31(水) 16:45:26 ID:xHQ2htSH] ゲームとかツールちょこちょこ作ってるけど ここに書き込まれているプログラムの内容とか難しく感じる
154 名前:名前は開発中のものです。 mailto:sage [2008/12/31(水) 16:49:09 ID:nhGJ70sb] >>152 もう少し詳しく聞いたほうがいいかも? オブジェクトの配置ってことは、 それ以前の普通に画面表示するところはできてるのかな?とか。 絵的に複数のマップチップを背景画に配置するようなことなのかな?とか。 宝箱や扉のイベント用オブジェクトの作り方なのかな?とか。 手持ち品の入れ替えする時とかに別に開くような、 操作用別ウィンドウみたいのを配置するののことなのかな?とか。 >>153 ここはゲーム作りそれ自体よりも、ゲーム作りを通じて、 プログラミングの言語を理解するのが主目的みたいだね。 っていっても。まだ参加者少ないからこれから、 これからどうなるか分からないけど。こっそり勉強させてもらってます。
155 名前:名前は開発中のものです。 [2008/12/31(水) 17:44:21 ID:VYxP3E09] いろいろなものを表現する土台としての画面です キャラを表示したくてもどこにどのように表示するのかさえわかりません。。 入門書はゲームに無関係なC言語のものを読んでたのでまったくわかりまへん
156 名前:名前は開発中のものです。 mailto:sage [2008/12/31(水) 18:21:06 ID:MMS8KoX5] windowを表示したり、画像を表示したりする方法がわからないレベル? だったらまず>>127 のリンクのページを読むか 「Windows API」をググって出てくるHPを読むといいよ
157 名前:名前は開発中のものです。 [2009/01/01(木) 04:39:05 ID:LU3n6Iul] >>127 のサイトからVisual StudioっていうソフトをDLしたんですけど そのファイルの中のサンプルプログラム実行用フォルダに入ってるファイルがほとんど開けない状態になってるんですが どうすれば開けるようになりますか?
158 名前:名前は開発中のものです。 mailto:sage [2009/01/01(木) 10:04:51 ID:MDNTZvu6] >>127 のサイトは説明が不十分だ ここ↓でDXライブラリの設定をしないと使えない DXライブラリの使い方解説 homepage2.nifty.com/natupaji/DxLib/dxuse.html
159 名前:名前は開発中のものです。 [2009/01/02(金) 14:45:45 ID:2uMBMwue] @VC++用DXライブラリダウンロード ↓ AVisual C++ 2008 Express Editionダウンロード ↓ BVisual C++ 2008 設定 ↓ CWindowsプロジェクト(Win32プロジェクト)作成 ↓ Dプロジェクトにcppファイルを追加 ↓ Eプロジェクト設定 ↓ Fウィンドウ作成 ↓ G画像表示 流れはこんな感じ?
160 名前:名前は開発中のものです。 [2009/01/03(土) 01:00:46 ID:cGzTJz3u] VC++2008の中の2つのファイルが何度やってもインストールに失敗してしまいます・・ それとDxライブラリとかいうソフトの中のサンプルファイル実行用フォルダの中にあるDxLib_VC2008_and_2005用.slnっていうファイルが開けません・・ システムの復元とかやったり何度もやり直してみたけどだめですた
161 名前:名前は開発中のものです。 mailto:sage [2009/01/03(土) 01:30:21 ID:8KicIl/n] slnはvcインストールしないとだめだろ てかさ、だから何? 解決策が欲しいのか?それだとしても >2つのファイルが はないだろ。
162 名前:名前は開発中のものです。 [2009/01/03(土) 16:51:04 ID:cGzTJz3u] VCはあきらめてborlandでやり直しました っていうかもうすでにborlandを過去にインストールしてたのでこれが原因でVCをインストールできなかったのかもしれないです それで homepage2.nifty.com/natupaji/DxLib/dxuse_bcc.html の手順で”8.プロジェクトのビルド、実行”までいったんですけど実行すると6で作ったDrawPixel.cppが開けないというエラーが出ます ちなみにDrawPixel.cppを4で作ったtestファイルから出すとエラーではなくてfatalという表示が出て またDrawPixel.cppのところでdoes not exist - don't know how to make it とかいう常時がでるんですがどうすればいいのかさっぱりわかりません++;
163 名前:名前は開発中のものです。 [2009/01/03(土) 16:52:16 ID:cGzTJz3u] 常時 × 表示 ○
164 名前:名前は開発中のものです。 [2009/01/03(土) 17:39:20 ID:cGzTJz3u] 今プログラムからVC++2008エクスプレスエディッションとかいうのを起動してみたんですが起動できました これはインストールできてると思っていいんですか? でも相変わらずDxLib_VC2008_and_2005用.slnは開けません ダブルクリックすると一瞬砂時計は見えるんですがその後何も起こらないような状態です それとborlandに変更するときにDxLib_VCを削除しようとしたのですが他のユーザーかプログラムが使用しているので削除できませんという表示が出て削除できませんでした 何のプログラムが使ってるんですか?
165 名前:名前は開発中のものです。 [2009/01/03(土) 18:18:16 ID:cGzTJz3u] VC++の方の問題が解決しました とりあえずこっちでやっていこうと思います
166 名前:名前は開発中のものです。 mailto:sage [2009/01/03(土) 18:28:48 ID:LXo4lpsC] 入門書クリア前提と書いてあるのに、入門以前の奴がいつく不思議。 低学歴ってこういうところが図々しいんだよなぁ。
167 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 05:47:47 ID:8iog1RSe] ゲ製クオリティですね
168 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 08:50:13 ID:je6HotHc] ツール?に振り回されて全然進まないとか、よくあるパターンだなあ 本質理解せずにやり方だけ憶えたって、たいして上達しない気がする。 まるでツクールでゲームを作ってるような
169 名前:名前は開発中のものです。 [2009/01/04(日) 14:27:38 ID:zQBmDULY] homepage2.nifty.com/natupaji/DxLib/dxuse_vc2008express.html ↑これの3.プロジェクトの作成のところのCにある”場所”ってどこでもいいんですか? デフォルトでまったく関係ない場所にあるVC2008のフォルダの中のプロジェクトっていうフォルダに保存されるんですが その後プログラムを組んでいくとDXLibのサンプルプログラム実行用フォルダに入ってる画像ファイルを表示できないのですが・・・
170 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 14:34:04 ID:gz3s55od] 入門書をクリアしたかどうかもあやしい>>1 上級者気取りのチンカス野郎 PC入門書から読んできた方がいいハゲ もうだめだ
171 名前:名前は開発中のものです。 [2009/01/04(日) 15:09:39 ID:zQBmDULY] 表示する画像をvisualstudio内のプロジェクトフォルダにあるtestフォルダに入れると画像が表示されました これはDXlibとVC++がリンクできてないってことですか? 一応設定ガイドのとおりに進めてきたんですが唯一設定ガイドのとおりにできなかった点は DxLib_VC2008_and_2005用.slnからVC++を開けなかったことぐらいです なのでVC++を直接開いたんですがこれが原因だったんでしょうか・・・
172 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 16:38:36 ID:WqEDI8cx] スレタイにあるCの入門書クリア状態って 1.Cの文法を知っている状態 2.標準ライブラリを一通り知っている状態 3.APIを一通り知っている状態 4.その他、適切なライブラリを選んで使える状態 のうちのどれなんだろうか? Java、VB、HSPなどは1〜3まで切れ目なく1冊の 入門書に書いてあるけど Cの場合、1だけっていうのも結構あるような気がする いずれにしても>>171 は 0.PCが使いこなせる -1.日本語わかります の段階さえあやしいような気がするが
173 名前:名前は開発中のものです。 [2009/01/04(日) 16:45:09 ID:zQBmDULY] 入門書はどの入門書を読めばいいですか?
174 名前:名前は開発中のものです。 [2009/01/04(日) 16:46:17 ID:zQBmDULY] DxLib_VC2008_and_2005用.slnからVC++を開けない事に関しての対処法を知るにはどの入門書がお勧めですか??
175 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 16:47:24 ID:BrM7xX/4] >>1 は「はじめてのC」を一通り読んだだけ
176 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 16:48:15 ID:vNJyTbKi] 【義務教育完了前提】初心者用段階的ゲーム製作スレ
177 名前:名前は開発中のものです。 [2009/01/04(日) 16:51:04 ID:zQBmDULY] 横槍を入れてる人はいったい何のためにこのスレをみてるのですか? このソフト導入のところさえパスすれば後はここで聞くこともなくなるとおもうのですが・・
178 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 17:01:26 ID:vNJyTbKi] > 3.できるまで自分で調べて頑張る これが出来ないような人間に絡まれちゃった><
179 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 17:10:00 ID:vNJyTbKi] > 横槍を入れてる人はいったい何のためにこのスレをみてるのですか? ついでに答えておこう。 ただ煽りたいだけですから^^ 書かれた通りにやってここまで出来ましたが ここからは本に書いてないので出来ません^^; 自分で考えるのも面倒です><
180 名前:名前は開発中のものです。 [2009/01/04(日) 17:11:38 ID:zQBmDULY] だから書かれたとおりにできなかったので別のやり方でやったらつまったということなんですが・・
181 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 17:11:41 ID:phKiW/kW] ここは下の上ぐらいのやつが初心者を馬鹿にして自尊心を満たすスレだから気にするな
182 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 17:14:35 ID:vNJyTbKi] 自己紹介乙っす
183 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 17:18:38 ID:vNJyTbKi] つーか、場所ってどこでもいいんですか? なんて聞いちゃうレベルの奴はDXライブラリ使う前に コンソールでジャンケンゲームでも作ってろよ 質問したいだけなら他のスレがあんだろw
184 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 18:17:54 ID:f8v2HP5/] >>169 どこでもいいです。 私は「マイドキュメント」以下に保存しておくのが望ましいと思います。 画像ファイルが表示できないとのことですが、何かエラーメッセージは表示されていませんか? 画像ファイルのファイル名の指定を変更する必要があるかもしれません。 相対パスではなく、絶対パスで指定してみてはいかがでしょうか。
185 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 18:39:20 ID:c/UGKimf] 「DxLib .sln」でググったらまったく同じ質問が引っかかるんだが ちゃんと調べて試した上で質問しているのかな?
186 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 21:47:04 ID:y/OXv3G4] その程度自分で解決できないようじゃこの先絶対詰まると思うな
187 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 03:39:55 ID:+gOec/oi] 初心者こそ2chじゃなくて、ぐぐる方に粘着力を発揮するべきなんだけどな ぐぐって出て来ないのが続くと不安になっちまうのかしらねw
188 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 18:17:32 ID:bFiw377J] ゲームのループのところまで整えたけど何作ればいいかわからない とりあえず画面に文字表示した
189 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 18:49:22 ID:8qPbFVnr] >>188 これなんてどう? ゲーム名:ナベアツゲーム ルール: マウスをクリックするたびに数字が増える 3の倍数と3のつく数字の時には右クリック、それ以外は左クリックを正解とする 不正解の時には何らかのペナルティ(方法は自由) 制限時間内にできるだけ数字を増やす 課題の目的:マウス入力や時間処理の基礎を学ぶ
190 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 21:44:02 ID:TTfreMdG] なかなか面白そうw
191 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 22:28:31 ID:bFiw377J] そういうのってポトペタ出来るやつで作った方が明らかに効率的だよね 何か疑問抱き始めたんだけどwww
192 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 22:47:23 ID:TTfreMdG] ポトペタってなに?
193 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 23:07:11 ID:07Sg+bJ8] >>191 作るのが目的じゃなくて作り方を勉強するのが目的だからな 他の言語でやったほうが効率がいいとかの議論は無意味、 というかそれ以前に言語は指定していない(>>188 の環境とか知らんし) どんな言語でも画面に文字を表示できたら次の段階は入力で表示を変えることだ
194 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 15:57:35 ID:wOTyk9Ws] >>192 ポットペッター 色んなお店のクーポンがいっぱい付いてるやつ
195 名前:名前は開発中のものです。 [2009/01/16(金) 11:49:40 ID:yiTw/vGB] dixq.net/g/#29 ↑の跳ね返りの考え方1っていうところのソースを解説できる人いる?? 主に if(flag==1){ time2 = GetNowCount() ; // 現在経過時間を得る t = (double)(time2 - time1) / 1000.000; v0= sqrt ( 2.000 * g * y_max); //初速度を計算 for(i=0;i<j;i++) //j回跳ね返った時の初速度 v0*=e; //eは反発係数 y = (int)((v0 * t - 0.500 * g * t * t ) * 480.000 / y_max); if(y>=0) DrawGraph( 320 , 480-32-y , image[8] , TRUE ); else{ DrawGraph( 320 , 480-32 , image[8] , TRUE ); time1=GetNowCount(); j++; } } このあたりとか意味不明すぎ
196 名前:名前は開発中のものです。 mailto:sage [2009/01/16(金) 13:44:50 ID:eKNbfSz5] >>195 基本的には物理でよくある問題 「初速度v0, 加速度-g, の物体のt秒後の位置を求めなさい」 を地で解いてる if ( flag==1 ){ // 今は何秒後? time2 = GetNowCount(); t = (double)(time2 - time1) / 1000.000; // 初速度v0 の計算 v0= sqrt ( 2.000 * g * y_max); //(ジャンプの考え方1を参照 dixq.net/g/#27 ) for ( i=0; i<j; i++ ) { v0*=e; } // 現在の高さy を計算 y = (int)((v0 * t - 0.500 * g * t * t ) * 480.000 / y_max); if ( y>=0 ) { // 着地してなければ、順調に落ちる DrawGraph( 320 , 480-32-y , image[8] , TRUE ); } else{ // 着地したなら…… DrawGraph( 320 , 480-32 , image[8] , TRUE ); // 画面下端にキャラクタを表示 time1=GetNowCount(); // 時間をリセット j++; // 跳ね返った回数を1増やす } }
197 名前:名前は開発中のものです。 mailto:sage [2009/01/16(金) 15:05:07 ID:yiTw/vGB] なるほど! v0*=e;の部分に{}がなかったからそこ以下が全部forの繰り返し処理にふくまれてるのかと思ってめちゃくちゃ複雑に考え込んでた
198 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 12:09:23 ID:CHnPFsm9] 質問ですが、RPGの戦闘はif文を使っているんですか? それだと多人数vs多人数の場合は処理を書くのがかなり大変だと思うのですが・・・ 教えていただけたら幸いです。
199 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 14:32:01 ID:nMkjmCv8] >>195 参考にするにはちょっと…なソースだな マジックナンバーだらけ コメントで察しろというのは乱暴で嫌いだ
200 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 15:22:57 ID:0Ylj0E2s] >>198 ターン制の戦闘を想定する場合、 敵、プレイヤのデータをカードに書いて置いて、 「プレイヤのコマンド入力」→「敵のコマンド入力」→「攻撃順にカードを並べる」→ 「カードの順番にカードに対応する各キャラクタが行動する」→「最初にもどる」 みたいな感じでどうよ。 敵が100人だろうと1000人だろうと問題ないね。 C++だと、カードっていうスーパークラスがあって、 プレイヤや敵はそのクラスを継承して、ポリモーフィズムを形成してうんたらかんたら
201 名前:名前は開発中のものです。 mailto:sage [2009/01/18(日) 16:19:05 ID:p3BsxAdP] >>198 if文を使っているか使っていないかといわれれば使っているが 当然それだけで制御しているわけじゃない あと、人数が増えてもキャラにIDをつけてforで回せばいいので大変さは変わらない 参考(javaのRPG戦闘ソース) ttp://www.geocities.co.jp/SiliconValley-Cupertino/9261/source/index.html C++でもアルゴリズムは同じ
202 名前:名前は開発中のものです。 [2009/01/29(木) 07:20:21 ID:ETfSP+cE] dixq.net/g/#33 ↑のs2. サウンドノベル風文字列表示法1にあるプログラムの for(j=0;j<256;j++){ if(oldKey[j]==0 && Key[j]==1) Key[j]=2; oldKey[j]=Key[j]; } って何を意味してるの?
203 名前:名前は開発中のものです。 mailto:sage [2009/01/29(木) 10:03:40 ID:xirprjZ5] >>202 キー入力状態に変化があったかどうかを調べてる。 特に、「押してない状態(0)」→「押してる状態(1)」に変化しているなら、 「今押された(2)」ってことにしてる。 てかリンク先間違ってるだろそれ。
204 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 00:05:49 ID:YuEFv8kY] 2Dのアクションゲームを作ってるんですが、斜め方向のマップの当たり判定はどうやったらいいんでしょうか 今までマップチップ単位でキャラとマップの当たり判定をやってたんですがこれだと傾斜のあるマップに対応できないです。 マップチップとは独立してドット単位で当たり判定のデータを用意するくらいしかないでしょうか
205 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 09:04:49 ID:CC1OIocp] >>204 難しいこと考えてるなあと。 マップチップでは管理しきれないと思う。ドット単位というのも無茶な話。 キャラ(オブジェクト)単位での当たり判定になるね。 「14歳からはじめるC言語ゲームプログラミング」 www.rutles.net/books/217.html この本のサンプルが、そのものずばりで解決してくれると思う。 ソース無しのサンプルゲームはDLできるので、これ見て役に立ちそうならどうぞ。
206 名前:名前は開発中のものです。 mailto:sage [2009/06/22(月) 23:33:49 ID:PR8N99oV] 段階スレのまとめって今はどこなの?
207 名前:名前は開発中のものです。 mailto:sage [2009/06/23(火) 01:02:00 ID:dkvBYAOU] gamedevは新しくなってる ttp://wiki.game-develop.com/
208 名前:名前は開発中のものです。 [2009/09/08(火) 11:21:57 ID:yapzJvXF] 初学者にやさしいゲームってどういう順番で作るのがいい? ○1.○×ゲーム ○2.15パズル 敵が無い、思考ルーチン考えないでいいぶん2のほうが楽かな。 ○3.マインスイーパー 4.ブロック崩し 5.倉庫番 6.テトリス : : ○は作った。次は倉庫番かと思ってたけど、DXライブラリがバージョンアップして 描画改善に伴いマウスの反応が良くなったからブロック崩しに行こうかと。 7以降とか2.5相当とか、追加あったら応援おねがいしたい。
209 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 11:29:49 ID:6MhMNrx0] 自分が作りたいゲームで作れそうなの作れば
210 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 12:09:38 ID:eLuVrXen] >>200 >C++だと、カードっていうスーパークラスがあって、 ここの所もうちょい詳しく そういうクラスが標準で用意されてるのかと思ってググってみたんだけど、全然ヒットしないです これは基底クラスを自前で作ってそこから派生させろという話?
211 名前:名前は開発中のものです。 [2009/09/09(水) 14:17:10 ID:vKyxO6xF] >>210 自分で作るんだよ。 たとえば「戦士は敵Aを攻撃」「魔法使いは呪文で全体攻撃」とか、行動の記録を構造体の配列なんかで持たせて 全部出揃ってから素早さ順なんかでソートする。 200のやり方はこのカードからプレイヤーや敵のクラスを継承させるみたいだけど 俺はキャラデータからカードを完全に分離させて、カードの仕事は行動解釈だけに絞るほうが好み。
212 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 21:51:16 ID:UMpltBwW] >>211 ありがとうございます >>200 は「カードっていうスーパークラスを作って」の意味でしたか
213 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 05:17:35 ID:kGLDkUja] C言語でちょっと数値計算できる程度の実力ですがC++でゲーム制作に挑戦することにしました。 とりあえず数当てゲーム作ったけど、数字じゃなくて文字が入力された場合の例外処理がよくわからなくて棚上げ ひとまず次頑張ってみます
214 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 05:56:42 ID:tenDfojw] 標準関数のisdigit使えば何とかならん?
215 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 08:18:06 ID:kGLDkUja] aとかaaaとかは抜けれるようにできましたが1aとかがまだでした 一回寝てからもう少し頑張ります
216 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 13:45:22 ID:/Wz8dUNK] atoiの存在に今気付いた isdigitなんか使う必要ねーじゃん
217 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 13:59:20 ID:yWA5tZHN] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9961.zip けっこう連続入力とか嵌るんだよな
218 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 16:08:36 ID:ryAGnP+G] ご丁寧にありがとうございます とても参考になりました
219 名前:名前は開発中のものです。 [2009/10/12(月) 09:30:46 ID:fQgZRfDp] C言語暦約一ヵ月半、winapi暦2週間の初心者ですが、練習のために>>7 に挑戦してみました。 www1.axfc.net/uploader/Sc/so/44791.zip ソースはあまりにもぐちゃぐちゃなので恥ずかしいので載せてません。 載せたほうがいいですか? いちおうそれっぽいのはできたんですが、一点うまくいってないところがあって、敵の動きがうまくいきません。 敵位置を配列にしてるんですけど、for文で、敵[i]をまず消して、敵[i]の位置情報を変えて、敵[i]を再描画する、という順序なんですが、 敵[i-n]が移動した先が敵[i]の移動前の位置だとするじゃないですか。 すると、敵[i]の移動に伴って、敵[i-n]が消えちゃうんですよね。 かといって、まず全部敵を消してから位置情報を変えて、改めて全部の敵を表示するようにすると、こんどは敵が消えている時間帯が多く発生するので、画面がなんかちかちかするんですよ。 どうやって解決したらいいんだろう?
220 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 10:41:42 ID:PNg7pEvy] >>219 後者のやりかたの発展になるけど、裏画面に画像を用意してWM_PAINTのタイミングで入れ替える。 ホワイトボードの裏側に回って絵を描いて、合図がきたら裏返すイメージ。 ダブルバッファリングとかオフスクリーン描画とかで調べるといい。 C系のWindowsでゲーム作るなら必須の知識になる。 しかし1ヵ月半でここまでできるのはすごいな。
221 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 06:26:55 ID:5kHMShZk] >>220 ありがとうございます。 www1.axfc.net/uploader/Sc/so/45746 こうなりました。 どうでしょうかね? もとがぐちゃぐちゃなので直すのに結構苦労しました。 ついでに、敵に当たっても移動できてしまうのを直しました。
222 名前:名前は開発中のものです。 mailto:s [2009/10/23(金) 09:54:20 ID:r4hfvq6d] カソル
223 名前:名前は開発中のものです。 mailto:sage [2009/12/07(月) 01:50:47 ID:cfqCdEHC] あのさ、ActionScript3で質問なんだが、 FLASHってゲームループの概念なし? それともEnterFrameとかタイマーイベント使ってやるのか? イマイチピンとくる説明が検索でけんかった。
224 名前:名前は開発中のものです。 [2009/12/08(火) 17:07:56 ID:cuTUnnQj] 空気を読まずにお題を出してみる。 下記のデータ(ソース)がある。 const int max_choice_num = 3; /* シーン */ struct Scene { const char* const message; /* メッセージ文 */ int choice_num; /* 選択肢の数(0= 終了, 1= 強制移動, 2> 選択) */ int next[max_choice_num]; /* 次のシーンID */ }; /* シーンデータ(添え字がID) */ const Scene scene_data[] = { { "よくきた、勇者よ\n", 1, 1, }, { "魔物を退治してくれんか?\n0: 任せてください\n1: いやです\n", 2, 2, 3, }, { "では、行ってまいれ!勇者よ!\n", 0, }, { "そんなこと言わずに・・・\n", 1, 1, }, };
225 名前:224 [2009/12/08(火) 17:09:39 ID:cuTUnnQj] 実行すると よくきた、勇者よ 魔物を退治してくれんか? 0: 任せてください 1: いやです > 1 <- 入力待ち そんなこと言わずに・・・ よくきた、勇者よ 魔物を退治してくれんか? 0: 任せてください 1: いやです > 0 <- 入力待ち では、行ってまいれ!勇者よ! となるようなプログラムを書け。
226 名前:名前は開発中のものです。 mailto:sage [2009/12/08(火) 21:47:41 ID:dR/37Ta8] プログラムつうより普通スクリプトでやる処理だわな
227 名前:224 [2009/12/08(火) 23:54:51 ID:LCrDR7+W] >226 これができたら、データを外部ファイルに出して処理してみるとか ステップアップしていくと勉強になるかなと思ったんだけどね。 少しがんばればコンソールで簡単なテキストADVが作れるってのが 分かればモチベーションも上がるかなと思ったんだ… つか過疎ってるから模範解答を出すタイミングが難しいな。
228 名前:224 [2009/12/12(土) 16:11:25 ID:W7i0pvEF] 模範解答。エラー処理とか一切してません。 int main() { const Scene* active = NULL; const Scene* next = &scene_data[0]; do { active = next; printf("%s", active->message); if(active->choice_num == 1) { next = &scene_data[active->next[0]]; } else if(active->choice_num >= 2) { int index; printf("> "); scanf("%d", &index); next = &scene_data[active->next[index]]; } } while(active->choice_num != 0); return 0; }
229 名前:名前は開発中のものです。 [2010/05/27(木) 17:19:08 ID:cXVnDiqT] 保守age