资源简介

2048小游戏c语言实现

资源截图

代码片段和文件信息

#include 
#include      // for rand() and srand() and exit()
#include        // for time()
#include       // for getch()
#include     // for system()
#include //windows环境下socket,需要的头文件

#pragma comment(lib“ws2_32.lib“) //添加库文件,引入网络相关API的支持


void init(void);      // 初始化数组跟赋值第一个随机二维数组元素
void draw(void);      // 绘制4 * 4方格图
void play(void);      // 控制移动方向
void to_up(void);     // 向上移动
void to_down(void);  // 像下移动
void to_left(void);   // 向左移动
void to_right(void);  // 向右移动
void add_number(void);  // 加新的数

int a[4][4];                    //格子
int empty;                      //空格子的个数

int main(void) {
    printf(“****************************\n“);
    printf(“            2048            \n\n“);
    printf(“Control by:\n“
            “ w/s/a/d or W/S/A/D\n“);
    printf(“press q or Q quit game!\n“);
    printf(“****************************\n“);
       printf(“Press 1 to enter SINGLE mode !\n“);
    printf(“Press 2 to enter DOUBLE mode !\n“);
    int ch = getch();
    if (ch == ‘2‘)
        double_mode();
    else if (ch == ‘1‘){
        system(“cls“);          //清屏
        printf (“***********************************************\n“);
        printf (“Please Choose difficulty level of SINGLE mode!:\n“);
        printf (“1 : Easy\n“);
        printf (“2 : Medium\n“);
        printf (“3 : Difficult\n“);
        printf (“***********************************************\n“);
        int mode = getch();
        int score;
        char *difficulty;
        switch(mode) {              //难易程度选择
            case ‘1‘:
                score = 64;
                difficulty = “Easy“;
                break;
            case ‘2‘:
                score = 1024;
                difficulty = “Medium“;
                break;
            case ‘3‘:
                score = 2048;
                difficulty = “Difficult“;
                break;
            default:
                printf(“Please input right type !\n“);
                return 0;
        }
        system(“cls“);
        printf (“Welcome to %s level of Single mode\n“ difficulty);
        init();
        draw();
        while(1){
            int my_max = judge_max();
            if(my_max >= score){              //判断是否达到胜利条件
                printf(“Your Win !“);
                return 0;
            }
            play();
        }
    }
}

void double_mode(){                         //双人模式 一人一步
    system(“cls“);
    init();
    draw();
    printf(“Welcome to DOUBLE mode !\n“);
//windows 初始化socket网络库,
    //申请2,2的版本,windows socket编程必须先初始化。
    //初始化WSA
    WORD sockVersion = MAKEWORD(2 2);
    WSADATA wsaData;
    if (WSAStartup(sockVersion &wsaData) != 0)
    {
        return 0;
    }

    //正文部分

        //创建套接字
        SOCKET client_sock = socket(AF_INET SOCK_STREAM IPPROTO_TCP);
        if (client_sock == INVALID_SOCKET)
        {
            printf(“s

评论

共有 条评论