関数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
canopus

関数

#1

投稿記事 by canopus » 13年前

C++は初心者です。
関数を勉強したいのですが簡単な問題、又は解説をよろしくお願い致します。

コード:

 
#include "DxLib.h"


int Key[256]; // キーが押されているフレーム数を格納する

// キーの入力状態を更新する
int gpUpdateKey(){
	char tmpKey[256]; // 現在のキーの入力状態を格納する
	GetHitKeyStateAll( tmpKey ); // 全てのキーの入力状態を得る
	for( int i=0; i<256; i++ ){ 
		if( tmpKey[i] != 0 ){ // i番のキーコードに対応するキーが押されていたら
			Key[i]++;     // 加算
		} else {              // 押されていなければ
			Key[i] = 0;   // 0にする
		}
	}
	return 0;
}


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
						LPSTR lpCmdLine, int nCmdShow )
{
	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定
	MessageBox(NULL,_T("test"),_T("winapp"),MB_OK);

	SetWindowText("円高ゲーム");
	int now = 200;
	float gravity = 0.15f;
	float engine = -0.30f;
	float speed = 0;

		int hitachi;
		hitachi = LoadGraph("media/pic/hitachi05.png");
		
	while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0  && gpUpdateKey()==0  ){

		
		float raccel = 0;
		DrawGraph(320,now,hitachi,TRUE);
			if( Key[ KEY_INPUT_SPACE ] > 0 ){
					// スペースキーが押された瞬間だけ処理ではなく押されている間中処理
					raccel = engine;

				}
				//Key[ KEY_INPUT_SPACE ] = Key[ KEY_INPUT_SPACE ]%1;
				speed +=raccel + gravity;//重力おまけ付なし
				now += (int)speed;//


		

        }
	DxLib_End() ;
	return 0;
}
 

よろししければ、今作っているゲームコードを参考に・・

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 関数

#2

投稿記事 by softya(ソフト屋) » 13年前

関数のどのような事を知りたいのでしょうか?
C言語とC++だと記述が変わってくる物もありますが難しい方のC++で良いんですよね?
なお、例示されているコードにはC++らしい文法での記述はありません。あとインデント(字下げ)があまり良くないのでバグの原因となりますので勉強されることをお勧めします。

[追記]
言語の勉強用として、参考にされている入門書やサイトがあれば教えて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

canopus

Re: 関数

#3

投稿記事 by canopus » 13年前

ソフト屋さんありがとうございます。
CとC++の違いがいまいちよくわからないのですが、とりあえず参考にしてるのはここの龍神録さんのサイトで”Microsoft VisualC++ 2008 Express Edition”というソフトでコードを書いています。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 関数

#4

投稿記事 by softya(ソフト屋) » 13年前

canopus さんが書きました:ソフト屋さんありがとうございます。
CとC++の違いがいまいちよくわからないのですが、とりあえず参考にしてるのはここの龍神録さんのサイトで”Microsoft VisualC++ 2008 Express Edition”というソフトでコードを書いています。
「龍神録の館」の前に「ゲームプログラミングの館http://dixq.net/g/」をお勧めしますが、それ以前にC言語は別に勉強する必要があります(C++は難しいので避けましょう)。
この基礎の基礎を押さえた上で初めて「龍神録の館」や「ゲームプログラミングの館」の内容の理解が可能になります。

とりあえずサイトだと
「苦しんで覚えるC言語」
http://9cguide.appspot.com/
などで勉強してみてください。
ただ、「苦しんで覚えるC言語」にも問題が幾つかあるようなので書籍が一番オススメです。

「Amazon.co.jp: やさしいC 第3版 [やさしいシリーズ]: 高橋 麻奈: 本」

とか
「BohYoh.com【著書】新版明解C言語入門編」
http://www.bohyoh.com/Books/MeikaiC01/index.html
など本屋で見比べてみてください。

ちなみにC++はC言語にオブジェクト指向と言う概念を追加した高機能な言語です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

canopus

Re: 関数

#5

投稿記事 by canopus » 13年前

soft屋さんいろいろとお世話になります。
そのサイトでまたじっくりと勉強させてもらおうと思います。(--)
ありがとうございました。

canopus

Re: 関数

#6

投稿記事 by canopus » 13年前

soft屋さんいろいろとお世話になります。
そのサイトでまたじっくりと勉強させてもらおうと思います。(--)
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る