私はプログラミング初心者です。いっさいプログラミングはしたことがありません。
そんな私に友人からVisualC++でゲームをつくらないかという誘いを受けました。
でもまったくわからないので何が必要なのか?初心者向けの本でわかりやすい本はないか知りたいのです。どうか教えていただけないでしょうか?
また、学校の先生にC++をやるんだったらLinuxがいいと薦めめられたのですがLinuxでWindows用のゲームは作れるのですか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

ちょっと大きな書店に行くと、そのものずばり、


VisualC++でゲームを作成するための解説本が売っていると思います。
まず、そういう本の内容を見て、読んでみて、
どんな知識が必要そうなのか、とか、全体的に書いてあることが
全くピンとこないのか、少しは分かりそうなのか、
ちょっと見当をつけてみることを、まずお勧めします。

原則的には、C言語やC++言語は、基本を知らずに手を出すべきでは
ありません。下手をすると、OSなど、システムを破壊しかねません。
(そこまでやってしまう人は、そうはいないかもしれませんが)
ですから、基本から学ぶべきですね、ということになりますが、
その基本から、ゲームらしいゲームを作成するに至るには、
ふつう、結構な時間がかかると思いますよ。

初心者向けの本も、いわゆる「VisualC++入門」と銘打った本がいいのか、
「C++入門」といった本がいいのか、何とも言えない感じですが、
たぶん、基本に忠実に、「C++入門」タイプの本を一読しておくのが、
まずはよいのではないか、と思います。
サンプルのプログラムがたくさんありそうなものを
ちょっと立ち読みしてみて、よさそうなものを探して見てください。

それから、実際にプログラミングする段になったら、
オーソドックスな関数の辞書を持っていると、けっこう
重宝することがあるかもしれません...

-------------
LinuxでWindows用のプログラムを作ることは、ふつうはしません。
いわゆる「クロスコンパイラ」が見つかれば、それを使って
ある程度のものは作れるのかもしれませんが、基本的に、わざわざ
そんなことをする人はいないのでは、と思います。
Javaならともかく、ですが。

Linuxがいいと先生がおっしゃったというのは、おそらくは
よりC++らしいC++に触れられるから、というような理由でしょう。
Linux用のゲームだったら、ソースがフリーで手に入るものも結構
ありますから、基本を学んだ後、見てみるのもいいかもしれません。
販売とかを考えていないなら、別にWindowsにこだわる理由も
ないですね...
でも、たぶん、解説書の量から言って、Windowsでプログラミング
を始めた方が、スムーズにいくのではないかな? という気も
しないではないですが...

とにかく、プログラミング言語を、ゲームで覚えていこうという
考え方は、なかなか悪くない方向線だと思います。
私自身、異常にくだらない変なゲームを考え出しては、作ってみた
ものです(たいていは作っただけですが)。
とりあえず、何でもいいから読んでみて苦心するのが一番じゃないで
しょうか? と私は思います。近道は(たぶん)ありません。

この回答への補足

C++を勉強するときLinuxを使っても問題ないでしょうか?
あとC++やVisualCを入手したいときはどのような形で手に入れられるのですか?

補足日時:2001/04/29 17:59
    • good
    • 0

とりあえず、誘った方からいらなくなった本を譲りうけて読んでみてはどうでしょう?


C++言語の基本をマスターしてからVC++に移ったほうがいいとボクは思います。
とは言っても、C++言語は覚える文法が多い上に、プログラマーの才能にとても左右されます。
誘った方もあなたがプログラムをしたことがないということを知っていると思いますので、誘った方も教える気満々でしょう(笑)
    • good
    • 0
この回答へのお礼

貴重な意見ありがとうございました。
とても参考になりました。

お礼日時:2001/04/29 17:51

ゲーム会社のものです。



そうですね~。道のりは遠いか?とも思いますが、

まず、よろよろせず、
プラットフォームをWindowsなら、Windows、
Linuxなら、Linuxと決めましょう。

今現在、Linuxの知識がなく、Windowsを普段使用している、
ということであれば、Windowsとプラットフォームを絞りましょう。

自分が普段使用しないOSでのゲーム開発には、相当なプログラム力が必要で、
正直言えば、よほどヘボいプログラムを除いては、プロ級の知識と理解度、
コンピュータ全般にわたる広く深い認識力が要求されます。

逆に、普段使いなれているプラットフォームでのプログラム開発は、
それに比べれば、2段階も、3段階も低いプログラミング技術でも同様のことが達成可能です。

あとは、ちょろちょろとプログラムを組む日々がはじまろうとおもいます。
中でもC++言語は、最も文法仕様がでかいプログラム言語のひとつですので、
プログラムはじめてのtakedapanさんは、半年ぐらいは「言語文法」の
勉強になってしまうかと思います。(毎日1~2時間程度ずつ勉強したと仮定)

あと、まったく個人的な意見ですが、はじめてプログラム言語としてC++をおやりになるのでしたら、
C++を始める前に、始めの1ヶ月だけで良いので、Java言語をやっておくことをお奨めします。
こうすることで、おそらくC++の学習時間が半分ほどに短縮出来る上に、正しくC++が認識出来るようになると思います。

まぁあとは、takadapanさんの場合は、その「誘ったかた」がプログラムがある程度はできるでしょうから、わからなければどんどん聞いてしまえば良いと思います。

この回答への補足

Javaとはどう言うものですか?友達にはiアプリはJavaで作られていると聞いたのですが。

補足日時:2001/04/29 17:54
    • good
    • 0

はじめまして。



いきなりVC++でゲームを作るのは結構辛いと思います。
C言語の基本的なことがわかっていたとしても、オブジェクト化など、
理解するのが難しい(時間がかかる)部分が多いからです。


それと、LinuxでWindowsのゲームはつくれないと思います。
Windows用のプログラムを作るためには、
専用のAPI(簡単に言うと、Windowsを動かすためのもの)が必要ですが、
これはWindows専用なのでLinuxでは動きません。

もともと、C言語はLinuxように作られたものですが、
Windowsを動かすためのものは、Linuxには入っていません。
(OSが違うからあたりまえか...)

もっと詳しいことが聞きたいときは連絡ください。

この回答への補足

C++を勉強するときLinuxを使っても問題はないのでしょうか?

補足日時:2001/04/29 18:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QVisualC++でコンパイル、Linuxサーバ側で実行

プログラムの勉強をしている者です。

最近、

「Windows側でVisualC++を利用してコンパイルし、それをLinuxに持っていって、Linuxサーバで実行する」

という、話を聞きました。

調べてみると、「クロスコンパイル」というものに該当しそうだと思うのですが、まったく理解できません。

Windows側の.exeファイルをそのままLinuxに持っていっても当然実行できないのに、なぜ、上のようなことができるのか不思議です。

どなたか、教えてください。

Aベストアンサー

VCで普通にコンパイルをすると、実際にはcl.exeというコンパイラが使われます。
これは、Windows用です。但し、VCのIDEは、使うコンパイラを設定することができます。
例えばLinux用のクロスコンパイラを用意して(VC自体には付属してません)使えばOKです。

通常のコンパイラは、自分の動作環境と出力オブジェクトの動作環境が同一ですが、
クロスコンパイラは、自分とは違う動作環境用(ここではLinux)のオブジェクトを作ります。

これは、Linuxで普通のコンパイラを使った場合と、同様なexeを作れるということです。
但し、作れるというだけで、Windows ではそのまま動かないものになります。

# 提示の条件だけだと、Linux サーバ上で Windows のエミュレーション環境が動いてる可能性もありますが…。

QvisualC++6.0 でのプログラミングについて

ontimer関数のなかで、WM_LBUTTONDOWN,WM_RBUTTONDOWN,WM_KEYDOWN
などを取得するにはどうすればいいのでしょうか?
当方初心者なので、できれば簡潔に教えていただきたいです。

Aベストアンサー

★特定キーを調べるだけなら GetKeyState() 関数でどう。
・多分、マウスの押し下げを検出したいのだろうと思うのでメッセージを使わなくても
 いいんじゃないのかな。
・つまり、
 WM_LBUTTONDOWN⇒if ( GetKeyState(VK_LBUTTON ) < 0 ){ 左ボタンの処理 }
 WM_RBUTTONDOWN⇒if ( GetKeyState(VK_RBUTTON ) < 0 ){ 右ボタンの処理 }
 WM_KEYDOWN⇒if ( GetKeyState(VK_RETURN) < 0 ){ Enterボタンの処理 }
 とすれば良い。
・以上。下の『参考URL』もどうぞ。

参考URL:http://wisdom.sakura.ne.jp/system/winapi/win32/win32.html

QVisualC++を使ったゲームの使い方

会社の研修でVisualC++を使い、半年かけて好きなものを作りなさい。という課題がでました。

趣味に走っても良いよ

という先輩の言葉を頼りにして、
RPGっぽいゲームを作りたいな…と思いました。

しかし、VisualC++のテキストを一通り読むものの、これをどうしたら、ゲームにすることが出来るのかが、謎です。(五目並べのようなボードゲームの作り方は『猫でも分かる~』のHPに記載があったのですが、より多彩なゲームを作りたいと思っています。←欲張りなのでしょうか?)

この疑問はPCゲームをやったことがないからなのでしょうか?

この現状でどのようにしたら良いのかを教えていただければと思います。よろしくお願いします。
又、どのように作ったら、というようなことが分かるようなHP,書籍を教えていただければと思います。

ちなみに、学習済みの言語はCとC++とVisualC++のみです。

Aベストアンサー

 こんばんは。
 元は専門学校のゲーム科を卒業しています。・・・と言っても私は2Dしか習っていません(はっはっは)。

 時間制限が半年と言う事ですが、ゲームの処理方法は普通のWINDOWSプログラムとはかなり違うところもあるので、本当に作成するのであるならば、そっち系の書籍やホームページ、あとは公開されているソースなどを参考にして勉強するしかないかもしれません。

 RPGということで恐らく初期ドラクエみたいな画面のモノだと思うのでそれを基準にお話します。
 2DをするにはDirectX辺りでしょうか。但し、DIBSECTIONなどでも実現できます。
 先ずはスクリーン上でチラつかせずにキャラクターを移動させるバックバッファーとキー受付のリズムを覚えます。
 後はグラフィックを自分で書くか、フリー素材を調達してきます。
 ゲーム自体がある程度本格的になるならば、RPGエディターを実装する事になるかもしれません(しかし、ここまでくると泥沼です)。
 うーむ、筆舌に尽くしがたいです。あとは専門書籍をご覧いただくしか。

 一応ゲーム以外で半年内の学習実装で適しているのは、WINDOWSに搭載されているMSペイント(ペイントブラシ)見たいなソフトの実装でしょうか。
 地味に見えますが、意外に多彩な事が要求されるのでプログラム骨子の構成力を養うには丁度良い試金石に成りえます。

 こんばんは。
 元は専門学校のゲーム科を卒業しています。・・・と言っても私は2Dしか習っていません(はっはっは)。

 時間制限が半年と言う事ですが、ゲームの処理方法は普通のWINDOWSプログラムとはかなり違うところもあるので、本当に作成するのであるならば、そっち系の書籍やホームページ、あとは公開されているソースなどを参考にして勉強するしかないかもしれません。

 RPGということで恐らく初期ドラクエみたいな画面のモノだと思うのでそれを基準にお話します。
 2DをするにはDirectX辺り...続きを読む

QVisualC++.NETかVisualC#.NETか

こんにちは。

今、VisualBasic6でプログラムをしています。今回、VBを卒業してCを勉強したいと思っているのですが、VisualC++.NETとVisualC#.NETの違いがいまいち分かりません。というか、.NETという物自体が分かっていない初心者です。VB6ではランタイムが必要でしたが、この2つではどうなのでしょうか?ちなみにVB歴約2年です。
.NETの基本的なことから教えていただけると非常に助かります。

回答よろしくお願いします。

Aベストアンサー

>ということは、私たち開発側は.NET Frameworkのことを特に意識して開発しなくても良いというわけですよね?

今のところ、Windows XP 以外の OS では、ServicePack をインストールしても、.NET Framework はインストールされません。

この問題を解決する方法の1つは、MSI (拡張子が .msi のセットアップファイルを見たことありませんか?)に対応したインストーラを作成し、.NET Framework のマージモジュールを組み込むというやりかたがあります。
しかし、わざわざインストーラを作るほどの事でもない場合も多いので、その場合は、.NET Framework をインストールしてくれと言うしかありません。

また、C言語のランタイムに関しても、DLL 版のランタイムをリンクすると実行できないという問題が発生します。こちらの問題は、SPx 以上が入っていれば OK、IE xx 以上が入っていれば OK、.NET Framework が入っていれば OK のような事で解決できそうです。これは、1つ前の VC++6.0 にも同じような事が言えます。

とまぁ、あまりいい状況ではありません。.NET Framework も、Windows 98 以降で IE 5.01 以上が必須なので2重に困ったりもしますが、時が解決してくれるだろうと楽観視しています。(回答になっていませんね)

あと、意外と知られていませんが、Visual 開発環境こそありませんが、.NET Framework SDK (無料)をインストールすると、Visual *** Standard 版と同じコンパイラ(C++, C#, VB.NETなど)もインストールされます。勉強の為にフリーのコンパイラを探している人には悪くない選択です。

>ということは、私たち開発側は.NET Frameworkのことを特に意識して開発しなくても良いというわけですよね?

今のところ、Windows XP 以外の OS では、ServicePack をインストールしても、.NET Framework はインストールされません。

この問題を解決する方法の1つは、MSI (拡張子が .msi のセットアップファイルを見たことありませんか?)に対応したインストーラを作成し、.NET Framework のマージモジュールを組み込むというやりかたがあります。
しかし、わざわざインストーラを作るほどの事でもな...続きを読む

QVisualC++ と 普通のC++(ボーランドなど)の違い

前に少しC++をやっていたことがあったんですが、それからはVBをやるようになりました。
またCをはじめたいと思うんですが、VisualC++というのに興味を持ちました。普通のテキストエディタで作るようなのに比べての欠点と利点を教えてください。
個人的にはテキストエディタで作ってコマンドブロンプとでコンパイルしてとやるより、VBのような感じのほうが好きなのですが、言語とかに違いがあるのかなと思い、迷っています。

Aベストアンサー

Visual Stidioはテストやデバッグがラクでしょう。
それからクラスの追加とか、メニューの追加とか、
一部分自動化されているし、選べるクラスとか一覧
が出たりかなり開発がラクでしょう。
他のコンパイラとの大きな違いはMFCがあることで
しょうか。


人気Q&Aランキング

おすすめ情報