大学でプログラム習ってるんですが、全然できないのでこのままじゃまずいと思って勉強がてらゲームを作ってみる事にしました。ブロック崩しを作ろうとしたのですが、球を動かす機能を関数化する所とブロックの配置をどうすればいいかで悩んでます。どうすればよろしいでしょうか。DXライブラリで作ってます。
#include "DxLib.h"
typedef struct _racket{
int g_racket;
int g_x;
int g_y;
}racket;
typedef struct _block{
int stone;
int x;
int y;
}block;
typedef struct _tama{
int ball;
int x;
int y;
int vx;
int vy;
}tama;
int Key;
tama ta;
void ball_attack()
{
ta.x = 300;
ta.y = 450;
ta.vx = 4;
ta.vy = 4;
ta.ball = LoadGraph("ball.bmp");
DrawGraph(ta.x, ta.y, ta.ball, TRUE);
ta.x += ta.vx;
ta.y += ta.vy;
if(ta.x < 5 || ta.x > 635)
ta.vx = -ta.vx;
if(ta.y < 5 || ta.y > 475)
ta.vy = -ta.vy;
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
//tama ta;
racket ra;
//ta.x = 300;
//ta.y = 450;
//ta.vx = 4;
//ta.vy = 4;
ra.g_x = 300;
ra.g_y = 420;
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) return -1;
SetDrawScreen( DX_SCREEN_BACK );
// 透過色を変更
SetTransColor( 255 , 255 , 255 ) ;
ra.g_racket = LoadGraph("ziki.bmp");
//ta.ball = LoadGraph("ball.bmp");
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0)
{
// メッセージループに代わる処理をする
if( ProcessMessage() == -1 )
{
break ;// エラーが起きたらループを抜ける
}
ClearDrawScreen();
ball_attack();
/*DrawGraph(ta.x, ta.y, ta.ball, TRUE);
ta.x += ta.vx;
ta.y += ta.vy;
if(ta.x < 5 || ta.x > 635)
ta.vx = -ta.vx;
if(ta.y < 5 || ta.y > 475)
ta.vy = -ta.vy*/;
// キー入力取得
Key = GetJoypadInputState( DX_INPUT_KEY_PAD1 ) ;
// 右を押していたら右に進む
if( Key & PAD_INPUT_RIGHT ) ra.g_x += 3 ;
// 左を押していたら左に進む
if( Key & PAD_INPUT_LEFT ) ra.g_x -= 3 ;
// 読みこんだグラフィックを画面左上に描画
DrawGraph( ra.g_x , ra.g_y , ra.g_racket , TRUE ) ;
ScreenFlip();
}
WaitKey();
DxLib_End();
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ 曲の保存場所について 3 2023/05/19 01:47
- カスタマイズ(車) 2003年式レガシィB4 2.0GT TA-BL5に乗ってるのですが このマイルドダンパーという車高 2 2023/06/11 22:09
- カップル・彼氏・彼女 彼女が大学院生でTAやってて、下級生の男子から人気あるのって彼氏的にどう思うのですか? 1 2022/05/23 01:30
- Google Drive MTSファイルについて 1 2023/05/11 15:28
- バイク車検・修理・メンテナンス ジャイロキャノピーta-02のマフラー詰まり改善方法。 マフラーが詰まっています。 取り外さずに詰ま 2 2023/02/06 20:29
- 国産車 スバル ディアスワゴン ta-tw2 は充電制御車ではないですよね? 教えていただけますと、助かりま 3 2023/08/15 12:01
- カスタマイズ(車) 2003年式レガシィB4 2.0GT TA-BL5に 18インチ 7.5J オフセット+40を履かせ 1 2023/06/01 12:19
- Google Drive 写真の更新日時について 1 2023/05/09 02:40
- ルーター・ネットワーク機器 nuro光に入っています。TAのランプは2.4GとWANが点滅しています。1Mもスピードありません。 3 2022/05/01 17:33
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「指定されたキャストは有効で...
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語での引数の省略方法
-
【C++】関数ポインタの使い方
-
比較回数と交換回数表示について
-
C言語で三目並べをするプログラ...
-
if と配列の組み合わせ
-
商と剰余を同時に求める(C言語)
-
C言語での奇数の和
-
ラップ関数とはどんなものですか?
-
Arduinoのプログラムにエラーが...
-
C言語
-
並列プログラミングのπ計算につ...
-
C言語 エラーの原因がわからな...
-
インライン展開されているか確...
-
GlobalAllocの変数を関数に引き...
-
HANDLEて何ですか?
-
read関数をノンブロッキングで...
-
C++でvectorにテキストファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報