ゲーム作りではじめる サポート情報 |
■サンプル・プログラムのダウンロード・サービス(2002年10月22日)
■掲載ソース・リストの間違いについて(2002年10月22日)
■サンプル・プログラムのダウンロード・サービス(2002年10月22日)
本書に掲載されているサンプル・プログラムのソース・コードを、以下に用意いたしました。必要なファイルをダウンロードしてご利用ください。
<1章>
ファイル名 | サイズ | 説 明 |
Wa1.ZIP | 48,784 バイト | VC++の基本操作(サンプル・プログラム「wa1」) |
Wa2.ZIP | 101,974 バイト | サンプル・プログラム「wa2」 |
<2章>
ファイル名 | サイズ | 説 明 |
DoVi-sa1.ZIP | 42,956 バイト | ドキュメント/ビュー方式の減算プログラム |
DoVi-kan1.ZIP | 98,083 バイト | ドキュメント/ビュー方式の関数を作るプログラム |
Kurasu1.ZIP | 54,064 バイト | 自分自身のクラスを作るプログラム |
Grokansu1.ZIP | 21,813 バイト | 自分自身で作るグローバル関数 |
Ed1.ZIP | 50,933 バイト | エディット・ボックスとボタンを使ったプログラム(1) |
Ed2.ZIP | 37,153 バイト | エディット・ボックスとボタンを使ったプログラム(1) |
Kasan1.ZIP | 51,028 バイト | エディット・ボックスを使った加算プログラム |
Sisoku1.ZIP | 51,228 バイト | 四則演算のプログラム |
Dentaku1.ZIP | 56,259 バイト | 簡易電卓のプログラム |
<3章>
ファイル名 | サイズ | 説 明 |
Kousi1.ZIP | 37,159 バイト | サンプル・プログラム(格子を表示するプログラム) |
Sin1.ZIP | 53,084 バイト | サンプル・プログラム(Sin関数を表示するプログラム) |
Pict1.ZIP | 41,534 バイト | ピクチャ・コントロールに絵を描くプログラム(1) |
Pict2.ZIP | 35,333 バイト | ピクチャ・コントロールに絵を描くプログラム(2) |
HPict-0.ZIP | 234,390 バイト | ビットマップ・ファイルを画面に直接表示するプログラム |
HPict-1.ZIP | 346,752 バイト | ビットマップ・ファイルをピクチャ(ボックス)に表示するプログラム |
Icon1.ZIP | 78,395 バイト | アイコン・ファイルをピクチャとボタンに表示するプログラム |
Btn3.ZIP | 46,267 バイト | ビットマップ・ファイルをピクチャとボタンに表示するプログラム |
BtnColFnt1.ZIP | 99,820 バイト | ボタンとエディット・ボックスの色と文字のフォント・サイズの指定 |
Timer1.ZIP | 62,045 バイト | タイマ処理(タイマーのサンプル・プログラム) |
<4章>
ファイル名 | サイズ | 説 明 |
Rocket1.ZIP | 95,653 バイト | ロケットを画面の左から右に飛ばすプログラム |
Chyoview1.ZIP | 74,011 バイト | 蝶が画面の左から右に羽ばたいて飛ぶプログラム |
Chyoview4.ZIP | 91,335 バイト | 蝶が画面上を自由に羽ばたいて飛ぶプログラム |
<5章>
ファイル名 | サイズ | 説 明 |
Mine1.ZIP | 72,740 バイト | 地雷当てゲーム(マイン・スイーパー) |
Slot1.ZIP | 47,798 バイト | スロット・マシン |
Mogura1.ZIP | 94,583 バイト | モグラたたき |
Sinkei1.ZIP | 99,298 バイト | 神経衰弱 |
Bingo1.ZIP | 71,217 バイト | ビンゴ・ゲーム |
Pazul1.ZIP | 71,359 バイト | パズル・ゲーム |
HorseRsce.ZIP | 110,712 バイト | ホース・レース |
HansyaBan1.ZIP | 65,058 バイト | 反射板ゲーム |
Maze1.ZIP | 70,287 バイト | 迷路ゲーム |
Shoot1.ZIP | 91,136 バイト | シューティング・ゲーム |
■掲載ソース・リストの間違いについて(2002年10月22日)
本書に掲載されているソース・リストのいくつかに、以下のような間違いがあります。ソースを入力される際には、以下のリストのように、ボールド指定されている行を追加してください。
・149ページ 「OnButton関数」
・216ページ 「Pstart関数」
・230ページ 「OnTimer関数」
・241ページ 「OnInitialUpdate関数」
149ページ 「OnButton1関数」 ----------------------------------------------------------------- void CBtn1Dlg::OnButton1() { // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください COLORREF SysColorValue[3]; CEdit* ED1=(CEdit*)GetDlgItem(IDC_EDIT1);//本では抜けています SysColorIndex[0]=COLOR_BTNFACE; SysColorValue[0]=RGB(0,0,255);//ボタンの背景の色(青) SysColorIndex[1]=COLOR_BTNSHADOW; SysColorValue[1]=RGB(0,255,0);//ボタンの影の色(緑) SysColorIndex[2]=COLOR_BTNTEXT;//ボタンのテキスト文字の色(白) SysColorValue[2]=RGB(255,255,255); //指定した色をシステムカラーとしてセットする SetSysColors(3,(const int*)&SysColorIndex,(const COLORREF*)&SysColorValue); SetDlgItemText(IDC_EDIT1,"片山幸雄");//あるいは //ED1->SetWindowText("OK"); //本では抜けています } ----------------------------------------------------------------- 216ページ 「Pstart関数」 ----------------------------------------------------------------- void CBItblt2Dlg::Pstart(UINT code) { CDC* pDC; pDC=this->GetDC(); //本では抜けています CDC myDC; CBitmap myBMP[3],*old; //本では抜けています int num=IDB_BITMAP1; static int i=-2; static int j=-2; static int k=-2; if( code == 1)//タイマー1 { myDC.CreateCompatibleDC(pDC); myBMP[0].LoadBitmap(num); old=myDC.SelectObject(&myBMP[0]); pDC->BitBlt(100,100,61,61,&myDC,0,i*10,SRCCOPY); i=i+1; if(i==18) i=-2; } else if( code == 2)//タイマー2 { myDC.CreateCompatibleDC(pDC); myBMP[1].LoadBitmap(num + 1); old=myDC.SelectObject(&myBMP[1]); pDC->BitBlt(200,100,61,61,&myDC,0,j*10,SRCCOPY); j=j+1; if(j==18) j=-5; } else //タイマー3 { myDC.CreateCompatibleDC(pDC); myBMP[2].LoadBitmap(num + 2); old=myDC.SelectObject(&myBMP[2]); pDC->BitBlt(300,100,61,61,&myDC,0,k*10,SRCCOPY); k=k+1; if(k==18) k=-5; } myDC.SelectObject(old); ReleaseDC(pDC); } ----------------------------------------------------------------- 230ページ 「OnTimer関数」 ----------------------------------------------------------------- void CSinkei1View::OnTimer(UINT nIDEvent) { // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください CString tmss; int i ; if( nIDEvent == 2 )//本では抜けています { //本では抜けています tm=tm+1; tmss.Format("%d",tm); m_ed1.SetWindowText(" " + tmss + " 秒経過"); } //本では抜けています for(i = 0 ; i < 9 ; i++) { lab1[i]=(CStatic*)GetDlgItem(IDC_STATIC1+i); } hico2=AfxGetApp()->LoadIcon(IDI_ICON1);//背景の絵 /* for(i=0 ; i < 9 ; i++)//必要のあるとき { hico1[i]=AfxGetApp()->LoadIcon(IDI_ICON1 + i); } */ for(i = 0; i < 9 ; i++) { lab1[i]->SetIcon(hico2); //背景を表示する } hico3=AfxGetApp()->LoadIcon(IDI_ICON2);//manの絵 mg_ransu = (int)((double)rand()/32767.0 * 9.0 );//乱数の発生 lab1[mg_ransu]->SetIcon(hico3);//manの絵を表示する CFormView::OnTimer(nIDEvent); } ----------------------------------------------------------------- 241ページ 「OnInitialUpdate関数」 ----------------------------------------------------------------- void CSinkei1View::OnInitialUpdate() { CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); int i,j,k; CString ss; for(i=0; i < 36 ; i++) { lab1[i]=new CStatic(); } k=0; for(i=0; i < 6 ; i++) { for(j=0 ; j < 6 ; j++) { lab1[k]->Create(ss,SS_ICON|SS_NOTIFY|WS_VISIBLE|SS_CENTER,CRect(32*j*2+80,32*i*2+80,32*(j+1)*2+80,32*(i+1)*2+80),this,IDC_STATIC1 + k ); k=k+1; //SS_ICONをとるとテキストモードになる(本では抜けています) } //k=k+1; ←本ではここに「k=k+1」がありますが、上に移動します } } -----------------------------------------------------------------
(株)工学社 第一I/O編集部
なお、本書の内容に関するご質問/お問い合わせは、次の方法で第一I/O編集部宛にお願いします。
※ご質問/お問い合わせの際、お客様の使用・動作環境などに添えて、具体的な症状をできるだけ詳しくお知らせください。
※FAXでのご質問/お問い合わせの場合は、必ずお客様のFAX番号を明記してください。