2048-C语言版


//Main函数调用

#include <stdio.h>

#include <string.h>

#include "Root.h"


int maxNum = 0;//最大值

int score = 0;//当前得分

int hisScore = 0;//历史最高分


int main(int argc, const char * argv[]) {

    int numbers[X][Y]={ 0};

    int * p = *numbers;

    randNum(p,1);//首次登陆显示两个随机数

    randNum(p,1);

    show(p);

    maxNum = selMax(p,&maxNum);

    read_file(&maxNum, &hisScore);

    showMain(numbers,p,&maxNum,&score,&hisScore);

    printf("max = %d\n",maxNum);

    

    return 0;

}

//

#include "Root.h"


void showMain(int (*numbers)[],int *p,int *maxNum,int *score,int *hisScore)

{

    int cond=0;//循环条件

    int zt = 0;//状态

    char gesture[2];//滑动指令

    do {

        printf("W()S()A()D()\n");

        printf("MAX = %d\t当前得分=%d\t历史最高分=%d\n",*maxNum,*score,*hisScore);

        printf("指令:");

        scanf("%s",gesture);

        if (strcmp(gesture, "W") == 0

            || strcmp(gesture, "w") == 0

            || strcmp(gesture, "S") == 0

            || strcmp(gesture, "s") == 0

            || strcmp(gesture, "A") == 0

            || strcmp(gesture, "a") == 0

            || strcmp(gesture, "D") == 0

            || strcmp(gesture, "d") == 0) {

            zt = changeXY(numbers,gesture,score,hisScore);

            if (zt == 1) {

                randNum(p,1);

                show(p);

                

                int cd = selMax(p,maxNum);

                //存储最大值和历史最高分

                if (*score > *hisScore

                    || cd > *maxNum) {

                    *maxNum = cd;

                    write_file(maxNum,score);//保存历史最高分

                }

                

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值