c语言小游戏代码
    #include <stdio.h> 
#include <stdlib.h> 
#include <windows.h> 
 
// 定义元素类型
#define ELEMENT char 
 
// 游戏行数
#define ROW 10 
 
// 游戏显示延迟
#define SLEEPTIME 100 
 
int main(int argc, char *argv[]) 
    // 定义游戏的棋盘,用数组存放 
    ELEMENT array[ROW][ROW]; 
 
    // 定义获胜条件 
    int winCondition = 5; 
 
    // 初始化,把棋盘清空 
    system("cls"); 
    int i,j; 
    for(i = 0; i < ROW; i++) 
    { 
        for(j = 0; j < ROW; j++) 
        { 
            array[i][j] = ' '; 
        } 
    } 
 
    // 循环游戏,当有一方满足胜利条件时终止 
    int tmp;
    int count = 0; // 存放棋子数 
    while(1) 
    { 
        // 依次取出玩家记录的棋子 
        int x, y; 
 
        // 如果已经有子落下,则计算是第几步 
        if(count > 0) 
        { 
            printf("第%d步:\n", count); 
        } 
 
        // 显示游戏棋盘 
        for(i = 0; i < ROW; i++) 
        { 
            printf(" "); 
            for(j = 0; j < ROW; j++) 
            { 
                printf("---"); 
            } 
            printf("\n|"); 
            for(j = 0; j < ROW; j++) 
            { 
                printf("%c |", array[i][j]); 
            } 
            printf("\n"); 
        } 
        printf(" "); 
        for(j = 0; j < ROW; j++) 
        { 
            printf("---"); 
        } 
        printf("\n"); 
 
        // 要求玩家输入放下棋子的位置 
        printf("请玩家输入要放弃棋子的位置(1-%d)\n", ROW); 
        printf("横坐标:"); 
        scanf("%d", &x); 
        printf("纵坐标:"); 
        scanf("%d", &y); 
 
        // 判断棋子位置是否有效 
        if(x < 1 || x > ROW || y < 1 || y > ROW || array[x-1][y-1] != ' ') 
        { 
            printf("输入错误!\n"); 
            system("pause"); 
            system("cls"); 
            continue; 
        } 
 
        // 把棋子记录,并计数 
        if(count % 2 == 0) 
        { 
            array[x-1][y-1] = 'X'; 
        } 
        else 
c语言编程小游戏        { 
            array[x-1][y-1] = 'O'; 
        } 
        count++; 
 
        // 判断是否有获胜者 
        int i, j, k; 
        int tempx, tempy; 
        for(i = 0; i < ROW; i++) 
        { 
            for(j = 0; j < ROW; j++) 
            { 
                if(array[i][j] == 'X' || array[i][j] == 'O') 
                { 
                    // 判断横向是否有获胜者 
                    tmp = 1; 
                    for(k = 1; k < winCondition; k++) 
                    { 
                        // 注意边界,必须验证范围有效 
                        if(j + k > ROW - 1) break; 
                        // 如果和前一个位置的棋子相同,则计数加1,否则跳出 
                        if(array[i][j+k] == array[i][j]) tmp++; 
                        else break; 
                    } 
                    // 如果计数满足获胜条件,则显示获胜者 
                    if(tmp >= winCondition) 
                    { 
                        printf("玩家 %c 获胜!\n", array[i][j]); 
                        system("pause"); 
                        return 0; 
                    } 
 
                    // 判断纵向是否有获胜者 
                    tmp = 1; 
                    for(k