以下是一个简单的植物大战僵尸游戏的C语言代码示例:

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

#define ROWS 5
#define COLS 9

typedef struct {
    int x;
    int y;
    int life;
} Plant;

typedef struct {
    int x;
    int y;
    int life;
} Zombie;

Plant plants[ROWS][COLS];
Zombie zombies[ROWS][COLS];

void initialize() {
    // 初始化植物和僵尸
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            plants[i][j].x = i;
            plants[i][j].y = j;
            plants[i][j].life = 3;
            zombies[i][j].x = i;
            zombies[i][j].y = j;
            zombies[i][j].life = 3;
        }
    }
}

void draw() {
    // 绘制游戏画面
    system("cls");
    printf("植物大战僵尸\n");
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            if (plants[i][j].life > 0) {
                printf("P ");
            } else if (zombies[i][j].life > 0) {
                printf("Z ");
            } else {
                printf(". ");
            }
        }
        printf("\n");
    }
}

void update() {
    // 更新游戏状态
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            if (plants[i][j].life > 0 && zombies[i][j].life > 0) {
                // 植物和僵尸都存活,互相攻击
                zombies[i][j].life--;
                plants[i][j].life--;
            } else if (plants[i][j].life <= 0 && zombies[i][j].life > 0) {
                // 植物死亡,僵尸存活,僵尸前进
                if (j > 0) {
                    zombies[i][j - 1] = zombies[i][j];
                    zombies[i][j].life = 0;
                } else {
                    zombies[i][j].life = 0;
                }
            } else if (plants[i][j].life > 0 && zombies[i][j].life <= 0) {
                // 植物存活,僵尸死亡
                plants[i][j].life--;
            }
        }
    }
}

bool isGameOver() {
    // 判断游戏是否结束
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            if (plants[i][j].life > 0 && zombies[i][j].life > 0) {
                // 存在植物和僵尸都存活的位置,游戏未结束
                return false;
            }
        }
    }
    return true;
}

int main() {
    initialize();

    while (!isGameOver()) {
        draw();
        update();
        Sleep(1000);  // 控制游戏速度
    }

    printf("游戏结束\n");
    return 0;
}

请注意,此代码仅为示例,可能并不完整或最优。您可以根据自己的需求进行修改和扩展,以创建更完整的植物大战僵尸游戏

帮我写个植物大战僵尸的C语言游戏

原文地址: https://www.cveoy.top/t/topic/hzNN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录