検索結果 10 件

by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ マウスを使ったゲーム
返信数: 7
閲覧数: 6020

Re: c++ マウスを使ったゲーム

皆様ありがとうございます。
説明不足ですみません。GUIです。
ミサイルコマンド、初めて知りました。参考にさせて頂きます。
DXライブラリの必要性について良く分かりました…わざわざ書いて頂きありがとうございます。
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ マウスを使ったゲーム
返信数: 7
閲覧数: 6020

Re: c++ マウスを使ったゲーム

マウスを使い、c++で書くという条件があるんですよね…
座標の出力と、windowに線を描くことはできています。
例えばエアホッケーとか、ブロック崩しとか、テトリスみたいなものを作りたいのですが…
あとは難しそうですがパックマンみたいなものとか…
で、試しにブロック崩しを作ろうとしたのですが、バーを動かすところで行き詰まってしまいました…
ゲームである必要は無くて、上記の座標出力と線の描画以外のものか、それを応用した何かでも良いのですが…
でも、回答ありがとうございます。
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ マウスを使ったゲーム
返信数: 7
閲覧数: 6020

c++ マウスを使ったゲーム

マウスの入力で動作する簡単なゲームを作りたいのですが、描いた図形の動かし方が分からないです…また、クリックすると表示が消えたり、座標位置をランダムに表示したりするにはどうすれば良いのでしょうか…?サイトを見ると、DXライブラリなるものを使用している場合が多いのですが、使わずに作ることは可能でしょうか?

ゲームでなくても良いのですが、マウス入力を使った、初心者向きのプログラムがあったら教えて頂きたいです。
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ 玉の反射について
返信数: 10
閲覧数: 7325

Re: c++ 玉の反射について

「^」は累乗ではないのですね…知らなかったです。
乗算に直したらできました。教えて頂きありがとうございます(__)
1の方は値が小さすぎたようです。数を増やしたら接触判定が見られました。
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ 玉の反射について
返信数: 10
閲覧数: 7325

Re: c++ 玉の反射について

本当だ…条件が足りないですね…

r=半径
((x-x1)^2 + (y-y1)^2 <= (r+r1)^2)
という判定法を見つけたのですが、判定範囲が広くなってしまい、何故かできないです…

教えて頂いた絶対値の方法は、stdlib.hは入れたのですが、接触判定ができていないようで、すり抜けてしまいます…

コード:

if(abs(x-x1) <= 1 && abs(y-y1) <= 1) {
  a=dx;
  dx=dx1;
  dx1=a;
  b=dy;
  dy=dy1;
  dy1=b;
}
で問題ないはずですよね…?
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ 玉の反射について
返信数: 10
閲覧数: 7325

Re: c++ 玉の反射について

色々教えて頂きありがとうございます。
本来なら物理計算をすべきですが、調べても良く分かりませんでした…

コード:

  
if(x-x1<=1 || x1-x<=1 && y-y1<=1 || y-y1<=1) {
  a=dx;
  dx=dx1;
  dx1=a;
  b=dy;
  dy=dy1;
  dy1=b;
}
こんな感じで判定範囲を広げたところ、一応跳ね返っているように見えましたが、挙動がおかしいです…1という数字がまずいのでしょうか?
判定範囲が一定でないというか、x軸の範囲が凄く広かったり、教えて頂いたように処理が2回連続で走っているように見られる部分があります…
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ 玉の反射について
返信数: 10
閲覧数: 7325

Re: c++ 玉の反射について

コード:

  
if(x==x1 && y==y1) {
  a=dx;
  dx=dx1;
  dx1=a;
  b=dy;
  dy=dy1;
  dy1=b;
}
x,y x1,y1というのが2つの玉の座標で、dx,dy dx1,dy1が速度です。
これで衝突時(同座標)に速度を入れ替えたつもりなんですが、上手くいかないです…
やり方が違うのでしょうか…?
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ 玉の反射について
返信数: 10
閲覧数: 7325

c++ 玉の反射について

現在タイマーを使って、斜め方向に進む2つの玉が、四方の壁に当たると反射するというものができています。2つの玉が衝突したときに跳ね返って、進行方向が変わるようにしたいのですが、やり方が分からないです…どのように書けば良いのでしょうか…?
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ ドット グラデーション
返信数: 5
閲覧数: 5138

Re: c++ ドット グラデーション

皆様ありがとうございます。先程始めたばかりで、ソースの貼り方も知らずにすみません。
Butterさんのソースコードで概ね合っています。
色が薄まる理由も分かり、納得できました。
by calbee
3年前
フォーラム: C言語何でも質問掲示板
トピック: c++ ドット グラデーション
返信数: 5
閲覧数: 5138

c++ ドット グラデーション

int r = 255, g = 0, b = 0;
for(x = 0; x < 256; ++x) {
r = r<255? r+1: 255;
g = g<255? g+1: 255;
b = b<255? b+1: 255;
col = RGB(r, g, b);
for(y = 0; y < 256; ++y) {
SetPixel(hdc, x, y, col);
}
}
何故これで色が薄まるのか分からないです…
半分まで徐々に薄めて(赤→白)、もう半分はその逆(白→赤)を作りたいのですが、どうすれば良いのでしょう…?

詳細検索ページへ移動する