TOP > 雑談掲示板

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



▼下へ

自分のスレッドを作る
■: 大魔王ダークロード
[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!");
}


1: 大魔王ダークロード 
[2024-05-26 16:40:14] [×]
この一筆書き、
スクラッチで作ろうと思うと
地味にめんどくさいんだよな。
(シューティングはスクラッチの方が作りやすいけど)

2: り 
[2024-05-26 19:20:26] [×]
きつねくん小学生なのに物知りねw

3: り 
[2024-05-26 19:20:26] [×]
きつねくん小学生なのに物知りねw


▲上へ



名前: 下げ

トリップ:  ※半角英数8-16文字以内

お約束
※トリップを入力すると、自分だけのIDが表示されます




[0]チャットちゃっとTOP
[1]雑談掲示板
[9]最新の状態に更新
(C)コミュティア