C言語学習中の超初心者です。これからの学習の指針についての相談です。
「やさしいC」(高橋麻奈)という本を読んでいます。
構造体の部分もほぼ読み終わり、あとは入出力を残すのみとなっています。
練習問題も解けますし、書いてあることも理解はできるのですが、どうもまだ慣れていない、というか演習量が不足している気がします。
そこで「やさしいC」を読了したあとについて、どうすればいいか? という点です。
最終的にはシューティングゲームや格ゲーなんかを作ってみたいです(ただし、仕事としてのプログラマーを目指している、というわけではありません)。
ただ、なんとなく教本を1冊読んだだけで、いきなりDXライブラリに入るのはいささか背伸びをしすぎな気もします。
「やさしいC」→?→「DXライブラリ」
の間のクッションとしてなにか「これをすべき」みたいなことがあればご教授ください。
演習本や教本でもいいですし、「こういうものを作ってみたら?」的なものでもいいです。もちろん「DXライブラリに直接いって大丈夫」というものでも歓迎です。
ちなみにコマンドプロンプト上で動くテトリス、カードゲームなども興味があります。
なお、ゲーム以外では将来的にはC++やwindowsプログラミングもできるようになりたいと考えています。
いろいろと選択肢が多い中、いったいどういう順序で学習するのが効果的でしょうか? 短期的視野でも長期的視野でもアドバイスをいただけますと大変助かります。
よろしくお願いいたします。
これからの学習の指針について
Re:これからの学習の指針について
私はC→C++→WindowsAPIという順序で学習しました。
WindowsAPIをやり始めてからは、ウインドウが作れたり、画像が表示できたりして
どんどん楽しくなっていきました。
私はまだC言語を始めてから一ヶ月ちょっとしか経ってませんが、C言語とWindowsAPIだけで
簡単なシューティングゲームが作れるまでになりました。
今はさらに上を目指してDirectXを勉強中です。
C言語からDXライブラリに入っても、ゲームは作れると思いますが、Windowsの仕組みをあまり
理解せずにゲームが作れてしまうので、私はあまりお勧めしません。
単にゲームが作りたいのであれば、DXライブラリをすぐやり始めても良いと思います。
参考になれば幸いです。
WindowsAPIをやり始めてからは、ウインドウが作れたり、画像が表示できたりして
どんどん楽しくなっていきました。
私はまだC言語を始めてから一ヶ月ちょっとしか経ってませんが、C言語とWindowsAPIだけで
簡単なシューティングゲームが作れるまでになりました。
今はさらに上を目指してDirectXを勉強中です。
C言語からDXライブラリに入っても、ゲームは作れると思いますが、Windowsの仕組みをあまり
理解せずにゲームが作れてしまうので、私はあまりお勧めしません。
単にゲームが作りたいのであれば、DXライブラリをすぐやり始めても良いと思います。
参考になれば幸いです。
Re:これからの学習の指針について
C言語の演習をするにあたって、ゲームを製作することはかなり有効だと思います。
ゲーム制作には、言語のあらゆる機能が幅広く要求され、応用力も求められるので、
ほぼ確実といっていいほど、プログラミングの技術は身につくはずです。
DXライブラリは、C言語を理解していれば(厳密に言えばC++言語の理解も必要ですが)使うのは非常に簡単です。
最初からDirectX、WindowsAPIを使用したりすると、それらの理解に時間を取られたり、
もしくは、Cの理解度に関係なく、それらが理解出来ないが故にゲームが作れないという事態も考えられるので、
純粋にCの勉強にならない可能性も考えられます。
ですから、個人的には最初からDXライブラリを使用して構わないと思います。
加えて、ゲーム製作の経過において、Cの各機能の利便性に気づいたり、
C++で加えられる新機能の利便性が簡単に理解できたりすることもあり、
C→DXライブラリ→C++→WindowsAPI/DirectX
という流れで学習するのが良いのではないかな、と個人的には思います。
なにより、「好きなことをする」ことは非常に重要です。そして、目標を持つことも重要です。
モチベーションを維持できていれば、何かに躓いた時に挫折することも少なくなります。
ゲームを作りたいという強い願望があるなら、それをするに越したことはありません。
ゲーム制作には、言語のあらゆる機能が幅広く要求され、応用力も求められるので、
ほぼ確実といっていいほど、プログラミングの技術は身につくはずです。
DXライブラリは、C言語を理解していれば(厳密に言えばC++言語の理解も必要ですが)使うのは非常に簡単です。
最初からDirectX、WindowsAPIを使用したりすると、それらの理解に時間を取られたり、
もしくは、Cの理解度に関係なく、それらが理解出来ないが故にゲームが作れないという事態も考えられるので、
純粋にCの勉強にならない可能性も考えられます。
ですから、個人的には最初からDXライブラリを使用して構わないと思います。
加えて、ゲーム製作の経過において、Cの各機能の利便性に気づいたり、
C++で加えられる新機能の利便性が簡単に理解できたりすることもあり、
C→DXライブラリ→C++→WindowsAPI/DirectX
という流れで学習するのが良いのではないかな、と個人的には思います。
なにより、「好きなことをする」ことは非常に重要です。そして、目標を持つことも重要です。
モチベーションを維持できていれば、何かに躓いた時に挫折することも少なくなります。
ゲームを作りたいという強い願望があるなら、それをするに越したことはありません。
Re:これからの学習の指針について
私の場合はC言語でRPGを作りたいと思い、Cの本を一冊マスターした後にまずはCUIでRPGを作りました。
しろさんのように私もCの基本の本を1冊やったからと言ってGUIは背伸びしすぎだ、と感じたからです。
その後にDXライブラリを用いてGUIのゲーム作りをし始めました。
シエルさんが仰るようにゲームを作るということが目的ならば、DXライブラリを使うだけでいいと思います。ですが、しろさんはWindowsでゲーム作り以外にもソフトを作りたいと仰っているようですのでWindowsAPIも必須になってくるかと思います。ちなみに私は現在ゲームに必要な物を作るためのツールを製作中ですが、WindowsAPIを学んでいないため苦労しています。
とりあえず、今後の方針としてはCを扱うことに慣れるためにCUIで何かを作ってみてはどうでしょうか?
(例えば、オセロやポーカーなどのボードゲームなど)
CUIといってもゲーム作りなので楽しくCの知識を深めることができますよ(^^
しろさんのように私もCの基本の本を1冊やったからと言ってGUIは背伸びしすぎだ、と感じたからです。
その後にDXライブラリを用いてGUIのゲーム作りをし始めました。
シエルさんが仰るようにゲームを作るということが目的ならば、DXライブラリを使うだけでいいと思います。ですが、しろさんはWindowsでゲーム作り以外にもソフトを作りたいと仰っているようですのでWindowsAPIも必須になってくるかと思います。ちなみに私は現在ゲームに必要な物を作るためのツールを製作中ですが、WindowsAPIを学んでいないため苦労しています。
とりあえず、今後の方針としてはCを扱うことに慣れるためにCUIで何かを作ってみてはどうでしょうか?
(例えば、オセロやポーカーなどのボードゲームなど)
CUIといってもゲーム作りなので楽しくCの知識を深めることができますよ(^^
Re:これからの学習の指針について
MNSさんの意見に賛成です。
一点だけ補足すると、DXライブラリで使うのは、Cではなく、あくまでもC++です。
Cの知識だけでも使えますが、そのことと、実際に使うのがCかどうかとは別の話なのです。
ここを混同してしまうと先々の不安要因になりますので、自分が使っているのがなんというプログラミング言語なのかだけは正確に把握しておいてください。
一点だけ補足すると、DXライブラリで使うのは、Cではなく、あくまでもC++です。
Cの知識だけでも使えますが、そのことと、実際に使うのがCかどうかとは別の話なのです。
ここを混同してしまうと先々の不安要因になりますので、自分が使っているのがなんというプログラミング言語なのかだけは正確に把握しておいてください。
Re:これからの学習の指針について
皆様、貴重なご意見ありがとうございます。
DXライブラリを次にやっても問題ない、とのことなのでとりあえずDXライブラリをやってみようと思います。そして困ったことがあれば、入門書に戻る、みたいな感じで。
なお、DXライブラリの勉強をするのは、当サイトのゲームプログラミング講座で、と思っているのですが、なにかほかにこういうサイトもあるよ、こういう本もあるよ、というのがあれば教えてもらえるとうれしいです。
DXライブラリを次にやっても問題ない、とのことなのでとりあえずDXライブラリをやってみようと思います。そして困ったことがあれば、入門書に戻る、みたいな感じで。
なお、DXライブラリの勉強をするのは、当サイトのゲームプログラミング講座で、と思っているのですが、なにかほかにこういうサイトもあるよ、こういう本もあるよ、というのがあれば教えてもらえるとうれしいです。
Re:これからの学習の指針について
誰もこめんとしていないけど、
Maさんの
>ココが一番お金かからなくて効率がいいと思いますよ。
は回答者側の負担を一切無視しているので、私としては否定したいです。
掲示板は問題点を解決するのに必要な情報を得るのには有利ですが、体系的な知識を学ぶには
不適当なツールだと思ってます。
やさしいCはC言語の入門としてはやさしすぎて、細かい部分の説明が不十分なので、
(適当な本が思いつきませんが)
もう少しC言語の専門的な本かアルゴリズムの本を選ぶのが良いかと思います。
Maさんの
>ココが一番お金かからなくて効率がいいと思いますよ。
は回答者側の負担を一切無視しているので、私としては否定したいです。
掲示板は問題点を解決するのに必要な情報を得るのには有利ですが、体系的な知識を学ぶには
不適当なツールだと思ってます。
やさしいCはC言語の入門としてはやさしすぎて、細かい部分の説明が不十分なので、
(適当な本が思いつきませんが)
もう少しC言語の専門的な本かアルゴリズムの本を選ぶのが良いかと思います。
Re:これからの学習の指針について
> やさしいCはC言語の入門としてはやさしすぎて、
この著者の「やさしい~」シリーズ全般にいえることです。
難しい話は避け、著者が解説できる内容にしぼっているので、本に書かれた内容を理解するのは「やさしい」というだけです。
それでも何か作り始めれば、何が不足しているかもわかってくるので、それから別の本を買っても遅くないと思います。
この著者の「やさしい~」シリーズ全般にいえることです。
難しい話は避け、著者が解説できる内容にしぼっているので、本に書かれた内容を理解するのは「やさしい」というだけです。
それでも何か作り始めれば、何が不足しているかもわかってくるので、それから別の本を買っても遅くないと思います。
Re:これからの学習の指針について
>>ココが一番お金かからなくて効率がいいと思いますよ。
>は回答者側の負担を一切無視しているので、私としては否定したいです。
>掲示板は問題点を解決するのに必要な情報を得るのには有利ですが、体系的な知識を学ぶには
>不適当なツールだと思ってます。
「ココ」は掲示板のみを指していません。
ゲームプログラミングの館等も指しています。
ただ、本を否定しているわけではないので、「ココ」をやり終わってから、ちょっと発展的な本とかがいいかと。(個人的な意見)
>は回答者側の負担を一切無視しているので、私としては否定したいです。
>掲示板は問題点を解決するのに必要な情報を得るのには有利ですが、体系的な知識を学ぶには
>不適当なツールだと思ってます。
「ココ」は掲示板のみを指していません。
ゲームプログラミングの館等も指しています。
ただ、本を否定しているわけではないので、「ココ」をやり終わってから、ちょっと発展的な本とかがいいかと。(個人的な意見)
