前提・実現したいこと
++++++
-
+
+# +
-
+
-
+
- p+
++++++
[1:左,2:上,3:下,4:右]?
ここに数字を入れるとPが動くプログラムを作っているのですが、 (1,4)と(4,1)の位置は到着したタイミングでもう片方の座標ワープする。というのができません。
該当のソースコード
#include <stdio.h> int main(int argc,char*argv[]) { int w = 6, h = 7; int px = 4, py = 5; int gx = 1, gy = 2; for(int i = 0; i < w; i++){ printf("+"); } printf("\n"); for(int i = 1; i < (h - 1); i++){ printf("+"); for(int j = 1; j < (w - 1) ; j++){ if(i == py && j == px){ printf("p"); } else if(i == gy && j == gx){ printf("#"); } else{ printf(" "); } } printf("+\n"); } for(int i = 0; i < w; i++){ printf("+"); } printf("\n"); while(1){ int input; printf("[1:左,2:上,3:下,4:右]?"); scanf("%d",&input); if(input == 1){ px = px - 1; } else if(input == 2){ py = py - 1; } else if(input == 3){ py = py + 1; } else if(input == 4){ py = px + 1; } for(int i = 0; i < w; i++){ printf("+"); } printf("\n"); for(int i = 1; i < (h - 1); i++){ printf("+"); for(int j = 1; j < (w - 1) ; j++){ if(i == py && j == px){ printf("p"); } else if(i == gy && j == gx){ printf("#"); } else{ printf(" "); } } printf("+\n"); } for(int i = 0; i < w; i++){ printf("+"); } printf("\n"); if(px == gx && py == gy){ printf("脱出成功\n"); break; } } return 0; }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
このままではコードが見づらいので、質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
> というのができません。
そうですか。それでなにをしろ、と?
こう考えればどうでしょう、というと「ごちゃごちゃ言わずにそのまま動くプログラムを寄越せ」と怒り出す人も時々いるので、あなたが何を求めているのかの確認です。
コードは (```ソースコード```)の中に書きましょう。(Markdown方式)
もしくは "<code>"または"<コード>"のボタンを押して出てくるヤツの中に書きましょう。
今のままでは読みづらいです。
修正できるので修正しましょう。
> 到着したタイミングでもう片方の座標ワープする。というのができません。
なにをしたいのかイマイチわかりません。もちっと具遺体的に説明しよう
例えば左、左、左と行ってPの位置が(1.4)に来ると(4.1)に移るプログラムを教えて欲しいです。
ご確認下さい。
[推奨していない質問] https://teratail.com/help/avoid-asking
> コードをください・デバッグしてください等の丸投げの質問
> 何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。
正直,解決すべき課題がどこにあるのかが謎すぎる.
この人は既に
> if(px == gx && py == gy)
とかいう座標判定を既に書いているのだし,
移動する(=座標を変更する)処理も書いているわけで.
だったら「 (1,4) がどうの」いう話は楽勝で書けるんちゃうの? 何なの? マジで何なの?
どうせ課題か演習問題かのサンプルコードのコピペでしょう。自分で書いてたらこのような質問はしない。
BeatStarさんの回答へのコメントを見るに結局動くコードを寄越せってタイプっぽいですね
回答3件
あなたの回答
tips
プレビュー