検索結果 23 件

by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

解決にし忘れてました。
皆さん本当にありがとうございました。
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

>map.cpp(119): mBlocks[mPlayerY*mSizeX+mPlayerX].set(false,PLAYER); >でプレイヤー情報をクリアしただけで代わりの情報が入れられていないためです。 なるほど。それでmBlocks[mPlayerY*mSizeX+mPlayerX].mFlagsに未定義の値が入ってしまった結果今回の問題が起きたのですね。 試しにC_map::C_map内のswitchでいままでmBlocks[cnt].set(true,PLAYER)と書いていたのを mBlocks[cnt].set(true,PLAYER|SPACE)と書いて、set(fals...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

>座標(mem_x2,mem_y2)をチェックする必要はないのでは?

たしかにそうでした。修正させていただきました。しかし問題の解決とはいかなかったようです。

>あと,荷物を押して移動するパターンの記述がないような.

すみません、荷物を押さない移動がうまくいかないので、まだ書いていないのです。
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

長々とすみません。最後に、自分の書いたソリューションをそのまま上げておきますので必要ならばご活用ください。
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

map.cppです #include"map.h" bool C_map::isInsideofMap(int x,int y){ if(x<0||mSizeX<=x||y<0||mSizeY<=y){ return false; } return true; } C_map::C_map(const string& mapsrc){ //マップの読み込み mSizeX=0,mSizeY=0; mBlocks=0; mPlayerX=0,mPlayerY=0; int cnt=0; ifstream map(mapsrc); if(map.fail()){ cerr<<"file open e...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

map.hです #pragma once #include<iostream> #include<fstream> #include<string> using namespace std; #include"../block/block.h" class C_map{ private: int mSizeX,mSizeY; //マップの横幅、縦幅 C_block* mBlocks; //ブロックの配列 int mPlayerX,mPlayerY; //プレイヤーの座標 bool isInsideofMap(int x,int y); //渡した座標がマップ内なら真を、マップ外なら偽を返す C...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

block.cppです #include"block.h" C_block::C_block(){ mFlags=0; } bool C_block::check(unsigned int f)const{ return ((mFlags&f)!=0); } void C_block::set(bool true_or_false,unsigned int f){ if(true_or_false==true){ mFlags|=f; } else if(true_or_false==false){ mFlags&=~f; } } void C_block::draw()const{ if(c...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

block.hです #pragma once #include<iostream> using namespace std; enum E_blockflag{ WALL =1<<0, //壁 SPACE =1<<1, //スペース GOAL =1<<2, //ゴール PLAYER =1<<3, //プレイヤー NIMOTSU =1<<4, //荷物 }; class C_block{ private: unsigned int mFlags; public: C_block(); //フラグがオンかどうか調べる bool check(unsigned int f)const; //フラグのオ...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

main.hです

コード:

#pragma once

#include<iostream>
#include<string>
using namespace std;

#include"../classes/map/map.h"
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

以下、自分の書いたコードです。 main.cpp #include"main.h" void G_getinput(string& str); int main(){ string inputstr; //入力格納用 C_map Map("dat/map/map.txt"); while(true){ Map.draw(); //描画 G_getinput(inputstr); //入力受付 Map.update(inputstr); //入力情報の反映 } } void G_getinput(string& str){ cout<<"a:left s:right w:up z:down. c...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

お手本コードです。 #include <iostream> using namespace std; //#壁 _空間 .ゴール oブロック p人 const char gStageData[] = "\ ########\n\ # .. p #\n\ # oo #\n\ # #\n\ ########"; const int gStageWidth = 8; const int gStageHeight = 5; enum Object{ OBJ_SPACE, OBJ_WALL, OBJ_GOAL, OBJ_BLOCK, OBJ_BLOCK_ON_GOAL, OBJ_MAN, OBJ_MAN...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

Re: 荷物運びゲームのプログラム

マップの表示例です

########
# .. p #
# oo #
# #
########

どうも綺麗にかけませんが、お手本コードをコンパイルしてご確認ください。
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 荷物運びゲームのプログラム
返信数: 16
閲覧数: 2186

荷物運びゲームのプログラム

こんにちは よろしくお願いします 書籍「ゲームプログラマになる前に覚えておきたい技術」第一章の課題について質問です。 もし書籍をお持ちの方がいらしたらそちらを合わせて参照なされると質問の意図がわかりやすいかと思います。 自分は、この本の最初の課題である「荷物運びゲーム」の作成でつまづいてしまいました。 ゲームの仕様をざっと説明しますと、 ・以下の図のように壁を'#'、スペースを ' '、ゴール地点を'.'、プレイヤーを'p'、荷物を'o'、  ゴール地点上のプレイヤーを'P'、ゴール地点上の荷物を'O'でcoutを使って描画する ・プレイヤーはcinで一文字入力を行い、入力された文字に応じてプ...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました
返信数: 10
閲覧数: 1216

Re: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました

返信ありがとうございます。c_str()については今知りました。やはりもう一度C++を学習し直さなければと思いました。
そうですよね、stringをchar*にキャストできたら変ですもんね、DrawFormatStringにstringを渡す方法がわからなくて混乱してました。
何度も回答してくださってありがとうございました。ではおやすみなさい。
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました
返信数: 10
閲覧数: 1216

Re: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました

返信ありがとうございます。一度ポインタの勉強をし直してからチャレンジし直したいと思います。 はじめはstringを使っていたのですが、DrawFormatStringにstring型で文字列を渡せないという問題が起こったので途中で char*型に書き直しました。 DrawFormatstringにstring型の文字列を引数として渡す方法があるのでしょうか? それともDrawFormatStringにstring型の文字列を渡す場合はchar*型にキャストしなければいけないのでしょうか? 自分の技術レベルが根本的に足りてないということなので、これでこのトピックは一度解決扱いにしようと思います。...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました
返信数: 10
閲覧数: 1216

Re: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました

>-1で支障がありますか? 環境で戻り値が変わるので-1 で多分大丈夫だと思うんですが。

そうだったのですか。-1で大丈夫なら安心なのですが、それだと自分には
なぜこのソリューションをCtrl+f5でビルド(?)した時に強制終了するのかさっぱりわからなくなります。
ブレークポイントを配置してf5でデバッグしてみたんですが、今度は何も問題なさげに予定された通りの動きをしていました。
何が問題でCtrl+f5した際に強制終了してしまうのか、教えていただけませんか。
もう正直自分の手には負えなくなっています。
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました
返信数: 10
閲覧数: 1216

Re: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました

>まず、.sdfファイルやDebugフォルダは不要な上に重いので削除してアップしましょう。 了解しました。 >menu_elementのchar* m_nameの領域を確保せずにコピーしようとして落ちてるのではないですか? >確認はしていませんが、ブレイクポイントで一行ずつ見て行けばどこで落ちているか分かりますよ。 はい、m_nameの領域をmenu_elementのコンストラクタで確保したところ、どうやら問題は解決したようです。ありがとうございました。 ただ、Ctrl+f5で起動するとまた別の問題が起きたのか、エラーメッセージが出てプログラムが落ちてしまいます。 ブレイクポイントを使ってみた...
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました
返信数: 10
閲覧数: 1216

Re: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました

ファイルサイズが大きすぎるのか、添付に失敗したようなので、以下にうpしておきます。
重ね重ねよろしくお願いします。

http://www.dotup.org/uploda/www.dotup.o ... 8.zip.html
by ねんどじん
7年前
フォーラム: C言語何でも質問掲示板
トピック: 新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました
返信数: 10
閲覧数: 1216

新・ゲームプログラミングの館3.3章「簡単な選択画面を作る」でつまづいてしまいました

3.3章のサンプルプログラムをC++で書こうとしたところ、添付したコードができましたが、
Ctrl+f5を押しても真っ黒な画面が出てきてすぐ消える、という挙動になってしまいました。
コンパイル時にエラーが出ないのでどう解決すればいいかがよくわからないのですが、
何が問題でこのような挙動になってしまっているのでしょうか?
また、今後このような問題が起きた時の解決するための方針も合わせて教えていただけると大変助かります。
よろしくお願いします。
by ねんどじん
8年前
フォーラム: 作品お披露目掲示板
トピック: 2Dアクションゲームを作ってみました4
返信数: 22
閲覧数: 6647

Re: 2Dアクションゲームを作ってみました4

楽しませていただきました。狂人をちょっとだけやって絶望しましたw いくつか思ったこと書きますね。 魔理沙で普通をノーコンクリアしたんですけど、斬撃ボタンを連打してコンボ数とトレースを稼ぎ、バンバンマスパも撃っていく ゴリ押し戦法になりがちでした。一番下の難易度だからできる戦法なのかもしれませんが、 貯め切りをあえて使う場面が自分的にはあまり見いだせなかったです。貯め切りしながら移動できたらな、なんて思います。 あと魔弾についてなんですが、魔剣開放してトレースを失ってまで切る必要が感じられませんでした。 すべての魔弾を見たわけではないですが、基本STGでいう自機狙いですのでジャンプ一回でノーコス...
by ねんどじん
9年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムを別々のファイルに分割したいのですがやり方がわかりません。
返信数: 3
閲覧数: 389

Re: プログラムを別々のファイルに分割したいのですがやり方がわかりません。

global.hの中身を以下の3行で囲ってみてください

コード:

#ifndef GLOBAL_H
#define GLOBAL_H

//global.hの中身

#endif
何か変わりますか?
見当違いならすみません
by ねんどじん
9年前
フォーラム: C言語何でも質問掲示板
トピック: [ハンドルされていない例外が発生しました]とエラーが出る
返信数: 4
閲覧数: 4942

Re: [ハンドルされていない例外が発生しました]とエラーが出る

自分も初心者なのですごい見当違いなことを言ってるかもしれませんが・・・
CGameのstateに値は入っていますか?
by ねんどじん
9年前
フォーラム: 作品お披露目掲示板
トピック: 弾幕シューティング作ってみました
返信数: 6
閲覧数: 3059

Re: 弾幕シューティング作ってみました

プレイさせていただきました!大変おもしろかったです。
難易度は(NORMALしかやってませんが)手応えがあるけど難しすぎずいい感じだと思いました。
BGMが耳に優しくて長時間集中してプレイできるのもよかったです。
ところで、ボス本体にあたり判定はつけないのでしょうか?
あと、自分の理解不足な気もしますが、3面以降で魔力の補給がしにくい気もします。

個人的には散+風の組み合わせがおきにいりです。あれで張り付くのは楽しい。
完成版期待してます!

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