ページ 1 / 1
無題
Posted: 2010年4月04日(日) 10:26
by パプリカ
初心者なのですが今、ゲームプログラミングをしたいと思っています。
それで、14歳から始めるC言語ゲームプログラミングと言う本を買ったのですが、
全然ゲームプログラミングのところが理解できません。
その本の前の章では、普通のプログラミングでした(変数や配列など)
これは理解できました。どうしたらゲームプログラミングを
こなせるようになりますか?
一番最初になんのゲームを作ったらいいですか?
初心者からの質問
Posted: 2010年4月04日(日) 10:27
by パプリカ
タイトル忘れ
Re:初心者からの質問
Posted: 2010年4月04日(日) 11:09
by Ma
その本買ってないので、その章についてはアドバイスできませんが、他のことならアドバイスできるかも。
>一番最初になんのゲームを作ったらいいですか?
じゃんけんゲームが一番簡単だと思いますよ。
じゃんけんが簡単すぎるなら、難易度上昇順でマインスイーパ、ブロック崩し、オセロ、テトリス等。
あと、なにより重要なのは、自分が作ってみたいと思うゲームを作ることかな。
私の場合、じゃんけんゲーム作った後は、すでにあるゲームはあまり面白くないので、自分で考えたカードゲームとか作りましたね。
文字列でちょっと3Dなタイトル作ったりトランプのカードを作るのが、楽しかったですねw

Re:初心者からの質問
Posted: 2010年4月04日(日) 11:11
by fatens
まずはじゃんけんゲームとかはどうでしょう。
自分の手を入力し、相手の手はランダムに決めます。
これを10回行い、最後に勝敗と勝率を表示します。
(あいこになったときの動作は好きにしてください)
これだけでも、条件分岐や繰り返し、乱数などゲームの基本的な要素が含まれています。
Re:初心者からの質問
Posted: 2010年4月04日(日) 11:37
by softya
まず始めはゲームになっていなくても良いので、画像が左右に動くとか円運動するとかあたりから始めてみたらどうしょうか?それをどんどん発展させていく形で勉強します。
Re:無題
Posted: 2010年4月04日(日) 11:52
by バグ
あの本は『C言語の入門書』ではなく、C言語を使った『ゲームプログラミングの入門書』ですからね…。
一応、申し訳程度に完全な初心者向けの説明も載ってはいますが、『C言語の入門書』としては物足りないですよね。
Re:初心者からの質問
Posted: 2010年4月04日(日) 12:05
by パプリカ
皆さんありがとうございます。
こんな初心者に教えてくれて。
じゃんけんゲームの解説が載っているサイトはありませんか?
Re:初心者からの質問
Posted: 2010年4月04日(日) 12:09
by softya
>じゃんけんゲームの解説が載っているサイトはありませんか?
ただの人間対コンピュータのジャンケンですよ。
まずルールを明確に文章化出来るかがプログラミングの手始めです。
入出力を意識してルールを文章でここに書いてみてください。
※ サンプルを見るにしても始めにどれだけ考えてみたかで理解力がだいぶ違ってきます。まず、考えられるだけ考えて見ましょう。

Re:初心者からの質問
Posted: 2010年4月04日(日) 12:38
by パプリカ
プレイヤーがグー・チョキ・パーを入力する。
コンピュータがグー・チョキ・パーを乱数で決める
勝ちか負けか判定
あいこの処理
勝ち負け表示
続けるか確認
続けるなら最初から
終わるなら、今までの合計得点表示(勝ち/負け)
終わり
と言う具合になればいいと思っています。
ただ全然プログラムが思いつきません
Re:初心者からの質問
Posted: 2010年4月04日(日) 12:55
by Ma
その様子だと
ゲームプログラミングから始めるのではなく、C言語入門から始めるべきです。
ゲーム作りながら勉強できなくもないですが、ひどい効率になりますので、ネットで検索してヒットするC言語入門サイトをひとつ選んで、全章やるべきです。
数日で全部読みきれるので、効率をあげるための悪くない寄り道いえ寄るべき道だと思いますよ。
Re:初心者からの質問
Posted: 2010年4月04日(日) 12:57
by fatens
>ただ全然プログラムが思いつきません
では、一度だけ勝負するものの骨組みを書いてみます。
勝敗の判定はとりあえず全てのケースを書いてみましょう。
ちなみに、じゃんけんの手はそれぞれに対応した数値を用います。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
/* 乱数系列の初期化(srand 関数) */
/* プレイヤーの手を入力(scanf 関数) */
/* コンピュータの手をランダムに決定・表示(printf 関数、rand 関数) */
/* 判定を羅列(if 文)、勝敗を表示(printf 関数) */
return 0;
}
これができないようなら、私ももう一度勉強することをお勧めします。
投稿時間がまたMaさんの2分後...

Re:初心者からの質問
Posted: 2010年4月04日(日) 13:05
by softya
Re:初心者からの質問
Posted: 2010年4月04日(日) 13:14
by パプリカ
皆さんはどのサイトがオススメですか?
1つお願いします。
あと
どの程度Cができるようになったらゲームプログラミングを始めたらいいですか?
Re:初心者からの質問
Posted: 2010年4月04日(日) 13:26
by Ma
「C言語入門」
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
が、比較的初心者にやさしいとおもいます。
>どの程度Cができるようになったらゲームプログラミングを始めたらいいですか?
入門サイトを一通り理解しながら全部読み終わったら、が適当なタイミングだと私は思います。
「ただし」、DXライブラリを使うならの話です。
じっくり、くわしく、ひろく(つまりたくさん)ならば
「猫でもわかるプログラミングのサイト」C言語編
http://homepage2.nifty.com/c_lang/
がおすすめ(かつ人気)ですが、正直ゲームプログラミングするだけなら使わない知識の章がいくつかありますので、
個人的には初プログラミングの人にはあまり向かないサイトな気もします。

Re:初心者からの質問
Posted: 2010年4月04日(日) 13:26
by softya
>皆さんはどのサイトがオススメですか?1つお願いします。
私は苦Cだと思いますが、猫でもわかるプログラミングも人気があります。
こればかりは、好みの問題です。
>どの程度Cができるようになったらゲームプログラミングを始めたらいいですか?
ゲームプログラムのコードが読めるかどうかです。
1.C言語の勉強。関数や配列ぐらいまでは最低限。
2.ゲームプログラムのコードを読んでみる。
3.C言語の文法で理解できないなら1.へ戻る。
4.更に難しいゲームプログラムのコードを読んでみる。
5.C言語の文法で理解できないなら1.へ戻る。
Re:初心者からの質問
Posted: 2010年4月04日(日) 14:57
by dic
逆にどの程度できるのですか?
Re:初心者からの質問
Posted: 2010年4月04日(日) 15:11
by たかぎ
初心者といっても、何に対してどの程度の初心者なのかにもよりますね。
具体的には、Cプログラミングをこれから学ぼうというのであれば、本来ならPCの操作やコンピュータの動作原理ぐらいはわかっていて当然の素養だといえます。
PCの操作が分かっていなければ、環境変数の設定方法がわからないとか、コマンドプロンプトの使い方がわからないとか、そういったCプログラミング以前のところでつまづきます。こうした基礎抜きに統合開発環境に手を出しても持て余すだけで、かえって基礎力の習得を阻害します。算数を覚え始めた小学生に、便利だというだけの理由で電卓を使わせるようなものですから。
コンピュータの動作原理がわかっていなければ、ポインタがわからないとか、(初歩的な)メモリ管理がわからないとか、本来ならそんなに難しくないはずのところでつまづきます。
PCの操作もわからず、コンピュータの動作原理もわからず、結果としてCも使いこなせないままゲームプログラミングに手を出そうとしても、雰囲気を味わうことぐらいはできても、それ以上は手も足も出ません。
「柔道でオリンピックに出たい」といって、基礎体力も付けず、受身の練習もせず、礼儀作法も身に付けないまま、いきなり試合に臨んでも、大怪我をするのがオチですね。プログラミングも似たようなものです。
Re:初心者からの質問
Posted: 2010年4月04日(日) 15:32
by パプリカ
PCについてはあまり詳しくありません。
話が変わりますがたかぎsが柔道でオリンピックに出たいと書いていますが
パプリカは学校で柔道をやっています
なので読んで笑ってしまいました。
話が戻ります
PCについてですが、ほとんど分かりません。
なのでメモリやポインタなどで分からなくなります。
今はちなみにBcc Developer 1.2.21を使っています。
なのでコマンドプロンプトの使い方が一切分かりません
コマンドプロンプトでCが動いていることは分かるのですが、
どう使うか分かりません。
大変です。
皆さんは独学ですか?
独学ならばどうしてプログラミングを始めようと思ったのか
教えてください
お願いします
Re:初心者からの質問
Posted: 2010年4月04日(日) 17:25
by たかぎ
> 皆さんは独学ですか?
Cは完全に独学ですが、それ以前にアセンブリ言語をやっていましたし、ハードウェアのことも一通り勉強しました
一週間ほど真剣に取り組めば、それなりの素養は得られますので、ちょっと遠回りをしてみてはどうですか?
Re:初心者からの質問
Posted: 2010年4月04日(日) 17:47
by Tororo
14才の・・・を呼んでも呼んでも何一つわからなかったので、猫の所を最初から全部読みました。
それからもう一度、本を見たらよくわかるようになりました。
それからは色々なサイトを見ていったり、本を図書館で読んだりしました。
Re:初心者からの質問
Posted: 2010年4月04日(日) 18:11
by パプリカ
苦C言語と猫ってどっちが分かりやすいですか
個人的な意見でもかまいません
あとなるべく理由もそえてお願いします
こんなぴよぴよにいろいろな意見をくださり
ありがとうございます
Re:初心者からの質問
Posted: 2010年4月04日(日) 18:35
by sizuma
僕は苦Cの方が見やすくて好みです。
書籍派なので、勉強でWebサイトは使いませんけどね。
熟読したいページがあれば、印刷して紙媒体にしてから読みます。
上の投稿を見ると、ジャンケンゲームでどんな処理をすればいいのかは分かっているようですね。
プログラミングに慣れればすぐできると思いますよ。
Re:初心者からの質問
Posted: 2010年4月04日(日) 18:43
by パプリカ
やさしいお言葉ありがとうございます
Re:初心者からの質問
Posted: 2010年4月04日(日) 20:31
by パプリカ
じゃんじゃん募集中。
僕はちなみに中2です。頭は悪くは無いほうです。
ただ、プログラミングのことになると
頭が固くなります。
ははは・・・
柔道部です。
Re:初心者からの質問
Posted: 2010年4月04日(日) 21:04
by sizuma
どこでもいいから基礎なんてさっさと一度通っておけばいいと思いますよ。
どうせ使おうと思ったらまたその都度、参考にすることになると思います。(そしてまた最初からやり直すことに・・・)
休みで時間があるなら2・3日で文法をさらうことぐらい出来るでしょう。
一応上の方の質問にも回答を
>皆さんは独学ですか?
Cは独学です。
学校でアルゴリズムを習った後だったので、すんなり入れました。
フローチャートをかく練習がいい入門になりましたね。
フローチャートとは
http://homepage1.nifty.com/Iruka/nifty/ ... page2.html
分岐、繰り返し、処理の3つがあれば、そのままC言語のプログラムがかけます。
例えば
2つの数a,bを比べて、大きい数をa、小さい数をbに代入するフローチャートを書く
とかね。
じゃんけんゲームのフローチャートを書いてみると、いい勉強になると思います。

Re:無題
Posted: 2010年4月04日(日) 21:24
by あ~る
僕は14歳から始めるゲームプログラミングの本を読んで、そっから龍神録の館で勉強して、特につまづく事も無かったので何がわからないかわからないのですが…
ただとりあえず、じゃんけんゲームは14歳からはじめるC言語ゲームプログラミングに書いてあるC言語の基礎の内容(ゲームプログラミングに入る前の内容)でも、理解してれば十分出来るので、「C言語の基礎の部分は理解出来た」と言ってますが理解出来ていない可能性が高いです
C言語の基礎をしっかりと学ぶのは凄く賛成なのですが(僕自身たかぎさんの言う通りポインタとかかなり危ないですし)その際今までと同じ勉強方だと、また理解した気にだけなって理解出来ていない、なんていう風になる可能性があります。
そうなると、費やした時間は全部無駄、という事になってしまうので、勉強法を一度見直した方がいいかもしれません
僕は15歳からプログラミングを始めたんでパプリカさんの方が一年早い、つまり一年分多くの可能性が僕よりある訳です
がんばって下さい(^-^)
Re:無題
Posted: 2010年4月07日(水) 13:09
by asd