こちらの単体のプログラムを分解して複数のプログラムからなる中のplayerhennsuu.hとplayer2.hに変えき替えたいのですが、以下のようなエラーが出たり、実行できても主人公の画像の周りの白い部分が消えないままなどのバグが発生してしまい困っています。
こちらが複数のプログラムです。
メイン
player2.h
key.h
talk.h
タイトル.h
コンティニュー.h
playerhennsuu
単体のプログラムを以下のサイトに載せたように分割しました。
player2.h
playerhennsuu
しかし、以下のようなエラーが出てきます。ちゃんと定義されていると思うのですが何がダメなのでしょうか?
1>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(831,93): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
以下は全体のエラーです。
1>
11>Source2.cpp 21>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\playerhennsuu.h(7,1): error C2084: 関数 'int gpUpdatePad(void)' は既に本体を持っています。 31>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\key.h(19): message : 'gpUpdatePad' の以前の定義を確認してください 41>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(14,2): error C2065: 'gpUpdatePad': 定義されていない識別子です。 51>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(831,93): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 61>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(834,95): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 71>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(834,48): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 81>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(840,95): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 91>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(840,48): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 101>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(846,95): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 111>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(846,48): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 121>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(856,93): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 131>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(859,95): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 141>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(859,48): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 151>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(869,95): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 161>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(869,48): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 171>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(875,95): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 181>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\player2.h(875,48): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。 191>C:\Users\Daito\Desktop\DxLib_VC\サンプルプログラム実行用フォルダ\Source2.cpp(169,13): warning C4566: ユニバーサル文字名 '\u00A5' によって表示されている文字は、現在のコード ページ (932) で表示できません 201>プロジェクト "VisualStudio_2019用.vcxproj" のビルドが終了しました -- 失敗。 21========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== 22コード
あの後、以下のようにバトルに関するヘッダファイルの部分に以下のものを加えました。
//敵を描画 if (enemystayhere == 0) { DrawExtendGraph(pos[enemyY][enemyX][0] - 14, pos[enemyY][enemyX][1] - 66, pos[enemyY][enemyX][0] + 64, pos[enemyY][enemyX][1] + 66, enemyImage, TRUE); } if (stayhere == 1) { ++enemystayhere; } if (enemystayhere > 0 && enemystayhere < 500) { DrawExtendGraph(pos[1][4][0] - 14, pos[1][4][1] - 66, pos[1][4][0] + 64, pos[1][4][1] + 66, enemyImage, TRUE); } if (enemystayhere > 500) { enemystayhere = 0; stayhere = 0; enemymovelock = 0; }
しかし、if (enemystayhere > 0 && enemystayhere < 500)での描画が出来ません。何時間も考えましたがわからないままです。
どうか解決のために知力を貸してください。
こちらはバトルに関する新しいヘッダファイルです。
//pastebin.com/TrFkBqdu
新しいメインプログラムです。
//pastebin.com/z0VEhu7a
新しい変数のヘッダファイルです。
//pastebin.com/zKxRaZQc
その他のヘッダファイルはいじっていません。