C语言火柴游戏的程序设计+流程图(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C语言火柴游戏的程序设计+流程图(3)


    init(&a,&b,&x);
    if(x==1)
    {
        int c;
        InputBox(num, 10, "你要取走几根?");
        sscanf(num, "%d", &c);
        while(c>b || c<1 || c>a)
        {
            InputBox(num, 10, "数字不符,请重新输入",NULL,NULL,0,0,false);
            sscanf(num, "%03d", &c);

        }
        showPersonTake(c); //显示用户取走的数量

        a = a - c;
        showTotal(a);      //显示剩余的总数      
    }

    play(a,b);
    getch();
    closegraph();
}
/**************************************
     play函数,电脑和玩家交互,电脑先执行
**************************************/

void play(int a,int b)
{
    int m,n,z;
    b=b+1;
    char s[] = "COMPUTER WIN";
    char s1[] = "YOU WIN";
    char person[10];        //玩家输入的数据
    while(a>0)
    {  
        m=a%b;
        //取余结果关系计算机下一步的走法
        if(m!=1)
        {
            n=(m-1+b)%b;
            showConputerTake(n);
            a=a-n;
            showTotal(a);
            InputBox(person, 10, "你要取走几根?");
            sscanf(person, "%03d", &z);
            while(z>=b || z<1 ||z>a)
            {
                InputBox(person, 10, "数字不符,请重新输入",NULL,NULL,0,0,false);
                sscanf(person, "%d", &z);

            }

            showPersonTake(z);
            a=a-z;
            showTotal(a);
            if(a==0)
            {
                settextcolor(RED);
                outtextxy(200, 400, s);
            }
        }
        //如果取余结果为,计算机采取的措施
        if(m==1)
        {
            if(a==1)//当总数还剩时,计算机只能取玩家胜利! (责任编辑:qin)