#1
by ユウ 1年目の中学生 » 7年前
趣味で、パックマンを作っているのですが敵を増やすとバグります。
解決策があれば教えてください。
コード:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include <time.h>
int MAP(void);
int INPUT(void);
void JUDGMENT(int way);
void ENEMY(void);
//void ENEMY_1(void);
//void ENEMY_2(void);
//void ENEMY_3(void);
int GAME_OVER(void);
int GAME_CLEAR(void);
#define MAP_X 17
#define MAP_Y 21
#define ENEMY_HOMANY 4
int stop;
int SOCER = 0;
int PLAYER_X,PLAYER_Y;
int ENEMY_X[4] = {},ENEMY_Y[4] = {};
int map[MAP_Y][MAP_X]={
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5},
{5,7,1,1,1,1,1,1,5,1,1,1,1,1,1,8,5},
{5,1,5,5,1,5,5,1,5,1,5,5,1,5,5,1,5},
{5,1,5,5,1,5,5,1,5,1,5,5,1,5,5,1,5},
{5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
{5,1,5,5,1,5,1,5,5,5,1,5,1,5,5,1,5},
{5,1,1,1,1,5,1,1,5,1,1,5,1,1,1,1,5},
{5,5,5,5,1,5,5,1,5,1,5,5,1,5,5,5,5},
{5,5,5,5,1,5,1,1,1,1,1,5,1,5,5,5,5},
{5,5,5,5,1,5,1,5,5,5,1,5,1,5,5,5,5},
{3,1,1,1,1,1,1,5,5,5,1,1,1,1,1,1,3},
{5,5,5,5,1,5,1,1,4,1,1,5,1,5,5,5,5},
{5,5,5,5,1,5,1,5,5,5,1,5,1,5,5,5,5},
{5,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,5},
{5,1,5,5,1,5,5,1,5,1,5,5,1,5,5,1,5},
{5,1,1,5,1,1,1,1,2,1,1,1,1,5,1,1,5},
{5,5,1,5,1,5,1,5,5,5,1,5,1,5,1,5,5},
{5,1,1,1,1,5,1,1,5,1,1,5,1,1,1,1,5},
{5,1,5,5,5,5,5,1,5,1,5,5,5,5,5,1,5},
{5,9,1,1,1,1,1,1,1,1,1,1,1,1,1,10,5},
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5}
};
int main(void){
int stop;
int map;
int GAME = 0;
while(1){
map = MAP();
if(map == 1) GAME = GAME_CLEAR();
else if(map == 2) GAME = GAME_OVER();
INPUT();
JUDGMENT(INPUT());
ENEMY();
//ENEMY_1();
//ENEMY_2();
//ENEMY_3();
if(GAME == 1) break;
}
stop = _getch();
return 0;
}
int MAP(){
int GAME_OVER_flag = 0;
int GAME_CLEAR_flag = 0;
system("cls");
for(int y = 0;y < MAP_Y; y++){
for(int x = 0;x < MAP_X; x++){
if(map[y][x] == 5) printf("■");
if((map[y][x] == 0)||(map[y][x] == 6)) printf("□");
if((map[y][x] == 1)||(map[y][x] == 3)){
printf("・");
GAME_CLEAR_flag = 1;
}
if(map[y][x] == 4) printf("F");
if(map[y][x] == 7){
ENEMY_Y[0] = y;
ENEMY_X[0] = x;
printf("▲");
}
if(map[y][x] == 8){
ENEMY_Y[1] = y;
ENEMY_X[1] = x;
printf("▲");
}
if(map[y][x] == 9){
ENEMY_Y[2] = y;
ENEMY_X[2] = x;
printf("▲");
}
if(map[y][x] == 10){
ENEMY_Y[3] = y;
ENEMY_X[3] = x;
printf("▲");
}
if(map[y][x] == 2){
PLAYER_Y = y;
PLAYER_X = x;
printf("C");
GAME_OVER_flag = 1;
}
}
printf("\n");
}
if(GAME_CLEAR_flag == 0) return 1;
if(GAME_OVER_flag == 0) return 2;
printf("YOUR SOCER IS %d",SOCER);
return 30;
}
int INPUT(){
int input;
int INPUT_flag = 1;
while(INPUT_flag){
if(_kbhit()){
input = _getch();
if(input == 0 || input == 244) input = _getch();
INPUT_flag =0;
}
}
return input;
}
void JUDGMENT(int way){
if(way == 0x48){//上
if(map[PLAYER_Y-1][PLAYER_X] == 5) MAP();
else{
if(map[PLAYER_Y-1][PLAYER_X] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y-1][PLAYER_X] = 2;
}
}
if(way == 0x50){//下
if(map[PLAYER_Y+1][PLAYER_X] == 5) MAP();
else{
if(map[PLAYER_Y+1][PLAYER_X] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y+1][PLAYER_X] = 2;
}
}
if(way == 0x4b){//左
if((map[PLAYER_Y][PLAYER_X-1] == 3)||(map[PLAYER_Y][PLAYER_X-1] == 6)){
map[PLAYER_Y][PLAYER_X] = 0;
if(map[PLAYER_Y][PLAYER_X-1] == 3) SOCER = SOCER+200;
PLAYER_X = 15;
map[PLAYER_Y][0] = 6;
map[PLAYER_Y][16] = 6;
}
if(map[PLAYER_Y][PLAYER_X-1] == 5) MAP();
else{
if(map[PLAYER_Y][PLAYER_X-1] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y][PLAYER_X-1] = 2;
}
}
if(way == 0x4d){//右
if((map[PLAYER_Y][PLAYER_X+1] == 3)||(map[PLAYER_Y][PLAYER_X+1] == 6)){
map[PLAYER_Y][PLAYER_X] = 0;
if(map[PLAYER_Y][PLAYER_X+1] == 3) SOCER = SOCER+200;
PLAYER_X = 1;
map[PLAYER_Y][0] = 6;
map[PLAYER_Y][16] = 6;
}
if(map[PLAYER_Y][PLAYER_X+1] == 5) MAP();
else{
if(map[PLAYER_Y][PLAYER_X+1] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y][PLAYER_X+1] = 2;
}
}
}
void ENEMY(){
for(int i = 0; i < ENEMY_HOMANY; i++){
if((PLAYER_Y > ENEMY_Y[i])&&(map[ENEMY_Y[i]+1][ENEMY_X[i]] != 5)){
if(map[ENEMY_Y[i]+1][ENEMY_X[i]] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]+1][ENEMY_X[i]] == 0)||(map[ENEMY_Y[i]+1][ENEMY_X[i]] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_Y[i] = ENEMY_Y[i]+1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
if((PLAYER_Y < ENEMY_Y[i])&&(map[ENEMY_Y[i]-1][ENEMY_X[i]] != 5)){
if(map[ENEMY_Y[i]-1][ENEMY_X[i]] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]-1][ENEMY_X[i]] == 0)||(map[ENEMY_Y[i]-1][ENEMY_X[i]] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_Y[i] = ENEMY_Y[i]-1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
if((PLAYER_X > ENEMY_X[i])&&(map[ENEMY_Y[i]][ENEMY_X[i]+1] != 5)){
if(map[ENEMY_Y[i]][ENEMY_X[i]+1] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]][ENEMY_X[i]+1] == 0)||(map[ENEMY_Y[i]][ENEMY_X[i]+1] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_X[i] = ENEMY_X[i]+1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
if((PLAYER_X < ENEMY_X[i])&&(map[ENEMY_Y[i]][ENEMY_X[i]-1] != 5)){
if(map[ENEMY_Y[i]][ENEMY_X[i]-1] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]][ENEMY_X[i]-1] == 0)||(map[ENEMY_Y[i]][ENEMY_X[i]-1] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_X[i] = ENEMY_X[i]-1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
}
//stop = _getch();
}
/*void ENEMY_1(){
if((PLAYER_Y > ENEMY_Y[0])&&(map[ENEMY_Y[0]+1][ENEMY_X[0]] != 5)){
if(map[ENEMY_Y[0]+1][ENEMY_X[0]] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]+1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]+1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
ENEMY_Y[0] = ENEMY_Y[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_Y < ENEMY_Y[0])&&(map[ENEMY_Y[0]-1][ENEMY_X[0]] != 5)){
if(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]-1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
ENEMY_Y[0] = ENEMY_Y[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X > ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]+1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]+1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X < ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]-1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]-1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
//stop = _getch();
}*/
/*void ENEMY_2(){
if((PLAYER_Y > ENEMY_Y[2])&&(map[ENEMY_Y[2]+1][ENEMY_X[2]] != 5)){
if(map[ENEMY_Y[2]+1][ENEMY_X[2]] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]+1][ENEMY_X[2]] == 0)||(map[ENEMY_Y[2]+1][ENEMY_X[2]] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_Y[2] = ENEMY_Y[2]+1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
if((PLAYER_Y < ENEMY_Y[2])&&(map[ENEMY_Y[2]-1][ENEMY_X[2]] != 5)){
if(map[ENEMY_Y[2]-1][ENEMY_X[2]] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]-1][ENEMY_X[2]] == 0)||(map[ENEMY_Y[2]-1][ENEMY_X[2]] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_Y[2] = ENEMY_Y[2]-1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
if((PLAYER_X > ENEMY_X[2])&&(map[ENEMY_Y[2]][ENEMY_X[2]+1] != 5)){
if(map[ENEMY_Y[2]][ENEMY_X[2]+1] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]][ENEMY_X[2]+1] == 0)||(map[ENEMY_Y[2]][ENEMY_X[2]+1] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_X[2] = ENEMY_X[2]+1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
if((PLAYER_X < ENEMY_X[2])&&(map[ENEMY_Y[2]][ENEMY_X[2]-1] != 5)){
if(map[ENEMY_Y[2]][ENEMY_X[2]-1] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]][ENEMY_X[2]-1] == 0)||(map[ENEMY_Y[2]][ENEMY_X[2]-1] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_X[2] = ENEMY_X[2]-1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
//stop = _getch();
}
void ENEMY_3(){
if((PLAYER_Y > ENEMY_Y[3])&&(map[ENEMY_Y[3]+1][ENEMY_X[3]] != 5)){
if(map[ENEMY_Y[3]+1][ENEMY_X[3]] == 1) map[ENEMY_Y[3]][ENEMY_X[3]] = 1;
if((map[ENEMY_Y[0]+1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]+1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_Y[0] = ENEMY_Y[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_Y < ENEMY_Y[0])&&(map[ENEMY_Y[0]-1][ENEMY_X[0]] != 5)){
if(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]-1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_Y[0] = ENEMY_Y[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X > ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]+1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]+1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X < ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]-1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]-1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
//stop = _getch();
}*/
int GAME_OVER(){
printf("GAME_OVER");
//stop = _getch();
return 1;
}
int GAME_CLEAR(){
printf("GAME_CLEAR");
// stop = _getch();
return 1;
}
趣味で、パックマンを作っているのですが敵を増やすとバグります。
解決策があれば教えてください。
[code]
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include <time.h>
int MAP(void);
int INPUT(void);
void JUDGMENT(int way);
void ENEMY(void);
//void ENEMY_1(void);
//void ENEMY_2(void);
//void ENEMY_3(void);
int GAME_OVER(void);
int GAME_CLEAR(void);
#define MAP_X 17
#define MAP_Y 21
#define ENEMY_HOMANY 4
int stop;
int SOCER = 0;
int PLAYER_X,PLAYER_Y;
int ENEMY_X[4] = {},ENEMY_Y[4] = {};
int map[MAP_Y][MAP_X]={
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5},
{5,7,1,1,1,1,1,1,5,1,1,1,1,1,1,8,5},
{5,1,5,5,1,5,5,1,5,1,5,5,1,5,5,1,5},
{5,1,5,5,1,5,5,1,5,1,5,5,1,5,5,1,5},
{5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5},
{5,1,5,5,1,5,1,5,5,5,1,5,1,5,5,1,5},
{5,1,1,1,1,5,1,1,5,1,1,5,1,1,1,1,5},
{5,5,5,5,1,5,5,1,5,1,5,5,1,5,5,5,5},
{5,5,5,5,1,5,1,1,1,1,1,5,1,5,5,5,5},
{5,5,5,5,1,5,1,5,5,5,1,5,1,5,5,5,5},
{3,1,1,1,1,1,1,5,5,5,1,1,1,1,1,1,3},
{5,5,5,5,1,5,1,1,4,1,1,5,1,5,5,5,5},
{5,5,5,5,1,5,1,5,5,5,1,5,1,5,5,5,5},
{5,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,5},
{5,1,5,5,1,5,5,1,5,1,5,5,1,5,5,1,5},
{5,1,1,5,1,1,1,1,2,1,1,1,1,5,1,1,5},
{5,5,1,5,1,5,1,5,5,5,1,5,1,5,1,5,5},
{5,1,1,1,1,5,1,1,5,1,1,5,1,1,1,1,5},
{5,1,5,5,5,5,5,1,5,1,5,5,5,5,5,1,5},
{5,9,1,1,1,1,1,1,1,1,1,1,1,1,1,10,5},
{5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5}
};
int main(void){
int stop;
int map;
int GAME = 0;
while(1){
map = MAP();
if(map == 1) GAME = GAME_CLEAR();
else if(map == 2) GAME = GAME_OVER();
INPUT();
JUDGMENT(INPUT());
ENEMY();
//ENEMY_1();
//ENEMY_2();
//ENEMY_3();
if(GAME == 1) break;
}
stop = _getch();
return 0;
}
int MAP(){
int GAME_OVER_flag = 0;
int GAME_CLEAR_flag = 0;
system("cls");
for(int y = 0;y < MAP_Y; y++){
for(int x = 0;x < MAP_X; x++){
if(map[y][x] == 5) printf("■");
if((map[y][x] == 0)||(map[y][x] == 6)) printf("□");
if((map[y][x] == 1)||(map[y][x] == 3)){
printf("・");
GAME_CLEAR_flag = 1;
}
if(map[y][x] == 4) printf("F");
if(map[y][x] == 7){
ENEMY_Y[0] = y;
ENEMY_X[0] = x;
printf("▲");
}
if(map[y][x] == 8){
ENEMY_Y[1] = y;
ENEMY_X[1] = x;
printf("▲");
}
if(map[y][x] == 9){
ENEMY_Y[2] = y;
ENEMY_X[2] = x;
printf("▲");
}
if(map[y][x] == 10){
ENEMY_Y[3] = y;
ENEMY_X[3] = x;
printf("▲");
}
if(map[y][x] == 2){
PLAYER_Y = y;
PLAYER_X = x;
printf("C");
GAME_OVER_flag = 1;
}
}
printf("\n");
}
if(GAME_CLEAR_flag == 0) return 1;
if(GAME_OVER_flag == 0) return 2;
printf("YOUR SOCER IS %d",SOCER);
return 30;
}
int INPUT(){
int input;
int INPUT_flag = 1;
while(INPUT_flag){
if(_kbhit()){
input = _getch();
if(input == 0 || input == 244) input = _getch();
INPUT_flag =0;
}
}
return input;
}
void JUDGMENT(int way){
if(way == 0x48){//上
if(map[PLAYER_Y-1][PLAYER_X] == 5) MAP();
else{
if(map[PLAYER_Y-1][PLAYER_X] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y-1][PLAYER_X] = 2;
}
}
if(way == 0x50){//下
if(map[PLAYER_Y+1][PLAYER_X] == 5) MAP();
else{
if(map[PLAYER_Y+1][PLAYER_X] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y+1][PLAYER_X] = 2;
}
}
if(way == 0x4b){//左
if((map[PLAYER_Y][PLAYER_X-1] == 3)||(map[PLAYER_Y][PLAYER_X-1] == 6)){
map[PLAYER_Y][PLAYER_X] = 0;
if(map[PLAYER_Y][PLAYER_X-1] == 3) SOCER = SOCER+200;
PLAYER_X = 15;
map[PLAYER_Y][0] = 6;
map[PLAYER_Y][16] = 6;
}
if(map[PLAYER_Y][PLAYER_X-1] == 5) MAP();
else{
if(map[PLAYER_Y][PLAYER_X-1] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y][PLAYER_X-1] = 2;
}
}
if(way == 0x4d){//右
if((map[PLAYER_Y][PLAYER_X+1] == 3)||(map[PLAYER_Y][PLAYER_X+1] == 6)){
map[PLAYER_Y][PLAYER_X] = 0;
if(map[PLAYER_Y][PLAYER_X+1] == 3) SOCER = SOCER+200;
PLAYER_X = 1;
map[PLAYER_Y][0] = 6;
map[PLAYER_Y][16] = 6;
}
if(map[PLAYER_Y][PLAYER_X+1] == 5) MAP();
else{
if(map[PLAYER_Y][PLAYER_X+1] == 1) SOCER = SOCER+100;
map[PLAYER_Y][PLAYER_X] = 0;
map[PLAYER_Y][PLAYER_X+1] = 2;
}
}
}
void ENEMY(){
for(int i = 0; i < ENEMY_HOMANY; i++){
if((PLAYER_Y > ENEMY_Y[i])&&(map[ENEMY_Y[i]+1][ENEMY_X[i]] != 5)){
if(map[ENEMY_Y[i]+1][ENEMY_X[i]] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]+1][ENEMY_X[i]] == 0)||(map[ENEMY_Y[i]+1][ENEMY_X[i]] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_Y[i] = ENEMY_Y[i]+1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
if((PLAYER_Y < ENEMY_Y[i])&&(map[ENEMY_Y[i]-1][ENEMY_X[i]] != 5)){
if(map[ENEMY_Y[i]-1][ENEMY_X[i]] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]-1][ENEMY_X[i]] == 0)||(map[ENEMY_Y[i]-1][ENEMY_X[i]] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_Y[i] = ENEMY_Y[i]-1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
if((PLAYER_X > ENEMY_X[i])&&(map[ENEMY_Y[i]][ENEMY_X[i]+1] != 5)){
if(map[ENEMY_Y[i]][ENEMY_X[i]+1] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]][ENEMY_X[i]+1] == 0)||(map[ENEMY_Y[i]][ENEMY_X[i]+1] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_X[i] = ENEMY_X[i]+1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
if((PLAYER_X < ENEMY_X[i])&&(map[ENEMY_Y[i]][ENEMY_X[i]-1] != 5)){
if(map[ENEMY_Y[i]][ENEMY_X[i]-1] == 1) map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
if((map[ENEMY_Y[i]][ENEMY_X[i]-1] == 0)||(map[ENEMY_Y[i]][ENEMY_X[i]-1] == 2)) map[ENEMY_Y[i]][ENEMY_X[i]] = 0;
//map[ENEMY_Y[i]][ENEMY_X[i]] = 1;
ENEMY_X[i] = ENEMY_X[i]-1;
map[ENEMY_Y[i]][ENEMY_X[i]] = 7;
}
}
//stop = _getch();
}
/*void ENEMY_1(){
if((PLAYER_Y > ENEMY_Y[0])&&(map[ENEMY_Y[0]+1][ENEMY_X[0]] != 5)){
if(map[ENEMY_Y[0]+1][ENEMY_X[0]] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]+1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]+1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
ENEMY_Y[0] = ENEMY_Y[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_Y < ENEMY_Y[0])&&(map[ENEMY_Y[0]-1][ENEMY_X[0]] != 5)){
if(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]-1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
ENEMY_Y[0] = ENEMY_Y[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X > ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]+1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]+1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X < ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]-1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]-1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
//stop = _getch();
}*/
/*void ENEMY_2(){
if((PLAYER_Y > ENEMY_Y[2])&&(map[ENEMY_Y[2]+1][ENEMY_X[2]] != 5)){
if(map[ENEMY_Y[2]+1][ENEMY_X[2]] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]+1][ENEMY_X[2]] == 0)||(map[ENEMY_Y[2]+1][ENEMY_X[2]] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_Y[2] = ENEMY_Y[2]+1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
if((PLAYER_Y < ENEMY_Y[2])&&(map[ENEMY_Y[2]-1][ENEMY_X[2]] != 5)){
if(map[ENEMY_Y[2]-1][ENEMY_X[2]] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]-1][ENEMY_X[2]] == 0)||(map[ENEMY_Y[2]-1][ENEMY_X[2]] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_Y[2] = ENEMY_Y[2]-1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
if((PLAYER_X > ENEMY_X[2])&&(map[ENEMY_Y[2]][ENEMY_X[2]+1] != 5)){
if(map[ENEMY_Y[2]][ENEMY_X[2]+1] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]][ENEMY_X[2]+1] == 0)||(map[ENEMY_Y[2]][ENEMY_X[2]+1] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_X[2] = ENEMY_X[2]+1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
if((PLAYER_X < ENEMY_X[2])&&(map[ENEMY_Y[2]][ENEMY_X[2]-1] != 5)){
if(map[ENEMY_Y[2]][ENEMY_X[2]-1] == 1) map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
if((map[ENEMY_Y[2]][ENEMY_X[2]-1] == 0)||(map[ENEMY_Y[2]][ENEMY_X[2]-1] == 2)) map[ENEMY_Y[2]][ENEMY_X[2]] = 0;
//map[ENEMY_Y[2]][ENEMY_X[2]] = 1;
ENEMY_X[2] = ENEMY_X[2]-1;
map[ENEMY_Y[2]][ENEMY_X[2]] = 7;
}
//stop = _getch();
}
void ENEMY_3(){
if((PLAYER_Y > ENEMY_Y[3])&&(map[ENEMY_Y[3]+1][ENEMY_X[3]] != 5)){
if(map[ENEMY_Y[3]+1][ENEMY_X[3]] == 1) map[ENEMY_Y[3]][ENEMY_X[3]] = 1;
if((map[ENEMY_Y[0]+1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]+1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_Y[0] = ENEMY_Y[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_Y < ENEMY_Y[0])&&(map[ENEMY_Y[0]-1][ENEMY_X[0]] != 5)){
if(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]-1][ENEMY_X[0]] == 0)||(map[ENEMY_Y[0]-1][ENEMY_X[0]] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_Y[0] = ENEMY_Y[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X > ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]+1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]+1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]+1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]+1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
if((PLAYER_X < ENEMY_X[0])&&(map[ENEMY_Y[0]][ENEMY_X[0]-1] != 5)){
if(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 1) map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
if((map[ENEMY_Y[0]][ENEMY_X[0]-1] == 0)||(map[ENEMY_Y[0]][ENEMY_X[0]-1] == 2)) map[ENEMY_Y[0]][ENEMY_X[0]] = 0;
//map[ENEMY_Y[0]][ENEMY_X[0]] = 1;
ENEMY_X[0] = ENEMY_X[0]-1;
map[ENEMY_Y[0]][ENEMY_X[0]] = 7;
}
//stop = _getch();
}*/
int GAME_OVER(){
printf("GAME_OVER");
//stop = _getch();
return 1;
}
int GAME_CLEAR(){
printf("GAME_CLEAR");
// stop = _getch();
return 1;
}
[/code]