大魔王がC言語で作った一筆書きプログラム

大魔王がC言語で作った一筆書きプログラム

大魔王ダークロード 2024-05-26 16:38:04
通報
visual studioでしか動きません。

【ソースコード】

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define GYO 5 /* 迷路の行数 */
#define RETU 5 /* 迷路の列数 */

/* 迷路データ */
int meiro[GYO][RETU] = {
{1, 1, 1, 1, 1},
{1, 0, 0, 0, 1},
{1, 0, 1, 0, 1},
{1, 0, 0, 0, 1},
{1, 1, 1, 1, 1}
};

int px, py;
int a;
int count;

void print_screen(void);

void print_screen(void) {

system("cls");

for (int y = 0; y < GYO; y++) {
for (int x = 0; x < RETU; x++) {
if (x == px && y == py) {
printf("P");
}
else if (meiro[y][x] == 0) {
printf(" ");
}
else if (meiro[y][x] == 1) {
printf("■");
}
else if (meiro[y][x] == 2) {
printf("★");
}
}
printf("\n");
}

}


int main(void) {

px = 1;
py = 1;
a = 0;

do {

print_screen();

printf("px:%d py:%d\n", px, py);
printf("count:%d\n", count);

char key = _getch();

switch (_getch()) {
case 'w': a = 1; break;
case 's': a = 2; break;
case 'a': a = 3; break;
case 'd': a = 4; break;
}

if (a == 1) {
if (meiro[py - 1][px] == 0) {
py--;
meiro[py + 1][px] = 2;
count++;
}
}

if (a == 2) {
if (meiro[py + 1][px] == 0) {
py++;
meiro[py - 1][px] = 2;
count++;
}
}

if (a == 3) {
if (meiro[py][px - 1] == 0) {
px--;
meiro[py][px + 1] = 2;
count++;
}
}

if (a == 4) {
if (meiro[py][px + 1] == 0) {
px++;
meiro[py][px - 1] = 2;
count++;
}
}
} while (count < 7);

system("cls");

print_screen();

printf("px:%d py:%d\n", px, py);
printf("count:%d\n", count);
printf("CLEAR!");
}

ニックネーム: 又は匿名を選択:
トリップ: ※任意 半角英数8-16文字
下げ おやくそく
※トリップに特定の文字列を入力することで、自分だけのIDが表示されます
※必ずおやくそくのページの内容をご理解いただいた上でご投稿ください
※顔文字など、全角の漢字・ひらがな・カタカナを含まない文章は投稿できません。
※メールアドレスや電話番号などの個人情報や、メル友の募集、出会い目的の投稿はご遠慮ください




Copyright コミュティア All Rights Reserved.
スレッドを作る

トピック名


ニックネーム

(ニックネームはリストから選択もできます: )

トピック本文


トリップ ※任意 半角英数8-16文字



※トリップに特定の文字列を入力することで、自分だけのIDが表示されます
※メールアドレスや電話番号などの個人情報や、メル友の募集、出会い目的の投稿はご遠慮ください
おやくそく



管理人室
ご意見・ご要望はこちらへ