bobing.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 1,117 行 · 第 1/2 页

C
1,117
字号
        }        else if (c2==6)        {            dest="六  黑(二)";            getscore=1202;        }        else if (c3==6)        {            dest="六  黑(三)";            getscore=1203;        }        else if (c5==6)        {            dest="六  黑(五)";            getscore=1204;        }        else if (c6==6)        {            dest="六  黑(六)";            getscore=1205;        }        else if (c4==6)        {            dest="六  红(通吃)";            getscore=1207;        }    }    else if (c4==5)    {        getaward=6;        if (c1==1)        {            dest="五红带一";            getscore=1102;        }        else if (c2==1)        {            dest="五红带二";            getscore=1103;        }        else if (c3==1)        {            dest="五红带三";            getscore=1104;        }        else if (c5==1)        {            dest="五红带五";            getscore=1105;        }        else if (c6==1)        {            dest="五红带六";            getscore=1106;        }    }    else if (c6==5)    {        getaward=6;        if (c1==1)        {            dest="五主(六)带一";            getscore=1046;        }        else if (c2==1)        {            dest="五主(六)带二";            getscore=1056;        }        else if (c3==1)        {            dest="五主(六)带三";            getscore=1066;        }        else if (c4==1)        {            dest="五主(六)带四";            getscore=1076;        }        else if (c5==1)        {            dest="五主(六)带五";            getscore=1086;        }    }    else if (c5==5)    {        getaward=6;        if(c1==1)        {            dest="五主(五)带一";            getscore=1045;        }        else if(c2==1)        {            dest="五主(五)带二";            getscore=1055;        }        else if(c3==1)        {            dest="五主(五)带三";            getscore=1065;        }        else if(c4==1)        {            dest="五主(五)带四";            getscore=1075;        }        else if(c6==1)        {            dest="五主(五)带六";            getscore=1096;        }    }    else if(c3==5)    {        getaward=6;        if(c1==1)        {            dest="五主(三)带一";            getscore=1043;        }        else if(c2==1)        {            dest="五主(三)带二";            getscore=1053;        }        else if(c4==1)        {            dest="五主(三)带四";            getscore=1073;        }        else if(c5==1)        {            dest="五主(三 )带五";            getscore=1083;        }        else if(c6==1)        {            dest="五主(三)带六";            getscore=1093;        }    }    else if(c2==5)    {        getaward=6;        if(c1==1)        {            dest="五主(二)带一";            getscore=1042;        }        else if(c3==1)        {            dest="五主(二)带三";            getscore=1062;        }        else if(c4==1)        {            dest="五主(二)带四";            getscore=1072;        }        else if(c5==1)        {            dest="五主(二)带五";            getscore=1082;        }        else if(c6==1)        {            dest="五主(二)带六";            getscore=1092;        }    }    else if(c1==5)    {        getaward=6;        if(c2==1)        {            dest="五主(一)带二";            getscore=1051;        }        else if(c3==1)        {            dest="五主(一)带三";            getscore=1061;        }        else if(c4==1)        {            dest="五主(一)带四";            getscore=1071;        }        else if(c5==1)        {            dest="五主(一)带五";            getscore=1081;        }        else if(c6==1)        {            dest="五主(一)带六";            getscore=1091;        }    }    else if (c4==4)    {        getaward=6;        if((s1+s2+s3+s4+s5+s6-16)==2)        {            dest="状元插金花";            getscore=1206;        }        else if((s1+s2+s3+s4+s5+s6-16)==12)        {            dest="状元带十二";            getscore=512;        }        else if((s1+s2+s3+s4+s5+s6-16)==11)        {            dest="状元带十一";            getscore=511;        }        else if((s1+s2+s3+s4+s5+s6-16)==10)        {            dest="状元带十";            getscore=510;        }        else if((s1+s2+s3+s4+s5+s6-16)==9)        {            dest="状元带九";            getscore=509;        }        else if((s1+s2+s3+s4+s5+s6-16)==8)        {            dest="状元带八";            getscore=508;        }        else if((s1+s2+s3+s4+s5+s6-16)==7)        {            dest="状元带七";            getscore=507;        }        else if((s1+s2+s3+s4+s5+s6-16)==6)        {            dest="状元带六";            getscore=506;        }        else if((s1+s2+s3+s4+s5+s6-16)==5)        {            dest="状元带五";            getscore=505;        }        else if((s1+s2+s3+s4+s5+s6-16)==4)        {            dest="状元带四";            getscore=504;        }        else if((s1+s2+s3+s4+s5+s6-16)==3)        {            dest="状元带三";            getscore=503;        }    }    else if (c1==4||c2==4||c3==4||c5==4||c6==4)    {        getaward=3;        if (c4==2)        {            getscore=302;            dest="四进带二举";        }        else if(c4==1)        {            getscore=301;            dest="四进带一秀";        }        else if(c4==0)        {            getscore=300;            dest="四进";        }    }    else if(c4==3)    {        getaward=4;        getscore=400;        dest="三红";    }    else if(c4==2)    {        getaward=2;        getscore=200;        dest="二举";    }    else if (c4==1)    {        if (c1==1&&c2==1&&c3==1&&c5==1&&c6==1)        {            getaward=5;            getscore=500;            dest="对堂";        }        else        {            getaward=1;            getscore=100;            dest="一秀";        }    }    else    {        getaward=0;        getscore=0;        dest="………哇塞!居然什么都不是哦!?真同情你,呵呵呵呵。";    }    result= " -------  -------  -------  -------  -------  -------\n"+            "|       ||       ||       ||       ||       ||       |\n"+            "|   "+checkcolor(s1)+"%d"+NOR+            "   ||   "+checkcolor(s2)+"%d"+NOR+            "   ||   "+checkcolor(s3)+"%d"+NOR+            "   ||   "+checkcolor(s4)+"%d"+NOR+            "   ||   "+checkcolor(s5)+"%d"+NOR+            "   ||   "+checkcolor(s6)+"%d"+NOR+            "   |\n"+            "|       ||       ||       ||       ||       ||       |\n"+            " -------  -------  -------  -------  -------  -------\n";    result=sprintf(result,s1,s2,s3,s4,s5,s6);    result=result+"\n居然是个"+dest+"加油啊。\n";    message_vision(HIC"$N抓起六个骰子放在手心里拼命摇,然后团起手来向手\n"+                   "中吹了口气,口中还神神叨叨地念念有词:天灵灵,地灵灵……来来来,开了……\n"NOR+result,ob);    getit(ob,getaward,getscore,dest);}string checkcolor(int i){    if (i==1||i==4)        return RED;    else        return GRN;}int countit(int s1,int s2,int s3,int s4,int s5,int s6,int sd){    int i;    i=0;    if (s1==sd)        i++;    if (s2==sd)        i++;    if (s3==sd)        i++;    if (s4==sd)        i++;    if (s5==sd)        i++;    if (s6==sd)        i++;    return i;}string getit(object ob,int getaward,int getscore,string dest){    object* play;    if (getaward>(ob->query_temp("bobing/maxaward")))    {        ob->set_temp("bobing/maxaward",getaward );        ob->set_temp("bobing/dest",dest);    }    if (getscore>(ob->query_temp("bobing/maxscore")))        ob->set_temp("bobing/maxscore",getscore);    if (getaward==1)    {        if (Max1<=0 )        {            qianbing(ob,getaward);        }        else        {            ob->set_temp("bobing/g1",ob->query_temp("bobing/g1")+1);            Max1=(Max1==0)?0:Max1-1;            if (Realmode)                message_vision(HIY"$N搏到一秀一个,奖一秀饼一块!\n"NOR,ob);            else                message_vision(CYN"$N搏到一秀一个,真是可惜巫师不在,没有奖品……\n"NOR,ob);        }    }    if (getaward==2)    {        if (Max2<=0 )        {            qianbing(ob,getaward);        }        else        {            ob->set_temp("bobing/g2",ob->query_temp("bobing/g2")+1);            Max2=(Max2==0)?0:Max2-1;            if (Realmode)                message_vision(HIY"$N搏到二举一个,奖二举饼一块!\n"NOR,ob);            else                message_vision(CYN"$N搏到二举一个,真是可惜巫师不在,没有奖品……\n"NOR,ob);        }    }    if (getaward==3)    {        if (Max3<=0 )        {            qianbing(ob,getaward);        }        else        {            ob->set_temp("bobing/g3",ob->query_temp("bobing/g3")+1);            Max3=(Max3==0)?0:Max3-1;            if (Realmode)                message_vision(HIY"$N搏到四进一个,奖四进饼一块!\n"NOR,ob);            else                message_vision(CYN"$N搏到四进一个,真是可惜巫师不在,没有奖品……\n"NOR,ob);        }    }    if (getaward==4)    {        if (Max4<=0 )        {            qianbing(ob,getaward);        }        else        {            ob->set_temp("bobing/g4",ob->query_temp("bobing/g4")+1);            Max4=(Max4==0)?0:Max4-1;            if (Realmode)                message_vision(HIY"$N搏到三红一个,奖三红饼一块!\n"NOR,ob);            else                message_vision(CYN"$N搏到三红一个,真是可惜巫师不在,没有奖品……\n"NOR,ob);        }    }    if (getaward==5)    {        if (Max5<=0 )        {            qianbing(ob,getaward);        }        else        {            ob->set_temp("bobing/g5",ob->query_temp("bobing/g5")+1);            Max5=(Max5==0)?0:Max5-1;            if (Realmode)                message_vision(HIY"$N搏到对堂一个,奖对堂饼一块!\n"NOR,ob);            else                message_vision(CYN"$N搏到对堂一个,真是可惜巫师不在,没有奖品……\n"NOR,ob);        }    }    if (getaward==6)    {        if(Realmode)            Max6=(Max6==0)?0:Max6-1;        else            message_vision(CYN"$N搏到状元一个,真是可惜巫师不在,没有奖品……\n"NOR,ob);    }    if(getaward>=6)    {        if(!objectp(winner))        {            winner=ob;            ob->set_temp("bobing/g6",1);            play=users();            message("vision",                    HIY"\n\n[搏饼最新消息]\n=================================="+                    "============\n恭喜!恭喜!"+ob->query("name")+                    "搏到了"+dest+"!成为"+roomname+"的状元!!!\n"NOR,play);        }        else        {            if (ob!=winner&&getscore>winner->query_temp("bobing/maxscore"))            {                winner->set_temp("bobing/g6",0);                winner=ob;                winner->set_temp("bobing/g6",1);                play=users();                message("vision",                        HIY"\n\n[搏饼最新消息]\n=================================="+                        "============\n恭喜!恭喜!"+ob->query("name")+                        "搏到了"+dest+"!成为"+roomname+"的新状元!!!\n"NOR,play);            }            else                message_vision(CYN"$N搏到状元一个,真是可惜你的状元没有奖品……\n"NOR,ob);        }    }}int qianbing(object ob,int getaward){    int i;    int flag;    for (i=0;i<sizeof(member);i++)    {        if (member[i]->query("name")==ob->query("name"))        {            flag=i;            for (i=flag-1;i!=flag;i--)            {                if (i<0)                    i=sizeof(member)-1;                switch (getaward)                {                    case 1:                        if (member[i]->query_temp("bobing/g1"))                        {                            member[i]->add_temp("bobing/g1",-1);                            ob->add_temp("bobing/g1",1);                            message_vision(HIY"$N搏到一秀一个,抢了$n一秀饼一块!\n"NOR,ob,member[i]);                            return 1;                        }                        break;                    case 2:                        if (member[i]->query_temp("bobing/g2")>0)                        {                            member[i]->add_temp("bobing/g2",-1);                            ob->add_temp("bobing/g2",1);                            message_vision(HIY"$N搏到二举一个,抢了$n二举饼一块!\n"NOR,ob,member[i]);                            return 1;                        }                        break;                    case 3:                        if (member[i]->query_temp("bobing/g3"))                        {                            member[i]->add_temp("bobing/g3",-1);                            ob->add_temp("bobing/g3",1);                            message_vision(HIY"$N搏到四进一个,抢了$n四进饼一块!\n"NOR,ob,member[i]);                            return 1;                        }                        break;                    case 4:                        if (member[i]->query_temp("bobing/g4"))                        {                            member[i]->add_temp("bobing/g4",-1);                            ob->add_temp("bobing/g4",1);                            message_vision(HIY"$N搏到三红一个,抢了$n三红饼一块!\n"NOR,ob,member[i]);                            return 1;                        }                        break;                    case 5:                        if (member[i]->query_temp("bobing/g5"))                        {                            member[i]->add_temp("bobing/g5",-1);                            ob->add_temp("bobing/g5",1);                            message_vision(HIY"$N搏到对堂一个,抢了$n对堂饼一块!\n"NOR,ob,member[i]);                            return 1;                        }                        break;                    default:                        message_vision(HIY"$N搏到一块没有用的饼!\n"NOR,ob);                        break;                }            }            message_vision(HIY"$N抢不到一块有用的饼!\n"NOR,ob);            return 0;        }    }    message_vision(HIY"$N居然找不到自己座位!\n"NOR,ob);    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?