忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[1]  [2]  [3]  [4]  [5]  [6
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

数年ぶりに携帯を変えました。
シャープのLYNX3Dという任天堂3DSと同じタイプの裸眼3D 液晶を搭載したスマートフォンです。
いろいろ弄って遊ぶ日々が続いていますが、プログラミングをやっていると、どうしてもこの目新しいデバイスのアプリケーションはどのように開発するのか気になってきます。
それほど敷居が高くないなら、GPSやカメラ、傾きセンサーなんかを組み合わせて使うアプリの開発は楽しそうです。
で、調べてみると開発環境はオープンに提供されていて、素人が作ったアプリをマーケットに登録して世界中に配布する仕組みも出来上がっていました。

これは疼きます・・・よねえ(笑)

ただ、開発環境はjavaなんです。
CとかC++ならすんなりだったんですが、こればっかりは仕方ありません。
で、実はすでにjavaの開発環境をネットブックに入れてコマンドプロンプトで動くコンソールプログラムから勉強を始めていたりします(笑)

はじめてみた感想としては、「なんとかなりそう」です。
もちろんjavaの文法とかルールは憶えなきゃいけませんが、プログラミングで肝となるアルゴリズムとか、それを考え出す面白さは一緒ですから。
ひとつ何かの言語をある程度使えるようになった人なら、他の言語もすんなり入っていけるんだなと実感しました。

逆に意外とCと似ていて、混同してしまいそうな方が問題ですな。
あと、開発環境はこっちも基本無料でそろいますが、感覚的にCの開発環境を構築するのより面倒な気がしました。

ともかくもう少し勉強を進めて形になりそうなら、『36歳からのandroidアプリ開発』みたいなブログを立ち上げてみようかなと思っていたりします。
javaの話をこっちでやっていくわけにも行かないですからね。


PR
~テストプログラムを書いてみる~

さて開発環境の準備は出来ましたし、ようやくプログラムを書いて実行することが出来ますぜ。
まずVC++を起動しましょう。
『ファイル』から『開く』→『プロジェクト/ソリューション』って感じで選択してください。
で、前回作ったプロジェクトのフォルダを開いてファイルを選択します。
プロジェクトファイルは「vcxproj」って拡張子が付いてるはずですよ。
あ、そうそう、なにかと必要になるので、もし現在ファイルの拡張子が表示されない設定になっている人は表示するようにウィンドウズの設定を変えておきましょう。
最終的に実行ファイルとしてソフトウェアが完成するまでに、過程としてプロジェクト内に色々なファイルが作られれて行きますがファイル名はそのままプロジェクト名になるものが多いです。
その種類の違いをはっきり視認できるように拡張子は表示する設定にして置きましょう。

画面にプログラムを書く白紙が出来たと思います。
そこにテストプログラムを書き込みましょう。
もちろんDXライブラリの機能を使用したプログラムです。

#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) {
    ChangeWindowMode(TRUE);
    if ( DxLib_Init() == -1 ) return -1;

    int c = GetColor(0,0,255);
    DrawBox( 100,100,300,300,c,FALSE );
    DrawBox( 200,200,400,400,c,FALSE );
    DrawLine( 100,100,200,200,c );
    DrawLine( 300,100,400,200,c );
    DrawLine( 100,300,200,400,c );
    DrawLine( 300,300,400,400,c );

    WaitKey();
    DxLib_End();
    return 0;
}

どうですか、打ち込めましたか?
大文字小文字は正確に。
全部半角英数字ですよ。
コピペしても問題ありませんが、初心者の方であれば自分で打ち込む体験をしておくことをオススメします。

打ち込み終わったら実行してみましょう。
上の方にある『デバッグ』→『デバッグ開始』を選択します。
変更がありましたがビルドしますか?的なウィンドウが開きますが迷わず『はい』で。
するとしばしコンパイル作業に入り、ちょっと待たされます。
実行ウィンドウが開き写真のような画面が出れば成功です。
R0011302.JPG




やったー!!












ウィンドウが開かず、コンパイルが止まってしまった場合はエラーです。
もう一度打ち込んだプログラムをよーくチェックしてみてください。
スペルはもちろん、大文字小文字、『,』、『;』、『()』などなど。
どこかにミスがあるはずです。

あとは実行されたけど、表示される箱がなんかおかしい場合。
DrawBoxとDrawLineのカッコ内の数字は描画する画面上の座標と色を表しています。
なのでこの数字にミスがあると実行はされるけど表示される箱が歪むなどの実行結果になります。
逆に、その辺を想像しながら数字を変えて行けば、四角と線で描ける図形なら好きに作ることが出来ると思います。
いきなりリファレンスを見ても良いですが、時間があるなら数字の意味を想像していじってみましょう。
僕が小学生のころBASICで初めてのプログラムを書いたときも、本などに載っていたサンプルの数字の意味を想像しながら色々いじってとにかく実行してみることでした。
試す→結果を得る
この繰り返しで結果を目的地に近づけてゆく作業が面倒と感じるか、楽しいと感じるかで、適性も見えてくると思います。
まあ、僕と違って頭の良い人は一発で結果を出すのかも知れませんがw

一通りやってみたら、それ以外の部分について調べてみましょう。
DXライブラリのHPには関数(命令文)の詳細なリファレンスが用意されています。
プログラムを追いながらどの部分が何をしているのか調べてゆきましょう。
今後もそうして得た知識の組み合わせが、結果として作りたいゲームを形にしてゆくことになります。

プログラミングは特殊な趣味ですw
まわりにやっている人を探すのはけっこう難しいはずです。
つまりわからないことを人に聞ける環境にある人は少ないと思います。
またその手のサイトや掲示板はそれなりに詳しい人たちが集まりますが、あまりに初歩的な質問は「ググレカス」と返されるのが落ちでしょう。
実際、たいていのことが自力で答えを見つけられます。
自力で調べて自力で進んでゆく癖を作りましょう。
というかそうするしかないっす(金かけないならw)。



~DXライブラリ用のプロジェクトを作成する~

少し更新が遅くなりました。
すでにDXライブラリのHPを見ながら先に進んでしまったかもしれないですね。
前の記事も含めてDXライブラリ導入や使用の方法はDXライブラリのHPでも丁寧に解説してくれています。
自分で調べながらやった方が力も付くと思うので、ゲームプログラミングを始めたいという熱意のある方はブックマークしてリファレンスのように使うと良いと思います。
と言うか僕もそうしてますw

さて、DXライブラリを使うためにはVC++2010側に「DXライブラリ使いまっせ」と設定しなければならないと話しました。
まずは新規プロジェクトを作成しましょう。

まずメニューのファイルから新規作成→プロジェクトを選びます。
左側の方の枠はWin32を、右側の枠はWin32プロジェクトを選びます
次に下の方にある名前の欄にプロジェクトの名前を好きに入れましょう。
ここでは仮に『DXライブラリTEST』とします。
プロジェクトの場所を指定したいときは場所の欄にパスを記入してください。
場所の欄にはVC++のプロジェクトフォルダがあらかじめ記入されているので、そのままで良ければ記入の必要はありません。
『ソリューションのディレクトリを作成』のチェックボックスをオフにしてOKを押します。
R0011299.JPG

















するとWin32アプリケーションウィザードが立ち上がるので、左の方にある『アプリケーションの設定』をクリックします。
右側にたくさん項目が出てきたと思いますが、下の段にある『空のプロジェクト』のチェックボックスをオンにして『完了』を押します。

これでとりあえずDXライブラリ用の新規プロジェクトが作成されました。
次にプログラムを書き込むソースファイルを作成しましょう。

メニューからプロジェクト→新しい項目の追加を選びます。
(ツールバーの左から二番目のアイコン右の▼にカーソルを合わせると開くメニューです。)
開いたウィンドウの左側は『VisualC++』を、右側は『C++ファイル(cpp)』を選びます。
下の方にある名前欄にファイル名を入力して『追加』をクリックします。
ここではファイル名は『DrawBox』とします)

これでVC++の画面上にプログラムを書くための白紙が出来たと思います。
が、プログラムを書く前にもう一手間(しかも一番めんどくさい)がありますぜw
面倒ですが、新規でソフトを作るたびに必要な作業なので慣れましょう。

VC++画面の一番上の段のメニューから『プロジェクト』→『DXライブラリTESTプロパティ』を選びます。
(『DXライブラリTEST』の部分には作成したプロジェクト名が表示されるので、自分でプロジェクト名を考えた場合はそれが表示されているはずです。)
以下、手順に従って操作してください。
①開いたウィンドウの左側にある『構成プロパティ』をクリックするとズラーっと下になんか表示されるので『全般』を選びます。
②左上に『構成(c)』と書かれた項目があるので、その右にある「v」を押して出てきた中から『すべての構成』を選びます。
③右側の『文字セット』をクリックすると項目の右に「v」が出るのでそこを押して開いた項目からを『マルチバイト文字セットを使用する』に変更して、右下にある『適用』を押します。
R0011300.JPG


こんな感じ














④左側の『構成プロパティ』から『C/C++』をクリックし、開いた項目から『全般』を選びます。
⑤右側一番上の『追加のインクルードディレクトリ』の右側のボックスをクリックすると入力待ちになるのでDXライブラリのフォルダに入っている『プロジェクトに追加すべきファイル_VC用』の場所を示すパスを入力します。
(例えば「C:¥DxLib_VC¥プロジェクトに追加すべきファイル_VC用」みたいな感じ)
で、右下の『適用』をまた押してください。
ちなみにこの作業が面倒なので前の記事でDXライブラリはハードディスクの浅い層のわかりやすいとこにインストールしといた方が良いと話しましたw
⑥左側の『構成プロパティー』→『リンカー』をクリックしてズラーっと表示された中から『全般』を選んでください。
右側の中段辺りにある『追加のライブラリディレクトリ』の右側をクリックして⑤で入力したパスを同じように入力してください。
で、また右下の『適用』をクリックします。
⑦ウィンドウ左上の『構成(c)』を『Release』に変更します。
⑧左側のリストから『構成プロパティ』→『C/C++』→『コード生成』を選びます。
⑨右側の『ランタイムライブラリ』の項目を『マルチスレッド(/MT)』に変更し、右下の『適用』をクリックします。
⑩左上の『構成(c)』を今度は『Debug』に変更します。
⑪右側の『ランタイムライブラリ』の項目を『マルチスレッド(/MTd)』に変更して、右下の『OK』をクリックしましょう。

はあ、はあ、はあ、これで準備はできました!(汗)
お疲れ様です。
どうですか?大変ですか?
これを書きながら作業を進めるのも大変でしたw
途中でネットブックのバッテリが切れそうになってあわてて電源ケーブル挿したり(笑)

いよいよ試しにDXライブラリを使用したテストプログラムを打ち込もう!
といきたいとこですが・・・
疲れ果てたのでテストプログラムは次回にしましょう。
すいません。
この面倒な作業は最初に書いたようにソフト1本につき一回です。
一回以上なんてやりたくありません!!
で・す・か・ら、ちゃんと保存してVC++を終了してくださいねw


~DXライブラリのインストール~

地味に文字だけの画面で数値計算やら条件分岐やらループやら・・・C言語の基本を勉強してると、「こんなことでゲームが作れるのか?」と思うと思います。
僕らがイメージしているゲームのは程遠い状態ですから。
こんなことじゃファミコン並のゲームも作れやしないって投げ出したくなるかもしれません。
実際、このまま少しずつ勉強してグラフィカルなゲームを作れるようになるには、相当な勉強が必要なんです。

しかし!
しかし、世の中には本当に素晴らしい人がいまして、C言語の基本さえ学んでいれば、ダイレクトXとかウィンドウズの勉強をしなくてもゲームが作れてしまうショートカットコースを作ってくれたわけです。
それが、DXライブラリです。
これを導入することで、例えばキャラクターを表示して動かすといったゲームでよく見る処理が、その役割を持った命令文(関数)を使うだけで出来てしまうんです。
「なんだ、また命令文を憶えなきゃならないのか」とプログラミングを始めたばかりの方は思うかもしれませんが、もしDXライブラリ無しで画面に表示したキャラクターを動かすプログラムを組むとしたら、そりゃもう大変なんですよ!
どれくらい大変かは僕も出来ないので詳しく言えません(笑)
でも、それくらい(?)大変なことが命令文を覚えるだけで出来てしまうんです。
僕らの世代しかわからないかも知れませんが、ファミリーベーシックなみですw

そのDXライブラリはここでダウンロードできます。
なんと無料です!
「いただきます」と手を合わせて一番上の「VisualC++用をダウンロードする」をクリックしましょう。

ダウンロードしたファイルをダブルクリックすると解凍する場所を入力した後、その場所にインストールされます。
とくに難しい作業はありませんが、ひとつだけ注意しておきたいことが。
インストール先は後で場所を入力する作業があるのでわかりやすい場所にしましょう。
たとえば、C:¥DXLib_VCとなるくらいハードディスクの浅い層に入れておくことをオススメします。
ちなみに僕はマイドキュメントにインストールして後で泣きを見ましたw

さて、インストールしただけではDXライブラリは使えません。
VisualC++側に「DXライブラリを使ったプログラムを書きますよ~」と設定してあげなければならないんです。
前回の記事で書いた新規プロジェクトを作成する際にそれを行います。
つまり、前回の記事と同じプロジェクトの作り方ではDXライブラリは使えないと言うことです。
それを次回は説明します。

けっこう面倒でしょ?(笑)
でもこの辺でやめちゃう感じなら、それはそれで良いかと思います。
ゲームプログラミングとは縁が無かったってことで。
ゲームプログラミングはもっと面倒ですw
試行錯誤したあげく結局ダメになっちゃったり最初からやり直したり・・・。
人を選びます。
それを楽しめる人じゃないと趣味には出来ないと思いますよ。


~プログラミングの前にやらなければいけない作業~

さて、インストールが完了して無事開発環境が整ったわけですが、ここですぐにプログラムを書き始められるわけではありません。
VisualC++ではひとつひとつのプログラムを『プロジェクト』として管理しているので、プログラムを書き始める前に新規のプロジェクトを作成しなければならないんです。
めんどうに思うかもしれませんが、この開発環境を使用する限り逃れられない(新規のプログラムを作るときには毎回必要になる)ので、慣れますw

まず、ツールバーの一番左にあるボタンの▼をクリックして『新しいプロジェクト』を選択します。
すると、プロジェクトの種類を選択するウィンドウが開くので、左側は『Win32』、右側は『Win32コンソールアプリケーション』を選択しましょうか。
下の方にプロジェクト名を記入する欄があるので適当に名前をつけます。
例では『トレーニング』にしました。
で、その近くにある『ソリューションのディレクトリを作成』のチェックボックR0011297.JPGスをオフにします。


















OKボタンを押しましょう。
すると、アプリケーションウィザードが起動します。
最初の画面はそのまま『次へ』をクリック。
次の画面で『コンソールアプリケーション』を選択し、『空のプロジェクト』のチェックボックスをオンにして『完了』をクリック。
R0011298.JPG

















はい、これで無事に新規のプロジェクトが作成されました。
プログラミング開始まであと少し!

では、このプロジェクトにソースコード(プログラム)の置き場となるファイルを作成しましょう。
ツールバーの左から2番目のボタンの▼をクリックして『新しい項目の追加』を選択します。
また、設定用のウィンドウが開くので『C++ファイル』を選択して、下の方の欄にファイル名を適当に入力します。
ここでは「training」にしました。
で、右下の『追加』ボタンをクリック!
これで、画面にソースコードを入力する白いだだっ広いエリアが現れたと思います。
ここが、あなたの夢を描く魔法のキャンバスですw

夢は大きくてもかまいませんが、プログラミングは地味でも基本からしっかり学びましょう。
一番最初の最初は定番、「Hello world!!」を画面に表示するプログラムなんてオススメですぜ。
64be7a76.PNG

















てわけで、あなたのキャンバスに上のようにプログラムを書いてみましょう。
あ、文字は半角英数字ですよ!
#include <stdio.h>
このようにどんどん打ち込みます。
出来上がったら、実行してみましょうか。
上の方にある『デバッグ』と書かれたメニューを開いて『デバッグ開始』を選びます。
「変更がありましたが、ビルドしますか?」みたいなメッセージが出ると思いますが、気にせず『はい』と返事してください。
すると、実行前のコンパイルと言う作業をソフトがやってくれます。
この段階でプログラムに問題がある場合は実行されず「エラー」が告知されます。
この段階のプログラムではエラーの原因はほぼ打ちミスなので、エラーが出てしまった場合はソースコードをよく見て綴りなどに間違いがないか確認してください。

うまくいけば実行画面用のウィンドウが開き、「Hello world!!」の文字が一番上に表示されていると思います。
リターンキーを押せばプログラムを終了して、戻ることが出来ます。

これで、プログラムを書いて実行することができますね。
さっそく頭の中に描いた「俺のゲーム」を作りたいところですが・・・。
その前に、長く苦しい基礎学習があります。
避けて通れないのでみっちりやりましょう。
入門書を一冊持っておいた方が良いと思います。
学習用のサイトはたくさんありますが、じっさいプログラミングしながら参照する場合ブラウザを開きながらやるより本を見ながらの方が僕は楽でした。
サイトで勉強するなら、このブログのリンクにもある『苦しんで覚えるC言語(略して苦C)』が超オススメです。

一通りコンソールプログラムで基礎を学んだら、いよいよDXライブラリを組み込んで、ゲーム作りを始められます。
その際には、また少し準備作業が必要なので、それはまた別に説明します。
(というか、自分もネットブックに環境を導入しながら半年以上のブランクを埋める復習をしていますw汗)

  • ABOUT
やってやれないことはないっ!たぶん・・・
  • カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
  • 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
  • プロフィール
HN:
Call my name
年齢:
49
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]