回答編集履歴

2

壁の描画を追加

2019/08/22 12:11

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -185,3 +185,29 @@
185
185
  }
186
186
 
187
187
  ```
188
+
189
+ プレイヤーを描画する前に壁を描画してもよいでしょう。
190
+
191
+ ```C++
192
+
193
+ for (int i = 0; i < 5; i++) {
194
+
195
+ for (int j = 0; j < 5; j++) {
196
+
197
+ if (idou[i][j] == 1) {
198
+
199
+ int x = j * 60 + 100, y = i * 80 + 100;
200
+
201
+ DrawGraph(x, y, gh[11], FALSE); // 壁を裏画面に描画
202
+
203
+ }
204
+
205
+ }
206
+
207
+ }
208
+
209
+ int x = nx * 60 + 100, y = ny * 80 + 100; // 表示位置に変換
210
+
211
+ DrawGraph(x, y, playerphoto, FALSE); // プレイヤーを裏画面に描画
212
+
213
+ ```

1

バグ修正

2019/08/22 12:11

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -88,9 +88,11 @@
88
88
 
89
89
  if (Key[KEY_INPUT_RIGHT] == 1) { // カーソルキーの右が押されている
90
90
 
91
+ move = 1;
92
+
91
93
  if (idou[nx + 1][ny] == 0) { //移動先が空いていれば
92
94
 
93
- move = 1; nx = nx + 1; playerphoto = gh[7]; // 右向き
95
+ nx = nx + 1; playerphoto = gh[7]; // 右向き
94
96
 
95
97
  }
96
98
 
@@ -104,9 +106,11 @@
104
106
 
105
107
  if (Key[KEY_INPUT_LEFT] == 1) {
106
108
 
109
+ move = 1;
110
+
107
111
  if (idou[nx - 1][ny] == 0) { //移動先が空いていれば
108
112
 
109
- move = 1; nx = nx - 1; playerphoto = gh[2]; // 左向き
113
+ nx = nx - 1; playerphoto = gh[2]; // 左向き
110
114
 
111
115
  }
112
116
 
@@ -120,9 +124,11 @@
120
124
 
121
125
  if (Key[KEY_INPUT_UP] == 1) {
122
126
 
127
+ move = 1;
128
+
123
129
  if (idou[nx][ny - 1] == 0) { //移動先が空いていれば
124
130
 
125
- move = 1; ny = ny - 1; playerphoto = gh[4]; // 上向き
131
+ ny = ny - 1; playerphoto = gh[4]; // 上向き
126
132
 
127
133
  }
128
134
 
@@ -136,9 +142,11 @@
136
142
 
137
143
  if (Key[KEY_INPUT_DOWN] == 1) {
138
144
 
145
+ move = 1;
146
+
139
147
  if (idou[nx][ny + 1] == 0) { //移動先が空いていれば
140
148
 
141
- move = 1; ny = ny + 1; playerphoto = gh[3]; // 下向き
149
+ ny = ny + 1; playerphoto = gh[3]; // 下向き
142
150
 
143
151
  }
144
152