C言語

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

C言語

#1

投稿記事 by oozora » 14年前

コード:

#include "DxLib.h"
#include <math.h>

void InitAimingBullet(
float mx, float my,
float ex, float ey,
float speed,
float& x, float& y,
float& vx, float& vy
){
x=ex; y=ey;
float d=sqrt((mx-ex)*(mx-ex)+(my-ey)*(my-ey));

if(d){
vx=(mx-ex)/d*speed;
vy=(my-ey)/d*speed;
} else {
vx=0;
vy=speed;
}
}

void MoveAimingBullet(
float& x, float& y,
float vx, float vy
){
x+=vx;
y+=vy;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow ) 
{
//ウィンドウモードで起動
ChangeWindowMode( TRUE );
//DXライブラリ初期化
if( DxLib_Init() == -1 ) {
return -1;
}

//ここにプログラムを書いていく
InitAimingBullet();
MoveAimingBullet();
//DXライブラリ終了処理
WaitKey();
DxLib_End();
return 0;
}
上のようなプログラムを本を見ながら作りました
InitAimingBullet();
MoveAimingBullet();
の引数がわかりません?
あと上のプログラムをゲームとして動かそうとすると
どんなプログラムをくわえればいいですか?
教えてください

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

Re: C言語

#2

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

codeタグを加えておきました。フォーラムルールをよくお読みくださいね。
http://dixq.net/board/board.html
ただ、インデント(字下げ)が行われていないので読み辛いプログラムとなっています。バグを防ぐ目的にもなるので気を付けてみてください。

「字下げスタイル - Wikipedia」
http://ja.wikipedia.org/wiki/%E5%AD%97% ... 4%E3%83%AB

字下げするとこんな感じになります。

コード:

#include "DxLib.h"
#include <math.h>

void InitAimingBullet(
					  float mx, float my,
					  float ex, float ey,
					  float speed,
					  float& x, float& y,
					  float& vx, float& vy
					  ){
	x=ex; y=ey;
	float d=sqrt((mx-ex)*(mx-ex)+(my-ey)*(my-ey));

	if(d){
		vx=(mx-ex)/d*speed;
		vy=(my-ey)/d*speed;
	} else {
		vx=0;
		vy=speed;
	}
}

void MoveAimingBullet(
					  float& x, float& y,
					  float vx, float vy
					  ){
	x+=vx;
	y+=vy;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
				   LPSTR lpCmdLine, int nCmdShow ) 
{
	//ウィンドウモードで起動
	ChangeWindowMode( TRUE );
	//DXライブラリ初期化
	if( DxLib_Init() == -1 ) {
		return -1;
	}

	//ここにプログラムを書いていく
	InitAimingBullet();
	MoveAimingBullet();
	//DXライブラリ終了処理
	WaitKey();
	DxLib_End();
	return 0;
}
oozora さんが書きました:上のようなプログラムを本を見ながら作りました
InitAimingBullet();
MoveAimingBullet();
の引数がわかりません?
あと上のプログラムをゲームとして動かそうとすると
どんなプログラムをくわえればいいですか?
教えてください
幾つか質問があります。
(1)どの様な書籍を読まれましたか?
(2)この関数を使ってどの様な事が起こると(あるいはどの様なことが出来ると)想定されているのでしょうか?
(3)InitAimingBullet()やMoveAimingBullet()の内容をわかっている範囲で書いてみてください。
ゲームを作る上で何処まで理解しているのか把握したいので質問をさせていただいております。

[追記]
ヒントとして付け加るとInitAimingBullet()とMoveAimingBullet()は弾関係の処理をする関数です。

[追記の追記]
このサイトのコンテンツである
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
「龍神録プログラミングの館」
http://dixq.net/rp/
をまず理解されてはどうでしょうか?
基礎的なことが習得できると思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

oozora

Re: C言語

#3

投稿記事 by oozora » 14年前

教えていただいた
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
で勉強を始めました
ウィンドウの表示はできたのですが画像を表示するのができません。
画像の表示の仕方を教えてください。

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

Re: C言語

#4

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

「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ] 1.1章 DXライブラリが使える環境を整えよう」
http://dixq.net/g/01_01.html
はちゃんと行われましたか?
で、ここがちゃんとしているなら
「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ] 1.3章 画像を表示してみよう」
http://dixq.net/g/01_03.html
の手順で自分の手で打った場合にLoadGraphScreen()の引数が間違いっている可能性があります。
ご自分のプログラムを、codeタグを使って貼り付けてみてください。

[追記]
上で質問した内容にもお答えくださいね。
(1)どの様な書籍を読まれましたか?
(2)この関数を使ってどの様な事が起こると(あるいはどの様なことが出来ると)想定されているのでしょうか?
(3)InitAimingBullet()やMoveAimingBullet()の内容をわかっている範囲で書いてみてください。
分からないなら、何処から分からないとかも書いてください。場合よってはさっぱり分からないでも良いです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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