検索結果 22 件

by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 桁のでかい場合のprintfの限界
返信数: 2
閲覧数: 1720

Re: 桁のでかい場合のprintfの限界

みけCATさんありがとうございます。
インクルードコピーしてませんでした!すみません;;

この現象は環境による仕様なのですね~。

またよろしくお願いします!
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 桁のでかい場合のprintfの限界
返信数: 2
閲覧数: 1720

桁のでかい場合のprintfの限界

桁がでかい計算をC言語でやろうと思い、

コード:

int main(){

	double a = 123456789012345678901234567890.0;

	printf("%f\n",a);

	return 0;
}

のようなコードを書いてコンパイルしてみると、
123456789012345680000000000000.000000
のような値が表示されていました。
17桁目から繰り上がりされているようですが、これはdouble型の仕様なのでしょうか?
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 壁の当たり判定について
返信数: 10
閲覧数: 4268

Re: 壁の当たり判定について

確かに間違っていました! 条件式に付ける変数を細かく分けてみました。 // 左 left_x = (x-8) / 60; leftup_y = y / 60; leftdown_y = (y+60) / 60; // 右 right_x = (x+68) / 60; rightup_y = y / 60; rightdown_y = (y+60) / 60; // 上 up1_x = x / 60; up2_x = (x+60) / 60; up_y = (y-8) / 60; // 下 down1_x = x / 60; down2_x = (x+60) / 60; down_y = (y+...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 壁の当たり判定について
返信数: 10
閲覧数: 4268

Re: 壁の当たり判定について

条件を&&にしたところ、
床にぶつかったときに右、左に行けなくなってしまいました。
壁の時は上下に行けなくなってしまいました。
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 壁の当たり判定について
返信数: 10
閲覧数: 4268

Re: 壁の当たり判定について

一応行けたら行く方式で書いてみました。 すり抜けが多いのでこれから修正していきます。 プログラムの参考にしたサイトが http://zahyou.6.ql.bz/cgame/act/hit.htm の方法を取っていて、うまくいかなかったのでif文を増やしてしまいました。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ // Dxライブラリ初期設定 ChangeWindowMode(true); // 全画面false ウィンドウtrue SetGraphMode(960,540,16); // 画面サイ...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 壁の当たり判定について
返信数: 10
閲覧数: 4268

Re: 壁の当たり判定について

usaoさんありがとうございます。 たしかに条件式が変だなと思ったので修正しました。 また、角にいるときの条件文を追加しました。 そうしたところ下へ加速することはなくなりました! 次になのですが、 ・床沿いに崖の方まで移動したとき。 ・壁沿いに先端の方まで移動したとき。 といった場合はどのように組めばよいのでしょうか? 壁沿いに~の方を実装すると床沿いのものができなくなり、 逆もまたしかりといった感じで迷っています。 そういった場合は床沿いフラグ、壁沿いフラグを作って、条件式に追加した方がよろしいでしょうか・・・? アドバイスお願いいたします。 #include "DxLib.h" int W...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 壁の当たり判定について
返信数: 10
閲覧数: 4268

Re: 壁の当たり判定について

みけCATさん返信ありがとうございます。 問題を再現できるコードを準備しました。 キー移動で壁にぶつかると下の方に急速に加速してしまいます。 また、斜め入力をしながら壁に突っ込むと壁の中を移動できてしまいます。 斜め入力を離すと下へ加速していきます。 といった現象が発生してしまいました。 #include "DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ // Dxライブラリ初期設定 ChangeWindowMode(true); // 全画面false ウィンドウtrue SetGraphMode(960,540,16)...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: 壁の当たり判定について
返信数: 10
閲覧数: 4268

壁の当たり判定について

現在Dxライブラリでアクションゲームを作っています。 マップを制作するにあたり、map配列にint型データを入れています。 キャラクターは四角い判定で、四隅に判定を持ち、マップと照らし合わせて衝突判定を取っています。 天井、床の当たり判定はうまくいったのですが、 壁の当たり判定がうまくいきません。 当たり判定の条件がいけないと思ったのですが、うまいこと思いつきませんでした。 ここが原因であろうというコードを載せておきます。 助言お願いします! /* 現在のマップ配列 static int Map_1[MAP_Y_MAX][MAP_X_MAX] = { {0,0,0,0,0,0,0,0,0,0,...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: オセロの反転の考え方について
返信数: 11
閲覧数: 7390

Re: オセロの反転の考え方について

お忙しい中返信、修正ありがとうございます! 今度こそ解決しました。 色々と試してみたら、 // Check_stone if(right == -1 * turn && !((j+2)>7)){ for(x=j;x<MASU;x++){ if(field[x+1][i] == PUTOK || field[x+1][i] == EMPTY){ break; } if(field[x+1][i] == turn){ field[j][i] = PUTOK; break; } } } // Change_stone if(right = -1 * turn && !((j+2)>7)){ dx =...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: オセロの反転の考え方について
返信数: 11
閲覧数: 7390

Re: オセロの反転の考え方について

指摘ありがとうございます。 最後の最後でまた躓いちゃいました。 ☆→置ける場所 ●→黒 ○→白 ☆●●●●●☆○ こういった並びのところの一番左のおける場所へ置いたら、 ○○○○○○○○ のように、無視してひっくりかえってしまいました。 // 初期石追加 field[3][3] = WHITE; field[3][4] = BLACK; field[4][4] = WHITE; field[4][3] = BLACK; field[1][3] = BLACK; field[2][3] = BLACK; field[6][3] = BLACK; これの後攻で再現できます。 Check_stone...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: オセロの反転の考え方について
返信数: 11
閲覧数: 7390

Re: オセロの反転の考え方について

斜め処理追加できました!! 走査もバグがあったので治しました。 それに勝敗判定もつけ、多分完成しました! サポートしてくださったyokoさんありがとうございました! もしソースにこうした方が良い点などがありましたら指摘お願いします。 また困ったときにここに書き込もうと思います。 その時見かけたらよろしくお願いします。 #include<stdio.h> #include<math.h> #define BLACK 1 #define WHITE -1 #define EMPTY 0 #define PUTOK 2 int field[8][8]; // フィールド座標 X,Y int turn...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: オセロの反転の考え方について
返信数: 11
閲覧数: 7390

Re: オセロの反転の考え方について

yokoさんありがとうございます! 遅くなってしまいもうしわけありません;; 指摘箇所を訂正し、 上下左右の反転を可能にすることができました! そして斜めなのですが、どういう風に探索していけばいいのか想像ついていないのでヒントお願いします・・・。 毎回聞いてしまって申し訳ないのですが、よろしくお願いします。 #include<stdio.h> #include<math.h> #define BLACK 1 #define WHITE -1 #define EMPTY 0 #define PUTOK 2 int field[8][8]; // フィールド座標 X,Y int turn = BL...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: オセロの反転の考え方について
返信数: 11
閲覧数: 7390

Re: オセロの反転の考え方について

yokoさんありがとうございます! とりあえず縦横のみの場所特定の実装ができました! 斜めの処理より先に縦横反転も作ってしまおうと思っているのですが、 色の反転で迷走中なので、詳しく教えて頂きたいです。 #include<stdio.h> #include<math.h> #define BLACK 1 #define WHITE -1 #define EMPTY 0 #define PUTOK 2 int field[8][8]; // フィールド座標 X,Y int turn = BLACK; // フィールド描画 void Draw_field(){ int i,j; // for用 /...
by jun3453
8年前
フォーラム: C言語何でも質問掲示板
トピック: オセロの反転の考え方について
返信数: 11
閲覧数: 7390

オセロの反転の考え方について

今課題でオセロのプログラミングをしています。 盤の表示とコマの配置をするとこまで来ましたが、 置ける場所の特定と反転の仕組みの考え方がイマイチ理解できません。 場所の特定で考えていたのが、 黒石発見 →  8方向の白石があるか調べる →  白石があれば、その白石の次へ → 空きマスがあればそこに置ける。 というもので、反転はどうすればいいのかまだわかっていません。 いろんなページを見ましたが、サンプルが多く、どれを実装したらいいのかわかりませんでした。 考え方だけでもいいので教えていただければと思っています。 #include<stdio.h> #include<math.h> int fie...
by jun3453
10年前
フォーラム: C言語何でも質問掲示板
トピック: アクションゲーム作成中です。マップ作製のことで教えてほしいことがあります。
返信数: 4
閲覧数: 2517

Re: アクションゲーム作成中です。マップ作製のことで教えてほしいことがあります。

とりあえず今のところ問題がないので、解決という形で保留します。
また聞きたいことがあったら書き込むので、その時はみなさんお願いします!
by jun3453
10年前
フォーラム: C言語何でも質問掲示板
トピック: アクションゲーム作成中です。マップ作製のことで教えてほしいことがあります。
返信数: 4
閲覧数: 2517

Re: アクションゲーム作成中です。マップ作製のことで教えてほしいことがあります。

外出中なのでスマホから…。 N.Rさん、スクロールの件ありがとうございます。帰ったらやってみようかと思います。 足場ランダムの件は明示できてなくて申し訳ないです。 最初の投稿のときに考えていたのは、 画像を二枚用意して、一枚目と二枚目を繋げて表示させ、二枚目が終わるときに一枚目に戻すというものを考えていました。 その一枚目と二枚目をランダムに表示させて、永遠に続くような感じのものを作っていこうと考えていました。 国語力不足ですみません; N.Rさんの前者のを作っていこうと考えていました。 避けられなくてもとりあえず形になればなと…。 さっき考えていて、当たり判定(落下判定)をどうつければいいか...
by jun3453
10年前
フォーラム: C言語何でも質問掲示板
トピック: アクションゲーム作成中です。マップ作製のことで教えてほしいことがあります。
返信数: 4
閲覧数: 2517

アクションゲーム作成中です。マップ作製のことで教えてほしいことがあります。

ウィンドランナーのような強制横スクロールのスコアアタックゲームを作っています。 現在、キャラクターのジャンプと背景のスクロールくらいしかできておりません。 教えていただきたいのは、足場をランダムに表示させ、それをスクロールさせたいのですが、 //(略) DrawGraph(scrollX,430,graund[0],true); DrawGraph(scrollX + 1000 ,430,graund[1],true); // スクロールリセット if(scrollX == -1000){ scrollX = 0; } 背景もこれと同じ方法でスクロールさせています。 画像が同じものなら違和感は...
by jun3453
10年前
フォーラム: C言語何でも質問掲示板
トピック: STGで弾をリロード式にする工夫をしているのですが・・・
返信数: 6
閲覧数: 3128

Re: STGで弾をリロード式にする工夫をしているのですが・・・

無事完成しました! ISLeさんありがとうございました! if(keyInstance->GetInputKeyFrame(keyInstance->keyInput.P1shot) % 10 == 1){ //弾丸生成 if(Ammo > 0){ creatBullet(); Ammo -= 1; } }else{ if(!Reloading){ if(keyInstance->GetInputKeyFrame(keyInstance->keyInput.P1reload)){ Reloading = true; timer = GetNowCount(); } }else{ if(GetN...
by jun3453
10年前
フォーラム: C言語何でも質問掲示板
トピック: STGで弾をリロード式にする工夫をしているのですが・・・
返信数: 6
閲覧数: 3128

Re: STGで弾をリロード式にする工夫をしているのですが・・・

今からISLeさんのやつを試してみようと思います!
by jun3453
10年前
フォーラム: C言語何でも質問掲示板
トピック: STGで弾をリロード式にする工夫をしているのですが・・・
返信数: 6
閲覧数: 3128

Re: STGで弾をリロード式にする工夫をしているのですが・・・

仕様を書き忘れてました。申し訳ないです。

弾が6発で、
ショットボタンとリロードボタンに分けておいて、
とりあえず弾が0の時にリロードボタンを押すことでリロードとしています。

ただそれだとリロードボタンとショットボタンを連打するだけでリロードの意味がないため、
3秒のリロードタイムを設けることにしたのですが、
最初のとおりSleepや、Wait、while(GetNowCount() - スタート時刻 < 時間)ではゲームが止まってしまうのでどうしようかなといった状況です。
by jun3453
10年前
フォーラム: C言語何でも質問掲示板
トピック: STGで弾をリロード式にする工夫をしているのですが・・・
返信数: 6
閲覧数: 3128

STGで弾をリロード式にする工夫をしているのですが・・・

対戦型のSTGを作っています。 思い付きで弾をリロード式にしようと思い、やろうと思ったのですが、 Sleepや、Wait、while(GetNowCount() - スタート時刻 < 時間)ではゲーム自体が止まってしまいますよね? そういうときはどのような処理をさせたらよいのでしょうか? 一応このような形で作っています。 Ammo = 弾数 if(keyInstance->GetInputKeyFrame(keyInstance->keyInput.P1shot) % 10 == 1){ //弾丸生成 if(Ammo > 0){ creatBullet(); Ammo -= 1; } } if...
by jun3453
13年前
フォーラム: 学生で集まってみる?
トピック: 自己紹介!
返信数: 56
閲覧数: 35230

Re: 自己紹介!

はじめまして。
jun3453と申します。現在高1です。
最近はC++とHSPをやっています。
C++は初心者なので、ここで皆さんから学ばせていただこうと思います。
最近は龍神録プログラミングを参考(コピペに近い)にして弾幕シューティングを作っています。

専門学校とかに行ってゲームプログラミングの仕事につけたらなあと思っています。
今後ともよろしくおねがいしますね^^

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