• 个人简介

    #include #include<time.h> #include<stdio.h> #include <stdlib.h> using namespace std; struct pai { int paifu; int huase; int yanse; int dianshu; int leixing; int changdu; void Kanpai() { if (paifu == 0 || paifu == 1); else printf("牌副参数错误!\n"); switch (huase) { case 0:cout << "黑桃"; break; case 1:cout << "红桃"; break; case 2:cout << "草花"; break; case 3:cout << "方片"; break; case -1:cout << "无色"; break; default:printf("花色错误!\n"); break; } switch (dianshu) { case 0:cout << "A "; break; case 1:cout << "2 "; break; case 2:cout << "3 "; break; case 3:cout << "4 "; break; case 4:cout << "5 "; break; case 5:cout << "6 "; break; case 6:cout << "7 "; break; case 7:cout << "8 "; break; case 8:cout << "9 "; break; case 9:cout << "10 "; break; case 10:cout << "J "; break; case 11:cout << "Q "; break; case 12:cout << "K "; break; case -1:cout << "无点数"; break; default:printf("点数错误!\n"); break; } switch (leixing) { case 101:cout << "【杀】" << endl; break; case 102:cout << "【闪】" << endl; break; case 103:cout << "【桃】" << endl; break; case 201:cout << "【过河拆桥】" << endl; break; case 202:cout << "【顺手牵羊】" << endl; break; case 203:cout << "【无中生有】" << endl; break; case 204:cout << "【决斗】" << endl; break; case 205:cout << "【借刀杀人】" << endl; break; case 206:cout << "【桃园结义】" << endl; break; case 207:cout << "【五谷丰登】" << endl; break; case 208:cout << "【南蛮入侵】" << endl; break; case 209:cout << "【万箭齐发】" << endl; break; case 210:cout << "【无懈可击】" << endl; break; case 251:cout << "【乐不思蜀】" << endl; break; case 252:cout << "【闪电】" << endl; break; case 301:cout << "【诸葛连弩(1)】" << endl; break; case 302:cout << "【雌雄双股剑(2)】" << endl; break; case 303:cout << "【青釭剑(2)】" << endl; break; case 304:cout << "【青龙偃月刀(3)】" << endl; break; case 305:cout << "【丈八蛇矛(3)】" << endl; break; case 306:cout << "【贯石斧(3)】" << endl; break; case 307:cout << "【方天画戟(4)】" << endl; break; case 308:cout << "【麒麟弓(5)】" << endl; break; case 331:cout << "【八卦阵】" << endl; break; case 361:cout << "【赤兔(-1)】" << endl; break; case 362:cout << "【大宛(-1)】" << endl; break; case 363:cout << "【紫辛(-1)】" << endl; break; case 381:cout << "【爪黄飞电(+1)】" << endl; break; case 382:cout << "【的卢(+1)】" << endl; break; case 383:cout << "【绝影(+1)】" << endl; break; default:printf("类型参数错误!"); break; } } }; void Qishixipai(pai A[2][4][13], pai paidui[104]) { int i, m, x, y, z, a[104] = { 0 }; srand((unsigned)time(NULL)); for (i = 1; i <= 104; i++) { while (a[m = rand() % 104]); a[m] = i; } for (i = 0; i <= 103; i++) { x = (a[i] - 1) / 52; y = ((a[i] - 1) - 52 * x) / 13; z = (a[i] - 1) % 13; paidui[i] = A[x][y][z]; } } void Xipai(pai paidui[104], int* paiduishu, pai qipaidui[104], int* qipaishu) { int i, m, a[104] = { 0 }; srand((unsigned)time(NULL)); for (i = 1; i <= (*qipaishu); i++) { while (a[m = rand() % (*qipaishu)]); a[m] = i; } for (i = 0; i <= ((*qipaishu) - 1); i++) { paidui[i] = qipaidui[a[i]]; qipaidui[a[i]].leixing = -1; (paiduishu)++; (qipaishu)--; } for (i = (paiduishu); i <= 103; i++)paidui[i].leixing = -1; } pai Mo1pai(pai A[104], int x, pai B[104], int y, int b) { pai p; if ((*x) == 0)Xipai(A, x, B, y); else if ((*x) < 0)printf("摸牌参数错误!"); else; p = A[104 - (x)]; (x)--; (b)++; return(p); } struct wujiang { char name; int tili; int tilishangxian; int shoupaishangxian; int huihekaishi; int panding; int mopai; int chupai; int qipai; int huihejieshu; int juese; pai shoupai[20]; int shoupaishu; pai zhuangbei[4]; int zhuangbeishu; pai pandingpai[3]; int pandingshu; int juli[1]; void Kanshoupai() { printf("玩家当前手牌:\n"); if (shoupaishu) { int m; for (m = 0; m <= (shoupaishu - 1); m++) { printf("%d ", m); (shoupai[m]).Kanpai(); } } else printf("空城!\n"); printf("\n"); } void Kanzhuangbei() { if (juese)printf("玩家"); else printf("电脑"); printf("当前装备:\n"); printf("0 武器: "); if ((zhuangbei[0]).leixing == -1)printf("空\n"); else (zhuangbei[0]).Kanpai(); printf("1 防具: "); if ((zhuangbei[1]).leixing == -1)printf("空\n"); else (zhuangbei[1]).Kanpai(); printf("2 进攻马: "); if ((zhuangbei[2]).leixing == -1)printf("空\n"); else (zhuangbei[2]).Kanpai(); printf("3 防御马: "); if ((zhuangbei[3]).leixing == -1)printf("空\n"); else (zhuangbei[3]).Kanpai(); printf("\n"); } void Kanpandingpai() { if (juese)printf("玩家"); else printf("电脑"); printf("当前判定区:\n"); if ((pandingpai[0]).leixing == -1)printf("空\n"); else { printf("0 "); (pandingpai[0]).Kanpai(); if ((pandingpai[1]).leixing == -1); else { printf("1 "); (pandingpai[1]).Kanpai(); if ((pandingpai[2]).leixing == -1); else { printf("2 "); (pandingpai[2]).Kanpai(); } } } } }; void Mopai(int shoupaishu, pai shoupai[20], pai A[104], int x, pai B[104], int y, int juese) { if (juese)printf("玩家从牌堆摸2张牌\n"); else printf("电脑从牌堆摸2张牌\n"); pai p; p = Mo1pai(A, x, B, y, shoupaishu); shoupai[*shoupaishu - 1] = p; pai q; q = Mo1pai(A, x, B, y, shoupaishu); shoupai[shoupaishu - 1] = q; int m; if (juese) { printf("玩家当前手牌:\n"); for (m = 0; m <= (shoupaishu - 1); m++) { printf("%d ", m); (shoupai[m]).Kanpai(); } } printf("牌堆还剩%d张牌!\n\n", x); } void Qishishoupai(wujiang w, pai A[104], int x, pai B[104], int y) { pai a; a = Mo1pai(A, x, B, y, &((*w).shoupaishu)); (*w).shoupai[(*w).shoupaishu - 1] = a; pai b; b = Mo1pai(A, x, B, y, &((*w).shoupaishu)); (*w).shoupai[(*w).shoupaishu - 1] = b; pai c; c = Mo1pai(A, x, B, y, &((*w).shoupaishu)); (*w).shoupai[(*w).shoupaishu - 1] = c; pai d; d = Mo1pai(A, x, B, y, &((*w).shoupaishu)); (*w).shoupai[(*w).shoupaishu - 1] = d; int m; if ((*w).juese)printf("玩家从牌堆摸4张牌\n"); else printf("电脑从牌堆摸4张牌\n"); if ((*w).juese) { printf("玩家当前手牌:\n"); for (m = 0; m <= ((*w).shoupaishu - 1); m++) { printf("%d ", m); ((w).shoupai[m]).Kanpai(); } } printf("牌堆还剩%d张牌!\n\n", x); } void Panding(pai paidui[104], int paiduishu, pai qipaidui[104], int qipaishu) { paidui[*paiduishu].Kanpai(); qipaidui[*qipaishu] = paidui[*paiduishu]; (paiduishu)--; (qipaishu)++; } pai Zhangba(wujiang w, pai qipaidui[104], int qipaishu) { int x, y; pai p; for (;;) { int i, j; printf("请输入任意两张手牌之前的编号,以空格隔开,以回车结束!\n"); scanf("%d", &x); scanf("%d", &y); if ((x >= 0) && (x < (*w).shoupaishu) && (y >= 0) && (y < (*w).shoupaishu - 1)) { switch ((((*w).shoupai[x].huase) % 2) + (((*w).shoupai[y].huase) % 2)) { case 0:p.yanse = 0; break; case 2:p.yanse = 1; break; case 1:p.yanse = 2; break; default:printf("【丈八蛇矛】函数参数错误!\n"); } qipaidui[*qipaishu] = (*w).shoupai[x]; (*w).shoupai[x].leixing = -1; ((*w).shoupaishu)--; (*qipaishu)++; qipaidui[*qipaishu] = (*w).shoupai[y]; (*w).shoupai[y].leixing = -1; ((*w).shoupaishu)--; (*qipaishu)++; printf("弃牌数:%d", *qipaishu); for (i = 0; i <= (((*w).shoupaishu) + 1); i++) { if ((*w).shoupai[i].leixing == -1) { for (j = i + 1; j <= (((*w).shoupaishu) + 2); j++) (*w).shoupai[j - 1] = (*w).shoupai[j]; i--; } } printf("玩家把:\n"); qipaidui[(*qipaishu) - 2].Kanpai(); qipaidui[(qipaishu) - 1].Kanpai(); printf("当作一张"); switch (p.yanse) { case 0:printf("黑色"); break; case 2:printf("红色"); break; case 1:printf("无色"); break; default:printf("绿色"); break; } printf("无点数的【杀】"); p.dianshu = -1; p.leixing = 101; return p; break; } printf("你将两张空气当作一张空气属性的【杀】使用或打出!\n"); } } int Xuanpai(wujiang w, int t) { int x; if ((w).juese) { for (;;) { printf("出牌请输入手牌之前的编号,以回车结束!\n如果你想结束出牌阶段,请输入“-1”,以回车结束!\n"); scanf("%d", &x); if ((x >= -1 && x < ((w).shoupaishu)) || ((x == 100) && ((w).zhuangbei[0].leixing == 305))) { return x; break; } printf("你打出了一张空气!\n"); } } else return t; } pai Panpai(wujiang w1, int sha, int y, pai qipaidui[104], int qipaishu) { pai p, q; p.leixing = 0; q.leixing = -1; if (y == -1)return q; else { if (y == 100) { if ((*sha) > 0) { q = Zhangba(w1, qipaidui, qipaishu); printf("使用!\n"); return q; } else { printf("当前回合使用【杀】的次数已用尽,你也不能使用【丈八蛇矛】效果!\n"); return p; } } switch ((*w1).shoupai[y].leixing) { case 101: if (((*sha) > 0) || ((*w1).zhuangbei[0].leixing == 301)) { if (((*w1).zhuangbei[0].leixing == 301))printf("武器【诸葛连弩】效果被触发!\n"); return (*w1).shoupai[y]; break; } else { if ((*w1).juese)printf("当前回合使用【杀】的次数已用尽,你不能使用【杀】!\n"); return p; break; } case 102: if ((*w1).juese) printf("当前不需要响应任何操作,你不能主动打出【闪】!\n"); return p; break; case 103: if (((*w1).tili) < ((*w1).tilishangxian)) { return (*w1).shoupai[y]; break; } else { if ((w1).juese) printf("你并未受伤,不能对自己使用【桃】!\n"); } return p; break; case 210: if ((w1).juese) printf("当前不需要响应任何锦囊,你不能主动打出【无懈可击】!\n"); return p; break; case 201: case 202: case 203: case 204: case 205: case 206: case 207: case 208: case 209: case 251: case 252: case 301: case 302: case 303: case 304: case 305: case 306: case 307: case 308: case 331: case 361: case 362: case 363: case 381: case 382: case 383:return (w1).shoupai[y]; break; default:printf("手牌类型参数错误!\n"); return p; break; } } } int Mubiao(pai p, wujiang w1, wujiang w2, int sha) { int x; switch (p.leixing) { case 101: if ((*w1).juese) { printf("请选择【杀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n"); scanf("%d", &x); if (x == 0) { if ((*w1).zhuangbei[0].changdu >= (*w1).juli[0]) { (*sha)--; return((*w2).juese); } else { printf("武器长度不够!\n"); return -2; } } else { printf("目标错误!\n"); return -2; } } else { if ((*w1).zhuangbei[0].changdu >= (*w1).juli[0]) { (*sha)--; return((*w2).juese); } else return -2; } break; case 103:return((*w1).juese); break; case 201: if ((*w1).juese) { printf("请选择【过河拆桥】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n"); scanf("%d", &x); if (x == 0) { if ((*w2).shoupaishu || (*w2).zhuangbeishu || (*w2).pandingshu)return((*w2).juese); else { printf("目标没有牌!\n"); return -2; } } else { printf("目标错误!\n"); return -2; } } else return((*w2).juese); break; case 202: if ((*w1).juese) { printf("请选择【顺手牵羊】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n"); scanf("%d", &x); if (x == 0) { if (((*w2).shoupaishu || (*w2).zhuangbeishu || (*w2).pandingshu) && ((*w1).juli[0] <= 1))return((*w2).juese); else { printf("目标没有牌!\n"); return -2; } } else { printf("目标错误!\n"); return -2; } } else { if ((*w1).juli[0] <= 1)return((*w2).juese); else return -2; } break; case 203: return((*w1).juese); break; case 204: if ((*w1).juese) { printf("请选择【决斗】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n"); scanf("%d", &x); if (x == 0)return((*w2).juese); else { printf("目标错误!\n"); return -2; } } else return((*w2).juese); break; case 205: int y; if ((*w1).juese) { printf("请选择【借刀杀人】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n"); scanf("%d", &x); if (x != 0) { printf("目标错误!\n"); return -2; } else { if (((*w2).zhuangbei[0]).leixing <= 300 || ((*w2).zhuangbei[0]).leixing >= 331) { printf("目标装备区里没有武器!\n"); return -2; } else { printf("请选择【杀】的目标!\n提示:【杀】的目标必须在【借刀杀人】的目标的攻击范围之内!\n输入目标前的编号,以回车结束!\n0 玩家\n"); scanf("%d", &y); if (y != 0) { printf("目标错误!\n"); return -2; } else { if (((*w2).zhuangbei[0].changdu) < (*w2).juli[0]) { printf("武器距离不够!\n"); return -2; } else return((*w2).juese); } } } } else { if (((*w2).zhuangbei[0]).leixing <= 300 || ((*w2).zhuangbei[0]).leixing >= 331)return -2; else { if (((*w2).zhuangbei[0].changdu) < (*w2).juli[0])return -2; else return((*w2).juese); } } break; case 206: case 207:return 99; break; case 208: case 209:return 100; break; case 251: if ((*w1).juese) { printf("请选择【乐不思蜀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n"); scanf("%d", &x); if (x == 0) { int i; for (i = 0; i <= 2; i++) { if ((*w2).pandingpai[i].leixing == 251) i = -1; break; } if (i == -1) { printf("目标判定区里不能同时存在两张相同的延时类锦囊!\n"); return -2; } else return((*w2).juese); } else { printf("目标错误!\n"); return -2; } } else { int i; for (i = 0; i <= 2; i++) { if ((*w2).pandingpai[i].leixing == 251) i = -1; break; } if (i == -1)return -2; else return((*w2).juese); } break; case 252: int i; for (i = 0; i <= 2; i++) { if ((*w1).pandingpai[i].leixing == 252) i = -1; break; } if (i == -1) { if ((w1).juese)printf("目标判定区里不能同时存在两张相同的延时类锦囊!\n"); return -2; } else return ((w1).juese); break; case 301: case 302: case 303: case 304: case 305: case 306: case 307: case 308: case 331: case 361: case 362: case 363: case 381: case 382: case 383:return((w1).juese); break; default:return -2; break; } } void Da1pai(wujiang w1, wujiang w2, pai qipaidui[104], int qipaishu, int x) { int i; if ((x < 0 || x >= ((*w1).shoupaishu)) && x != 100) printf("你的牌呢?!\n"); else { switch (((*w1).shoupai)[x].leixing) { case 101: case 102: case 103: case 201: case 202: case 203: case 204: case 205: case 206: case 207: case 208: case 209: case 210: qipaidui[*qipaishu] = ((*w1).shoupai)[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (*qipaishu)++; break; case 251: for (i = 1; i >= 0; i--)(*w2).pandingpai[i + 1] = (*w2).pandingpai[i]; (*w2).pandingpai[0] = (*w1).shoupai[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; ((*w2).pandingshu)++; break; case 252: for (i = 1; i >= 0; i--)(*w1).pandingpai[i + 1] = (*w1).pandingpai[i]; (*w1).pandingpai[0] = (*w1).shoupai[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; ((*w1).pandingshu)++; break; case 301: case 302: case 303: case 304: case 305: case 306: case 307: case 308: if ((*w1).zhuangbei[0].leixing == -1)((*w1).zhuangbeishu)++; else { qipaidui[*qipaishu] = ((*w1).zhuangbei)[0]; (*qipaishu)++; } (*w1).zhuangbei[0] = (*w1).shoupai[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; break; case 331: if ((*w1).zhuangbei[1].leixing == -1)((*w1).zhuangbeishu)++; else { qipaidui[*qipaishu] = ((*w1).zhuangbei)[1]; (*qipaishu)++; } (*w1).zhuangbei[1] = (*w1).shoupai[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; break; case 361: case 362: case 363: if ((*w1).zhuangbei[2].leixing == -1)((*w1).zhuangbeishu)++; else { qipaidui[*qipaishu] = ((*w1).zhuangbei)[2]; (*qipaishu)++; } (*w1).zhuangbei[2] = (*w1).shoupai[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; break; case 381: case 382: case 383: if ((*w1).zhuangbei[3].leixing == -1)((*w1).zhuangbeishu)++; else { qipaidui[*qipaishu] = ((*w1).zhuangbei)[3]; (*qipaishu)++; } (*w1).zhuangbei[3] = (*w1).shoupai[x]; for (i = x + 1; i <= ((w1).shoupaishu); i++)((w1).shoupai)[i - 1] = ((w1).shoupai)[i]; ((w1).shoupaishu)--; break; default:break; } } } void Miaoshu(pai p, int juese, int duixiang) { if (juese == 0)printf("电脑"); else if (juese == 1)printf("玩家"); else printf("角色参数错误!\n"); if (p.leixing <= 300 && p.leixing > 100) { switch (duixiang) { case -1:printf("打出"); break; case 0:printf("对电脑使用"); break; case 1:printf("对玩家使用"); break; case 99:printf("使用"); break; case 100:printf("对所有人使用"); break; default:printf("对象参数错误\n"); break; } } else if (p.leixing >= 301 && p.leixing <= 400) printf("装备"); else printf("你出的是什么东西?\n"); p.Kanpai(); if (!juese && (p.leixing == 101 || p.leixing == 204 || p.leixing == 205 || p.leixing == 207 || p.leixing == 208 || p.leixing == 209))printf("请响应!\n"); } int Wuxie(pai p, wujiang w1, wujiang w2, pai qipaidui[104], int qipaishu, int a) { int x; if ((*w1).juese) { printf("是否使用【无懈可击】响应?\n\n"); for (;;) { (*w1).Kanshoupai(); printf("如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n"); scanf("%d", &x); if (x == -1) { for (x = 0; x < ((*w2).shoupaishu); x++) { if ((*w2).shoupai[x].leixing == 210) { printf("电脑使用"); ((*w2).shoupai)[x].Kanpai(); printf("对象是"); (*p).Kanpai(); (*p) = ((*w2).shoupai)[x]; qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (int i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; a++; break; } } break; } else if ((*w1).shoupai[x].leixing == 210) { printf("玩家使用"); ((*w1).shoupai)[x].Kanpai(); printf("对象是"); (*p).Kanpai(); (*p) = ((*w1).shoupai)[x]; qipaidui[*qipaishu] = ((*w1).shoupai)[x]; for (int i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (*qipaishu)++; (*w1).Kanshoupai(); a++; break; } else printf("你确定你使用的是【无懈可击】?\n"); } } else { printf("是否使用【无懈可击】响应?\n"); for (;;) { (*w2).Kanshoupai(); printf("如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n"); scanf("%d", &x); if (x == -1)break; else if ((*w2).shoupai[x].leixing == 210) { printf("玩家使用"); ((*w2).shoupai)[x].Kanpai(); printf("对象是"); (*p).Kanpai(); (*p) = ((*w2).shoupai)[x]; qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (int i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (qipaishu)++; (w2).Kanshoupai(); a++; break; } else printf("你确定你使用的是【无懈可击】?\n"); } } return a; } int Qiutao(wujiang w, pai qipaidui[104], int qipaishu) { int x; if ((*w).juese) { for (;;) { printf("如果要使用【桃】请输入手牌之前的编号,不需要请输入“-1”,以回车结束!\n"); scanf("%d", &x); if (x == -1) { return -1; break; } else if ((*w).shoupai[x].leixing == 103) { qipaidui[*qipaishu] = ((*w).shoupai)[x]; for (int i = x + 1; i <= ((*w).shoupaishu); i++)((*w).shoupai)[i - 1] = ((*w).shoupai)[i]; ((*w).shoupaishu)--; (*qipaishu)++; return 0; break; } else printf("你确定你使用的是【桃】?\n"); } } else { for (x = 0; x < ((*w).shoupaishu); x++) { if ((*w).shoupai[x].leixing == 103) { qipaidui[*qipaishu] = ((*w).shoupai)[x]; for (int i = x + 1; i <= ((*w).shoupaishu); i++)((*w).shoupai)[i - 1] = ((w).shoupai)[i]; ((w).shoupaishu)--; (qipaishu)++; return 0; break; } } return -1; } } int Binsi(wujiang w1, wujiang w2, pai qipaidui[104], int qipaishu) { if (((*w2).tili) > 0)return 0; else { int i; if ((*w1).juese) { for (;;) { printf("电脑濒死,是否使用【桃】?\n"); i = Qiutao(w1, qipaidui, qipaishu); if (i == 0)((*w2).tili)++; if ((i == -1) || ((*w2).tili > 0))break; } if ((*w2).tili > 0)return 0; else { for (;;) { i = Qiutao(w2, qipaidui, qipaishu); if (i == 0)((*w2).tili)++; if ((i == -1) || ((*w2).tili > 0))break; } if ((w2).tili > 0)return 0; else return -1; } } else { for (;;) { printf("玩家濒死,是否使用【桃】?\n"); i = Qiutao(w2, qipaidui, qipaishu); if (i == 0)((w2).tili)++; if ((i == -1) || ((w2).tili > 0))break; } if ((w2).tili > 0)return 0; else return -1; } } } int Shan(wujiang w1, wujiang w2, pai paidui[104], int paiduishu, pai qipaidui[104], int qipaishu) { int x; if ((*w2).juese) { if (((*w2).zhuangbei[1].leixing == 331) && ((*w1).zhuangbei[0].leixing != 303)) { for (;;) { int m; printf("是否发动【八卦阵】防具效果?\n0 否\n1 是\n请输入选项之前的编号,以回车结束!\n"); scanf("%d", &m); if (m == 1) { Panding(paidui, paiduishu, qipaidui, qipaishu); if (qipaidui[(*qipaishu) - 1].huase % 2) { printf("【八卦阵】判定成功!\n"); return 0; } } else if (m == 0) { printf("【八卦阵】判定失败!\n"); break; } else printf("你确定你输入的是“0”或“1”?\n"); } } else if (((*w2).zhuangbei[1].leixing == 331) && ((*w1).zhuangbei[0].leixing == 303))printf("【青釭剑】锁定技被触发!\n"); for (;;) { printf("请输入手牌之前的编号,或者输入“-1”放弃打出【闪】,以回车结束!\n"); scanf("%d", &x); if (x == -1) { return -1; break; } else if ((*w2).shoupai[x].leixing == 102) { printf("玩家打出"); ((*w2).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (int i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; return 0; break; } else printf("你确定你打出的是【闪】?\n"); } } else { if (((*w2).zhuangbei[1].leixing == 331) && ((*w1).zhuangbei[0].leixing != 303)) { Panding(paidui, paiduishu, qipaidui, qipaishu); if (qipaidui[(*qipaishu) - 1].huase % 2) { printf("【八卦阵】判定成功!\n"); return 0; } else printf("【八卦阵】判定失败!\n"); } else if (((*w2).zhuangbei[1].leixing == 331) && ((*w1).zhuangbei[0].leixing == 303))printf("【青釭剑】锁定技被触发!\n"); int i; for (x = 0; x < ((*w2).shoupaishu); x++) { if ((*w2).shoupai[x].leixing == 102) { printf("电脑打出"); ((*w2).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (i = x + 1; i <= ((*w2).shoupaishu); i++)((w2).shoupai)[i - 1] = ((w2).shoupai)[i]; ((w2).shoupaishu)--; (qipaishu)++; return 0; break; } } return -1; } } int Sha(wujiang w1, wujiang w2, pai paidui[104], int paiduishu, pai qipaidui[104], int qipaishu) { int x; if ((*w2).juese) { printf("请打出【闪】响应【杀】!否则你将受到1点伤害!\n"); x = Shan(w1, w2, paidui, paiduishu, qipaidui, qipaishu); if (x == -1) { int i; ((*w2).tili)--; printf("电脑对玩家造成1点伤害!\n"); i = Binsi(w1, w2, qipaidui, qipaishu); return i; } else if (x == 0 && ((*w1).zhuangbei[0].leixing == 306)) { int i; if (((*w1).shoupaishu) >= 2) { printf("电脑弃掉:\n"); ((*w1).shoupai)[0].Kanpai(); qipaidui[*qipaishu] = ((*w1).shoupai)[0]; for (i = 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (*qipaishu)++; ((*w1).shoupai)[0].Kanpai(); qipaidui[*qipaishu] = ((*w1).shoupai)[0]; for (i = 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (*qipaishu)++; printf("发动【贯石斧】武器效果使【杀】造成伤害!\n"); ((*w2).tili)--; i = Binsi(w1, w2, qipaidui, qipaishu); return i; } else return 0; } else if (x == 0 && ((*w1).zhuangbei[0].leixing == 304)) { int i; for (x = 0; x < ((*w1).shoupaishu); x++) { if ((*w1).shoupai[x].leixing == 101) { printf("电脑发动【青龙偃月刀】效果对玩家使用"); ((*w1).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w1).shoupai)[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (*qipaishu)++; i = Sha(w1, w2, paidui, paiduishu, qipaidui, qipaishu); return i; break; } } return 0; } } else { x = Shan(w1, w2, paidui, paiduishu, qipaidui, qipaishu); if (x == -1) { if ((*w1).zhuangbei[0].leixing == 308) { for (;;) { printf("是否发动【麒麟弓】武器效果?\n0 否\n1 是\n"); scanf("%d", &x); if (x == 1) { if (((*w2).zhuangbei[2].leixing == -1) && ((*w2).zhuangbei[3].leixing == -1)) { printf("电脑根本没有马,射你妹的马啊!\n"); break; } else { for (;;) { printf("0 "); ((*w2).zhuangbei[2]).Kanpai(); printf("1 "); ((*w2).zhuangbei[3]).Kanpai(); printf("请选择要弃掉的马,输入之前的编号,以回车结束!\n"); scanf("%d", &x); if ((x == 0) && ((*w2).zhuangbei[2].leixing != -1)) { printf("你弃掉了电脑的"); ((*w2).zhuangbei)[2].Kanpai(); qipaidui[*qipaishu] = ((*w2).zhuangbei)[2]; ((*w2).zhuangbeishu)--; (*qipaishu)++; ((*w2).zhuangbei)[2].leixing = -1; ((*w2).juli[0])++; break; } else if ((x == 1) && ((*w2).zhuangbei[3].leixing != -1)) { printf("你弃掉了电脑的"); ((*w2).zhuangbei)[3].Kanpai(); qipaidui[*qipaishu] = ((*w2).zhuangbei)[3]; ((*w2).zhuangbeishu)--; (*qipaishu)++; ((*w2).zhuangbei)[3].leixing = -1; ((*w1).juli[0])--; break; } else printf("射你妹的马!"); } break; } } else if (x == 0)break; else printf("键盘上的“0”和“1”被你吃了吗?\n"); } } int i; ((*w2).tili)--; printf("玩家对电脑造成1点伤害!\n"); i = Binsi(w1, w2, qipaidui, qipaishu); return i; } else if (x == 0 && ((*w1).zhuangbei[0].leixing == 306)) { for (;;) { printf("是否发动【贯石斧】武器效果?\n0 否\n1 是\n"); scanf("%d", &x); if (x == 1) { int i; if ((*w1).shoupaishu + (*w1).zhuangbeishu <= 2) { printf("你除了【贯石斧】以外连2张牌都没有,发动你妹的效果!\n"); break; } else { printf("请分别弃掉两张牌!\n"); for (i = 0; i <= 2; i++) { for (;;) { printf("请选择区域:\n0 手牌\n1 装备\n"); scanf("%d", &x); if (x == 0 && ((*w1).shoupaishu == 0))printf("你根本没有手牌,弃你妹啊!\n"); else if (x == 1 && ((*w1).zhuangbeishu == 1))printf("你根本没有别的装备,弃你妹啊!\n"); else if (x >= 0 && x <= 1)break; else printf("键盘上的“0”和“1”被你吃了吗?\n"); } if (x == 0) { for (;;) { (*w1).Kanshoupai(); printf("弃牌请输入手牌之前的编号,以回车结束!\n"); scanf("%d", &x); if (x >= 0 && x < ((*w1).shoupaishu))break; else printf("弃你妹的手牌!\n"); } printf("你弃掉了"); ((*w1).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w1).shoupai)[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (*qipaishu)++; } else { for (;;) { (*w1).Kanzhuangbei(); printf("请输入装备之前的编号,以回车键结束!\n"); scanf("%d", &x); if ((((*w1).zhuangbei[x]).leixing != -1) && (x >= 0) && (x <= 3)) { printf("你弃掉了"); ((*w1).zhuangbei)[x].Kanpai(); qipaidui[*qipaishu] = ((*w1).zhuangbei)[x]; ((*w1).zhuangbeishu)--; (*qipaishu)++; ((*w1).zhuangbei)[x].leixing = -1; break; } else printf("弃你妹的装备!\n"); } } } } printf("玩家发动【贯石斧】武器效果使【杀】造成伤害!\n"); ((*w2).tili)--; i = Binsi(w1, w2, qipaidui, qipaishu); return i; break; } else if (x == 0)break; else printf("键盘上的“0”和“1”被你吃了吗?\n"); } } else if (x == 0 && ((*w1).zhuangbei[0].leixing == 304)) { for (;;) { printf("是否发动【青龙偃月刀】武器效果?\n0 否\n1 是\n"); scanf("%d", &x); if (x == 1) { for (;;) { printf("请对电脑使用一张【杀】!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n"); (*w1).Kanshoupai(); scanf("%d", &x); if (x == -1) { return 0; break; } else if ((*w1).shoupai[x].leixing == 101) { int i; printf("玩家对电脑使用"); ((*w1).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w1).shoupai)[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (qipaishu)++; i = Sha(w1, w2, paidui, paiduishu, qipaidui, qipaishu); return i; break; } else printf("你确定你打出的是【杀】?\n"); } } else if (x == 0) { return 0; break; } else printf("你确定你输入的是“0”或“1”?\n"); } } else return 0; } return 0; } void Tao(wujiang w1) { ((*w1).tili)++; if ((w1).juese)printf("玩家"); else printf("电脑"); printf("恢复了1点体力!\n"); if (((w1).tili) > ((w1).tilishangxian))printf("你被撑死了!\n"); } void Chai(wujiang w1, wujiang w2, pai qipaidui[104], int qipaishu) { int i, x, y; if ((*w1).juese) { for (;;) { if ((*w2).shoupaishu + (*w2).zhuangbeishu + (*w2).pandingshu == 0) { printf("对方空城,拆你妹啊!\n"); break; } else { printf("请选择想拆的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n"); scanf("%d", &x); if (x == 0 && ((*w2).shoupaishu == 0))printf("你拆掉了一张空气!\n"); else if (x == 1 && ((*w2).zhuangbeishu == 0))printf("你拆掉了一张空气!\n"); else if (x == 2 && ((*w2).pandingshu == 0))printf("你拆掉了一张空气!\n"); else if (x >= 0 && x <= 2)break; else printf("你拆掉了太空区里的一张牌!\n"); } } switch (x) { case 0: srand((unsigned)time(NULL)); y = rand() % ((*w2).shoupaishu); printf("你弃掉了电脑的"); ((*w2).shoupai)[y].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[y]; for (i = y + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; break; case 1: for (;;) { (*w2).Kanzhuangbei(); printf("请输入装备之前的编号,以回车键结束!\n"); scanf("%d", &y); if ((((*w2).zhuangbei[y]).leixing != -1) && (y >= 0) && (y <= 3)) { printf("你弃掉了电脑的"); ((*w2).zhuangbei)[y].Kanpai(); qipaidui[*qipaishu] = ((*w2).zhuangbei)[y]; ((*w2).zhuangbeishu)--; (*qipaishu)++; ((*w2).zhuangbei)[y].leixing = -1; if (!y)((*w2).zhuangbei)[y].changdu = 1; else if (y == 2)((*w2).juli[0])++; else if (y == 3)((*w1).juli[0])--; break; } else printf("你弃掉了一张空气!\n"); } break; case 2: for (;;) { (*w2).Kanpandingpai(); printf("请输入判定牌之前的编号,以回车键结束!\n"); scanf("%d", &y); if ((*w2).pandingpai[y].leixing != -1) { printf("你弃掉了电脑的"); ((*w2).pandingpai)[y].Kanpai(); qipaidui[*qipaishu] = ((*w2).pandingpai)[y]; ((*w2).pandingshu)--; (*qipaishu)++; ((*w2).pandingpai)[y].leixing = -1; break; } else printf("你弃掉了一张空气!\n"); } break; default:break; } } else { if ((*w2).zhuangbeishu) { if ((*w2).zhuangbei[1].leixing != -1) { printf("电脑弃掉了玩家的"); ((*w2).zhuangbei)[1].Kanpai(); qipaidui[*qipaishu] = ((*w2).zhuangbei)[1]; ((*w2).zhuangbeishu)--; (*qipaishu)++; ((*w2).zhuangbei)[1].leixing = -1; } else if ((*w2).zhuangbei[3].leixing != -1) { printf("电脑弃掉了玩家的"); ((*w2).zhuangbei)[3].Kanpai(); qipaidui[*qipaishu] = ((*w2).zhuangbei)[3]; ((*w2).zhuangbeishu)--; (*qipaishu)++; ((*w2).zhuangbei)[3].leixing = -1; ((*w1).juli[0])--; } else if ((*w2).zhuangbei[0].leixing != -1) { printf("电脑弃掉了玩家的"); ((*w2).zhuangbei)[0].Kanpai(); qipaidui[*qipaishu] = ((*w2).zhuangbei)[0]; ((*w2).zhuangbeishu)--; (*qipaishu)++; ((*w2).zhuangbei)[0].leixing = -1; ((*w2).zhuangbei)[0].changdu = 1; } else { printf("电脑弃掉了玩家的"); ((*w2).zhuangbei)[2].Kanpai(); qipaidui[*qipaishu] = ((*w2).zhuangbei)[2]; ((*w2).zhuangbeishu)--; (*qipaishu)++; ((*w2).zhuangbei)[2].leixing = -1; ((*w2).juli[0])++; } } else { srand((unsigned)time(NULL)); y = rand() % ((*w2).shoupaishu); printf("电脑弃掉了玩家的手牌"); ((*w2).shoupai)[y].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[y]; for (i = y + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((w2).shoupaishu)--; (qipaishu)++; } } } void Qian(wujiang w1, wujiang w2) { int i, x, y; if ((*w1).juese) { for (;;) { if ((*w2).shoupaishu + (*w2).zhuangbeishu + (*w2).pandingshu == 0) { printf("对方空城啦!你牵走了一张寂寞!\n"); break; } else { printf("请选择想牵的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n"); scanf("%d", &x); if (x == 0 && ((*w2).shoupaishu == 0))printf("你牵走了一张空气!\n"); else if (x == 1 && ((*w2).zhuangbeishu == 0))printf("你牵走了一张空气!\n"); else if (x == 2 && ((*w2).pandingshu == 0))printf("你牵走了一张空气!\n"); else if (x >= 0 && x <= 2)break; else printf("你牵走了太空区里的一张牌!\n"); } } switch (x) { case 0: srand((unsigned)time(NULL)); y = rand() % ((*w2).shoupaishu); printf("你牵走了电脑的"); ((*w2).shoupai)[y].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).shoupai)[y]; for (i = y + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; ((*w1).shoupaishu)++; break; case 1: for (;;) { (*w2).Kanzhuangbei(); printf("请输入装备之前的编号,以回车键结束!\n"); scanf("%d", &y); if ((((*w2).zhuangbei[y]).leixing != -1) && (y >= 0) && (y <= 3)) { printf("你牵走了电脑的"); ((*w2).zhuangbei)[y].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).zhuangbei)[y]; ((*w2).zhuangbeishu)--; ((*w1).shoupaishu)++; ((*w2).zhuangbei)[y].leixing = -1; if (!y)((*w2).zhuangbei[y]).changdu = 1; else if (y == 2)((*w2).juli[0])++; else if (y == 3)((*w1).juli[0])--; break; } else printf("你弃掉了一张空气!\n"); } break; case 2: for (;;) { (*w2).Kanpandingpai(); printf("请输入判定牌之前的编号,以回车键结束!\n"); scanf("%d", &y); if ((*w2).pandingpai[y].leixing != -1) { printf("你牵走了电脑的"); ((*w2).pandingpai)[y].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).pandingpai)[y]; ((*w2).pandingshu)--; ((*w1).shoupaishu)++; ((*w2).pandingpai)[y].leixing = -1; break; } else printf("你牵走了一张空气!\n"); } break; default:break; } } else { if ((*w2).zhuangbeishu) { if ((*w2).zhuangbei[1].leixing != -1) { printf("电脑牵走了玩家的"); ((*w2).zhuangbei)[1].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).zhuangbei)[1]; ((*w2).zhuangbeishu)--; ((*w1).shoupaishu)++; ((*w2).zhuangbei)[1].leixing = -1; } else if ((*w2).zhuangbei[3].leixing != -1) { printf("电脑牵走了玩家的"); ((*w2).zhuangbei)[3].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).zhuangbei)[3]; ((*w2).zhuangbeishu)--; ((*w1).shoupaishu)++; ((*w2).zhuangbei)[3].leixing = -1; ((*w1).juli[0])--; } else if ((*w2).zhuangbei[0].leixing != -1) { printf("电脑牵走了玩家的"); ((*w2).zhuangbei)[0].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).zhuangbei)[0]; ((*w2).zhuangbeishu)--; ((*w1).shoupaishu)++; ((*w2).zhuangbei)[0].leixing = -1; ((*w2).zhuangbei)[0].changdu = 1; } else { printf("电脑牵走了玩家的"); ((*w2).zhuangbei)[2].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).zhuangbei)[2]; ((*w2).zhuangbeishu)--; ((*w1).shoupaishu)++; ((*w2).zhuangbei)[2].leixing = -1; ((*w2).juli[0])--; } } else { srand((unsigned)time(NULL)); y = rand() % ((*w2).shoupaishu); printf("电脑牵走了玩家的手牌"); ((*w2).shoupai)[y].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).shoupai)[y]; for (i = y + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((w2).shoupai)[i]; ((w2).shoupaishu)--; ((w1).shoupaishu)++; } } } void Wuzhong(wujiang w1, pai A[104], int x, pai B[104], int y) { Mopai(&((w1).shoupaishu), (w1).shoupai, A, x, B, y, (w1).juese); } int Juedou(wujiang w1, wujiang w2, pai qipaidui[104], int qipaishu) { int i, j, x; if ((*w1).juese) { for (;;) { j = 0; for (x = 0; x < ((*w2).shoupaishu); x++) { if ((*w2).shoupai[x].leixing == 101) { printf("电脑打出"); ((*w2).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (int i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; j = 1; break; } } if (!j) { printf("玩家对电脑造成1点伤害!\n"); ((*w2).tili)--; i = Binsi(w1, w2, qipaidui, qipaishu); return i; break; } j = 0; for (;;) { printf("请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n"); if (((*w1).zhuangbei[0].leixing == 305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n"); (*w1).Kanshoupai(); scanf("%d", &x); if (x == -1) { int i; ((*w1).tili)--; printf("电脑对玩家造成1点伤害!\n"); i = Binsi(w2, w1, qipaidui, qipaishu); return i; break; } else if (((*w1).zhuangbei[0].leixing == 305) && x == 100) { pai p = Zhangba(w1, qipaidui, qipaishu); p.paifu = -1; printf("打出!\n"); j = 1; break; } else if ((*w1).shoupai[x].leixing == 101) { printf("玩家打出"); ((*w1).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w1).shoupai)[x]; for (i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((*w1).shoupai)[i]; ((*w1).shoupaishu)--; (*qipaishu)++; j = 1; break; } else printf("你确定你打出的是【杀】?\n"); } } } else { for (;;) { j = 0; for (;;) { printf("请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n"); if (((*w1).zhuangbei[0].leixing == 305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n"); (*w2).Kanshoupai(); scanf("%d", &x); if (x == -1) { int i; ((*w2).tili)--; printf("电脑对玩家造成1点伤害!\n"); i = Binsi(w1, w2, qipaidui, qipaishu); return i; break; } else if (((*w2).zhuangbei[0].leixing == 305) && x == 100) { pai p = Zhangba(w2, qipaidui, qipaishu); p.paifu = -1; printf("打出!\n"); j = 1; break; } else if ((*w2).shoupai[x].leixing == 101) { printf("玩家打出"); ((*w2).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; j = 1; break; } else printf("你确定你打出的是【杀】?\n"); } j = 0; for (x = 0; x < ((*w1).shoupaishu); x++) { if ((*w1).shoupai[x].leixing == 101) { printf("电脑打出"); ((*w1).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w1).shoupai)[x]; for (int i = x + 1; i <= ((*w1).shoupaishu); i++)((*w1).shoupai)[i - 1] = ((w1).shoupai)[i]; ((w1).shoupaishu)--; (qipaishu)++; j = 1; break; } } if (!j) { printf("玩家对电脑造成1点伤害!\n"); ((w2).tili)--; i = Binsi(w2, w1, qipaidui, qipaishu); return i; break; } } } } int Jiedao(wujiang w1, wujiang w2, pai paidui[104], int paiduishu, pai qipaidui[104], int qipaishu) { int i, j = 0, x; if ((*w1).juese) { for (x = 0; x < ((*w2).shoupaishu); x++) { if ((*w2).shoupai[x].leixing == 101) { printf("电脑对玩家使用"); ((*w2).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (int i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; j = 1; break; } } if (j) { i = Sha(w2, w1, paidui, paiduishu, qipaidui, qipaishu); return i; printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w1).tili, (*w1).tilishangxian, (*w2).tili, (*w2).tilishangxian); } else { printf("电脑放弃使用【杀】,玩家获得电脑的武器"); (*w2).zhuangbei[0].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).zhuangbei)[0]; ((*w2).zhuangbeishu)--; ((*w1).shoupaishu)++; ((*w2).zhuangbei)[0].leixing = -1; ((*w2).zhuangbei)[0].changdu = 1; (*w1).Kanshoupai(); return 0; } } else { for (;;) { printf("请对电脑使用一张【杀】,否则电脑将获得你的武器!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n"); if (((*w2).zhuangbei[0].leixing == 305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n"); (*w2).Kanshoupai(); scanf("%d", &x); if (x == -1)break; else if (((*w2).zhuangbei[0].leixing == 305) && x == 100) { pai p = Zhangba(w2, qipaidui, qipaishu); p.paifu = -1; printf("使用!\n"); j = 1; break; } else if ((*w2).shoupai[x].leixing == 101) { printf("玩家对电脑使用"); ((*w2).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; j = 1; break; } else printf("你确定你使用的是【杀】?\n"); } if (j) { i = Sha(w2, w1, paidui, paiduishu, qipaidui, qipaishu); return i; printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w2).tili, (*w2).tilishangxian, (*w1).tili, (*w1).tilishangxian); } else { printf("玩家放弃使用【杀】,电脑获得玩家的武器"); ((*w2).zhuangbei)[0].Kanpai(); (*w1).shoupai[(*w1).shoupaishu] = ((*w2).zhuangbei)[0]; ((*w2).zhuangbeishu)--; ((*w1).shoupaishu)++; ((*w2).zhuangbei)[0].leixing = -1; ((w2).zhuangbei)[0].changdu = 1; return 0; } } } void Taoyuan(wujiang w) { if ((*w).tili < (*w).tilishangxian) { ((*w).tili)++; if ((w).juese)printf("玩家"); else printf("电脑"); printf("恢复1点体力!\n"); } } void Kaipai(pai paidui[104], int paiduishu, int renshu, pai wugu[10]) { int i; printf("五谷丰登开牌:\n"); for (i = 1; i <= renshu; i++) { wugu[i - 1] = paidui[104 - (*paiduishu)]; (paiduishu)--; printf("%d ", i - 1); wugu[i - 1].Kanpai(); } } void Qupai(pai wugu[10], wujiang w) { int i, x; printf("五谷丰登开牌:\n"); for (i = 0; (wugu[i].leixing) != -1; i++) { printf("%d ", i); wugu[i].Kanpai(); } if ((*w).juese) { for (;;) { printf("请选择你想要的卡牌,输入卡牌之前的编号,以回车结束!\n"); scanf("%d", &x); if (wugu[x].leixing != -1) { printf("玩家选择"); wugu[x].Kanpai(); (*w).shoupai[(*w).shoupaishu] = wugu[x]; ((*w).shoupaishu)++; for (i = x + 1; i <= 9; i++)wugu[i - 1] = wugu[i]; wugu[9].leixing = -1; break; } printf("你选择了一张空气加入手牌!"); } } else { printf("电脑选择"); wugu[0].Kanpai(); (*w).shoupai[(w).shoupaishu] = wugu[0]; ((w).shoupaishu)++; for (i = 1; i <= 9; i++)wugu[i - 1] = wugu[i]; wugu[9].leixing = -1; } } void Rengpai(pai wugu[10], pai qipaidui[104], int qipaishu) { int i; for (i = 0; wugu[i].leixing != -1; i++) { qipaidui[qipaishu] = wugu[i]; (qipaishu)++; wugu[i].leixing = -1; } } int Nanman(wujiang w1, wujiang w2, pai qipaidui[104], int qipaishu) { int i, x; if ((*w1).juese) { for (x = 0; x < ((*w2).shoupaishu); x++) { if ((*w2).shoupai[x].leixing == 101) { printf("电脑打出"); ((*w2).shoupai)[x].Kanpai(); qipaidui[*qipaishu] = ((*w2).shoupai)[x]; for (int i = x + 1; i <= ((*w2).shoupaishu); i++)((*w2).shoupai)[i - 1] = ((*w2).shoupai)[i]; ((*w2).shoupaishu)--; (*qipaishu)++; return 0; break; } } printf("玩家对电脑造成1点伤害!\n"); ((*w2).tili)--; i = Binsi(w1, w2, qipaidui, qipaishu); return i; } else { for (;;) { printf("请打出一张【杀】响应【南蛮入侵】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n"); if (((*w2).zhuangbei[0].leixing == 305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n"); (*w2).Kanshoupai(); scanf("%d", &x); if (x == -1) { int i; ((*w2).tili)--; printf("电脑对玩家造成1点伤害!\n"); i = Binsi(w1, w2, qipaidui, qipaishu); return i; break; } else if (((*w2).zhuangbei[0].leixing == 305) && x == 100) { pai p = Zhangba(w2, qipaidui, qipaishu); p.paifu = -1; printf("使用!\n"); return 0; break; } else if ((*w2).shoupai[x].leixing == 101) { printf("玩家打出"); ((w2).shoupai)[x].Kanpai(); qipaidui[qipaishu] = ((w2).shoupai)[x]; for (i = x + 1; i <= ((w2).shoupaishu); i++)((w2).shoupai)[i - 1] = ((w2).shoupai)[i]; ((w2).shoupaishu)--; (qipaishu)++; return 0; break; } else printf("你确定你打出的是【杀】?\n"); } } } int Wanjian(wujiang w1, wujiang w2, pai paidui[104], int paiduishu, pai qipaidui[104], int qipaishu) { int i; i = Shan(w1, w2, paidui, paiduishu, qipaidui, qipaishu); if (i == -1) { i = Binsi(w1, w2, qipaidui, qipaishu); return i; } else return 0; } int Chupai(pai paidui[104], pai qipaidui[104], int paiduishu, int qipaishu, wujiang w1, wujiang w2, pai yuanshipaidui[2][4][13]) { pai p1; int sha = 1; int y = -1, i, t = ((*w1).shoupaishu) - 1; for (;; t--) {

        if ((*w1).juese)
        {
            printf("\n电脑当前手牌数:%d\n", ((*w2).shoupaishu));
            (*w2).Kanzhuangbei();
            (*w1).Kanshoupai();
            (*w1).Kanzhuangbei();
        }
        int j = 0;
        if ((*w1).juese && ((*w1).zhuangbei[0].leixing == 305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
        y = Xuanpai(w1, t);
        p1 = Panpai(w1, &sha, y, qipaidui, qipaishu);
        if ((p1).leixing == -1)break;
        else if ((p1).leixing == 0)continue;
        else
        {
            int duixiang;
            duixiang = Mubiao(p1, w1, w2, &sha);
            if (duixiang == -2)continue;
            else
            {
                Da1pai(w1, w2, qipaidui, qipaishu, y);
                Miaoshu(p1, ((*w1).juese), duixiang);
                if (!((*w1).juese))
                {
                    printf("\n电脑当前手牌数:%d\n", ((*w1).shoupaishu));
                    (*w1).Kanzhuangbei();
                    (*w2).Kanshoupai();
                    (*w2).Kanzhuangbei();
                }
                switch (p1.leixing)
                {
                case 101:
                    i = Sha(w1, w2, paidui, paiduishu, qipaidui, qipaishu);
                    if (i == -1) { return -1; break; }
                    if ((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w1).tili, (*w1).tilishangxian, (*w2).tili, (*w2).tilishangxian);
                    else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w2).tili, (*w2).tilishangxian, (*w1).tili, (*w1).tilishangxian);
                    break;
                case 103:
                    Tao(w1);
                    break;
                case 201:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))Chai(w1, w2, qipaidui, qipaishu);
                    else;
                    if ((*w1).juese)(*w1).Kanshoupai();
                    break;
                case 202:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))Qian(w1, w2);
                    else;
                    if ((*w1).juese)(*w1).Kanshoupai();
                    break;
                case 203:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))Wuzhong(w1, paidui, paiduishu, qipaidui, qipaishu);
                    else;
                    break;
                case 204:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))
                    {
                        i = Juedou(w1, w2, qipaidui, qipaishu);
                        if (i == -1)return -1;
                        if ((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w1).tili, (*w1).tilishangxian, (*w2).tili, (*w2).tilishangxian);
                        else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w2).tili, (*w2).tilishangxian, (*w1).tili, (*w1).tilishangxian);
                    }
                    break;
                case 205:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))
                    {
                        i = Jiedao(w1, w2, paidui, paiduishu, qipaidui, qipaishu);
                        if (i == -1)return -1;
                        if ((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w1).tili, (*w1).tilishangxian, (*w2).tili, (*w2).tilishangxian);
                        else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w2).tili, (*w2).tilishangxian, (*w1).tili, (*w1).tilishangxian);
                    }
                    break;
                case 206:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))Taoyuan(w1);
                    j = 0;
                    for (;;)
                    {
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))Taoyuan(w2);
                    break;
                case 207:
                    pai wugu[10];
                    for (i = 1; i <= 10; i++)wugu[i - 1].leixing = -1;
                    Kaipai(paidui, paiduishu, 2, wugu);
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))Qupai(wugu, w1);
                    for (;;)
                    {
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))Qupai(wugu, w2);
                    Rengpai(wugu, qipaidui, qipaishu); printf("弃牌数:%d\n", *qipaishu);
                    break;
                case 208:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))
                    {
                        i = Nanman(w1, w2, qipaidui, qipaishu);
                        if (i == -1)return -1;
                        if ((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w1).tili, (*w1).tilishangxian, (*w2).tili, (*w2).tilishangxian);
                        else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w2).tili, (*w2).tilishangxian, (*w1).tili, (*w1).tilishangxian);
                    }
                    break;
                case 209:
                    for (;;)
                    {
                        i = Wuxie(&p1, w1, w2, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                        i = Wuxie(&p1, w2, w1, qipaidui, qipaishu, 0);
                        if (!i)break;
                        j++;
                    }
                    if (!(j % 2))
                    {
                        i = Wanjian(w1, w2, paidui, paiduishu, qipaidui, qipaishu);
                        if (i == -1)return -1;
                        if ((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w1).tili, (*w1).tilishangxian, (*w2).tili, (*w2).tilishangxian);
                        else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n", (*w2).tili, (*w2).tilishangxian, (*w1).tili, (*w1).tilishangxian);
                    }
                    break;
                case 361:
                case 362:
                case 363:
                    ((*w1).juli[0])--; break;
                case 381:
                case 382:
                case 383:
                    ((*w2).juli[0])++; break;
                default:break;
                }
                printf("\n");
            }
        }
    }
    return 0;
    

    } void Qipai(pai shoupai[20], int* shoupaishu, pai qipaidui[104], int* qipaishu, int juese, int* shoupaishangxian) { int x; if ((*shoupaishu) > (*shoupaishangxian)) { if (juese != 1 && juese != 0)printf("身份参数错误!"); int q = (*shoupaishu) - (*shoupaishangxian); int i, j; for (j = 1; j <= q; j++) { for (;;) { if (juese) { printf("弃牌请输入手牌之前的编号,以回车结束!\n注:一次只能弃一张牌\n"); printf("手牌数:%d\n", *shoupaishu); scanf("%d", &x); if (x >= 0 && x < (*shoupaishu))break; else printf("你弃掉了一张空气!\n"); } else { srand((unsigned)time(NULL)); x = rand() % (*shoupaishu); break; } } qipaidui[*qipaishu] = shoupai[x]; for (i = x + 1; i <= (*shoupaishu); i++)shoupai[i - 1] = shoupai[i]; (*shoupaishu)--; if (juese)printf("弃牌阶段玩家弃置"); else printf("弃牌阶段电脑弃置"); qipaidui[qipaishu].Kanpai(); (qipaishu)++; int m; if (juese) { printf("玩家当前手牌:\n"); for (m = 0; m <= (shoupaishu - 1); m++) { printf("%d ", m); (shoupai[m]).Kanpai(); } } printf("弃牌堆:%d\n", qipaishu); } } } int Huihe(pai A[104], pai B[104], int x, int y, pai yuanshipaidui[2][4][13], wujiang w1, wujiang w2) { printf("\n回合开始阶段……\n"); switch ((*w1).huihekaishi) { case 0:break; default:printf("回合开始阶段参数错误!\n"); break; } printf("判定阶段……\n"); int K = 0; if ((*w1).pandingshu > 0) { int i, j; for (; (*w1).pandingshu;) { switch ((*w1).pandingpai[0].leixing) { case 251:printf("【乐不思蜀】开始判定……\n"); break; case 252:printf("【闪电】开始判定……\n"); break; default:printf("【??】开始判定……\n"); break; } j = 0; pai p = ((*w1).pandingpai[0]); for (;;)//在判定之前询问【无懈】 { i = Wuxie(&p, w2, w1, B, y, 0); if (!i)break; j++; i = Wuxie(&p, w1, w2, B, y, 0); if (!i)break; j++; } switch ((*w1).pandingpai[0].leixing) { case 251: if (!(j % 2)) { printf("【乐不思蜀】的判定牌是:"); Panding(A, x, B, y); if ((B[(*y) - 1].huase) != 1) { printf("【乐不思蜀】判定成功!\n"); if ((*w1).juese)printf("玩家"); else printf("电脑"); printf("跳过出牌阶段!\n"); K = -1; } else printf("【乐不思蜀】判定失败!\n"); } B[*y] = (*w1).pandingpai[0]; ((*w1).pandingshu)--; (*w1).pandingpai[0] = (*w1).pandingpai[1]; (*w1).pandingpai[1] = (*w1).pandingpai[2]; (*w1).pandingpai[2].leixing = -1; (*y)++; break; case 252: if (!(j % 2)) { printf("【闪电】的判定牌是:"); Panding(A, x, B, y); if ((B[(*y) - 1].huase == 0) && (B[(*y) - 1].dianshu >= 1) && (B[(*y) - 1].dianshu <= 8)) { printf("【闪电】判定成功!\n"); if ((*w1).juese)printf("玩家"); else printf("电脑"); printf("受到3点雷电伤害!"); ((*w1).tili) = ((*w1).tili) - 3; i = Binsi(w2, w1, B, y); B[*y] = (*w1).pandingpai[0]; ((*w1).pandingshu)--; (*w1).pandingpai[0] = (*w1).pandingpai[1]; (*w1).pandingpai[1] = (*w1).pandingpai[2]; (*w1).pandingpai[2].leixing = -1; (*y)++; if (i == -1)return -1; } else { printf("【闪电】判定失败!\n"); (*w2).pandingpai[2] = (*w2).pandingpai[1]; (*w2).pandingpai[1] = (*w2).pandingpai[0]; (*w2).pandingpai[0] = (*w1).pandingpai[0]; (*w1).pandingpai[0] = (*w1).pandingpai[1]; (*w1).pandingpai[1] = (*w1).pandingpai[2]; (*w1).pandingpai[2].leixing = -1; ((*w1).pandingshu)--; ((*w2).pandingshu)++; } break; } default:printf("判定牌错误!"); } printf("弃牌数:%d\n", *y); } } else if (!((*w1).pandingshu)); else printf("判定阶段参数错误!\n"); printf("摸牌阶段……\n"); switch ((*w1).mopai) { case 0:Mopai(&((*w1).shoupaishu), (*w1).shoupai, A, x, B, y, (*w1).juese); break; case -1:break; default:printf("摸牌阶段参数错误!\n"); break; } if (K == -1)goto M; printf("出牌阶段……\n"); switch ((*w1).chupai) { case 0: { int i; i = Chupai(A, B, x, y, w1, w2, yuanshipaidui); if (i == -1) { return -1; break; } else break; } case -1:break; default:printf("出牌阶段参数错误!\n"); break; } M: printf("弃牌阶段……\n"); switch ((*w1).qipai) { case 0: Qipai((*w1).shoupai, &((*w1).shoupaishu), B, y, (*w1).juese, &((*w1).tili)); break; default:printf("弃牌阶段参数错误!\n"); break; } printf("回合结束阶段……\n"); switch ((*w1).huihejieshu) { case 0:break; default:printf("回合结束阶段参数错误!\n"); break; } return 0; } int main() { void Kanshoupai(pai p); pai yuanshipaidui[2][4][13], qipaidui[104], paidui[104]; wujiang wanjia, com; com.tili = wanjia.tili = 5; com.tilishangxian = wanjia.tilishangxian = 5; com.huihekaishi = wanjia.huihekaishi = 0; com.panding = wanjia.panding = 0; com.mopai = wanjia.mopai = 0; com.chupai = wanjia.chupai = 0; com.qipai = wanjia.qipai = 0; com.huihejieshu = wanjia.huihejieshu = 0; com.shoupaishu = wanjia.shoupaishu = 0; com.pandingshu = wanjia.pandingshu = 0; com.zhuangbeishu = wanjia.zhuangbeishu = 0; com.juese = 0; wanjia.juese = 1; pai p; p.leixing = -1; com.zhuangbei[0] = com.zhuangbei[1] = com.zhuangbei[2] = com.zhuangbei[3] = wanjia.zhuangbei[0] = wanjia.zhuangbei[1] = wanjia.zhuangbei[2] = wanjia.zhuangbei[3] = p; com.zhuangbei[0].changdu = wanjia.zhuangbei[0].changdu = 1; com.pandingpai[0] = com.pandingpai[1] = com.pandingpai[2] = wanjia.pandingpai[0] = wanjia.pandingpai[1] = wanjia.pandingpai[2] = p; com.juli[0] = wanjia.juli[0] = 1; int a, b, c; for (a = 0; a <= 1; a++) { for (b = 0; b <= 3; b++) { for (c = 0; c <= 12; c++) { yuanshipaidui[a][b][c].paifu = a; yuanshipaidui[a][b][c].huase = b; yuanshipaidui[a][b][c].dianshu = c; } } } yuanshipaidui[0][0][0].leixing = 204; yuanshipaidui[0][0][1].leixing = 331; yuanshipaidui[0][0][2].leixing = 201; yuanshipaidui[0][0][3].leixing = 201; yuanshipaidui[0][0][4].leixing = 304; yuanshipaidui[0][0][4].changdu = 3; yuanshipaidui[0][0][5].leixing = 251; yuanshipaidui[0][0][6].leixing = 101; yuanshipaidui[0][0][7].leixing = 101; yuanshipaidui[0][0][8].leixing = 101; yuanshipaidui[0][0][9].leixing = 101; yuanshipaidui[0][0][10].leixing = 202; yuanshipaidui[0][0][11].leixing = 201; yuanshipaidui[0][0][12].leixing = 208; yuanshipaidui[0][1][0].leixing = 209; yuanshipaidui[0][1][1].leixing = 102; yuanshipaidui[0][1][2].leixing = 103; yuanshipaidui[0][1][3].leixing = 103; yuanshipaidui[0][1][4].leixing = 308; yuanshipaidui[0][1][4].changdu = 5; yuanshipaidui[0][1][5].leixing = 103; yuanshipaidui[0][1][6].leixing = 103; yuanshipaidui[0][1][7].leixing = 103; yuanshipaidui[0][1][8].leixing = 103; yuanshipaidui[0][1][9].leixing = 101; yuanshipaidui[0][1][10].leixing = 101; yuanshipaidui[0][1][11].leixing = 103; yuanshipaidui[0][1][12].leixing = 102; yuanshipaidui[0][2][0].leixing = 204; yuanshipaidui[0][2][1].leixing = 101; yuanshipaidui[0][2][2].leixing = 101; yuanshipaidui[0][2][3].leixing = 101; yuanshipaidui[0][2][4].leixing = 101; yuanshipaidui[0][2][5].leixing = 101; yuanshipaidui[0][2][6].leixing = 101; yuanshipaidui[0][2][7].leixing = 101; yuanshipaidui[0][2][8].leixing = 101; yuanshipaidui[0][2][9].leixing = 101; yuanshipaidui[0][2][10].leixing = 101; yuanshipaidui[0][2][11].leixing = 205; yuanshipaidui[0][2][12].leixing = 205; yuanshipaidui[0][3][0].leixing = 204; yuanshipaidui[0][3][1].leixing = 102; yuanshipaidui[0][3][2].leixing = 102; yuanshipaidui[0][3][3].leixing = 102; yuanshipaidui[0][3][4].leixing = 102; yuanshipaidui[0][3][5].leixing = 101; yuanshipaidui[0][3][6].leixing = 101; yuanshipaidui[0][3][7].leixing = 101; yuanshipaidui[0][3][8].leixing = 101; yuanshipaidui[0][3][9].leixing = 101; yuanshipaidui[0][3][10].leixing = 102; yuanshipaidui[0][3][11].leixing = 103; yuanshipaidui[0][3][12].leixing = 101; yuanshipaidui[1][0][0].leixing = 252; yuanshipaidui[1][0][1].leixing = 302; yuanshipaidui[1][0][1].changdu = 2; yuanshipaidui[1][0][2].leixing = 202; yuanshipaidui[1][0][3].leixing = 202; yuanshipaidui[1][0][4].leixing = 383; yuanshipaidui[1][0][5].leixing = 303; yuanshipaidui[1][0][5].changdu = 2; yuanshipaidui[1][0][6].leixing = 208; yuanshipaidui[1][0][7].leixing = 101; yuanshipaidui[1][0][8].leixing = 101; yuanshipaidui[1][0][9].leixing = 101; yuanshipaidui[1][0][10].leixing = 210; yuanshipaidui[1][0][11].leixing = 305; yuanshipaidui[1][0][11].changdu = 3; yuanshipaidui[1][0][12].leixing = 362; yuanshipaidui[1][1][0].leixing = 206; yuanshipaidui[1][1][1].leixing = 102; yuanshipaidui[1][1][2].leixing = 207; yuanshipaidui[1][1][3].leixing = 207; yuanshipaidui[1][1][4].leixing = 361; yuanshipaidui[1][1][5].leixing = 251; yuanshipaidui[1][1][6].leixing = 203; yuanshipaidui[1][1][7].leixing = 203; yuanshipaidui[1][1][8].leixing = 203; yuanshipaidui[1][1][9].leixing = 101; yuanshipaidui[1][1][10].leixing = 203; yuanshipaidui[1][1][11].leixing = 201; yuanshipaidui[1][1][12].leixing = 381; yuanshipaidui[1][2][0].leixing = 301; yuanshipaidui[1][2][0].changdu = 1; yuanshipaidui[1][2][1].leixing = 331; yuanshipaidui[1][2][2].leixing = 201; yuanshipaidui[1][2][3].leixing = 201; yuanshipaidui[1][2][4].leixing = 382; yuanshipaidui[1][2][5].leixing = 251; yuanshipaidui[1][2][6].leixing = 208; yuanshipaidui[1][2][7].leixing = 101; yuanshipaidui[1][2][8].leixing = 101; yuanshipaidui[1][2][9].leixing = 101; yuanshipaidui[1][2][10].leixing = 101; yuanshipaidui[1][2][11].leixing = 210; yuanshipaidui[1][2][12].leixing = 210; yuanshipaidui[1][3][0].leixing = 301; yuanshipaidui[1][3][0].changdu = 1; yuanshipaidui[1][3][1].leixing = 102; yuanshipaidui[1][3][2].leixing = 202; yuanshipaidui[1][3][3].leixing = 202; yuanshipaidui[1][3][4].leixing = 306; yuanshipaidui[1][3][4].changdu = 3; yuanshipaidui[1][3][5].leixing = 102; yuanshipaidui[1][3][6].leixing = 102; yuanshipaidui[1][3][7].leixing = 102; yuanshipaidui[1][3][8].leixing = 102; yuanshipaidui[1][3][9].leixing = 102; yuanshipaidui[1][3][10].leixing = 102; yuanshipaidui[1][3][11].leixing = 307; yuanshipaidui[1][3][11].changdu = 4; yuanshipaidui[1][3][12].leixing = 363; int paiduishu = 104; int qipaishu = 0; printf("游戏开始!\n"); Qishixipai(yuanshipaidui, paidui); Qishishoupai(&wanjia, paidui, &(paiduishu), qipaidui, &(qipaishu)); Qishishoupai(&com, paidui, &(paiduishu), qipaidui, &(qipaishu)); int i; for (;;) { i = Huihe(paidui, qipaidui, &paiduishu, &qipaishu, yuanshipaidui, &wanjia, &com); if (i == -1)break; i = Huihe(paidui, qipaidui, &paiduishu, &qipaishu, yuanshipaidui, &com, &wanjia); if (i == -1)break; } }

    孔子曰,打架用砖乎!不宜乱乎,照脸乎,使劲乎,乎不着,再乎,右手乎完左手乎,板砖乎断用鞋乎,既然乎,岂可一人独乎,有朋一起乎,不亦乐乎!乎着,往死里乎,乎不死再乎。你明乎,不眀乎?明乎则已,不明乎则拿砖照脸乎!一乎则明,如一乎不明,再一乎,搞定也。

    考试不翻书,简直是头猪。

    作弊不要慌,逮到就要装。

    生是中国人,死是中国魂。

    要我学洋文,死都不可能。

    抢饭不积极,智商有问题。

    上课不放屁,肠道有问题。

    英语不及格,说明我爱国;

    语文不及格,恋爱没资格;

    物理不及格,电死不负责;

    化学不及格,硫酸也喝得;

    政治不及格,老师没道德;

    信息不及格,网吧要打折;

    数学不及格,突出我性格;

    历史不及格,社会要改革;

    全科不及格,老妈动真格!

    摸鱼人的小仓库 http://www.staggeringbeauty.com/ 大虫子 https://www.ak-ioi.com/apps/oi-2048/ 华容道 chrome://dino/ 小恐龙 https://littlealchemy2.com/ 小小炼金师 https://2048game.com/ 数字组 https://dimit.me/Fe26/index_zh_CN.html 死铁 http://www.4399.com/ 4399 https://www.mazegenerator.net/ 迷宫 https://lewan.baidu.com/rankland?idfrom=5056&gameSource=mini&gameType=0 百度游戏 [https://deepmess.com/namerena/]名字竞技场

    ev.io 枪战游戏 https://www.crazygames.com/game/air-wars-2 飞机 https://www.crazygames.com/game/kirka-io 枪战 https://www.crazygames.com/game/ev-io `` include<bits/stdc++.h> using namespace std; //辗转相除法 int a,n,b; int main(){ cin>>n; cin>>a; for(int i=2;i<=n;i++){ cin>>b; if(a<b) swap(a,b); while(1){ int yu=a%b; if(yu==0){ a=b; break; } a=b; b=yu; } } cout<<a;

    }

    
    #include<bits/stdc++.h>
    #include <windows.h>
    using namespace std;
    void movexy(short x, short y){
    COORD position={x, y};
    HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hOut, position);
    }
    int main(){
    movexy(37, 7);
    cout<<"反电子教室系统"<<endl;
    cout<<endl;
    cout<<"                                     目前可以反击:"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
    cout<<"                      红蜘蛛多媒体网络教室 - 输入 k-rs即可反击"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
    cout<<"                              极域电子教室 - 输入 k-jy即可反击"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
    cout<<"                          伽卡他卡电子教室 - 输入 k-yk即可反击"<<endl;
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
    cout<<"                                  如果在开启本程序后关闭本程序,"<<endl;
    cout<<"                                        本次反击将无效!"<<endl;
    cout<<"    input >>> ";
    string s;
    cin>>s;
    if(s=="k-rs"){
    system("cls");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
    cout<<"                                  红蜘蛛反击系统启动成功"<<endl;
    Sleep(1000);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
    while(1)
    {
    system("taskkill /f /t /im REDAgent.exe");
    system("cls");
    }
    }
    if(s=="k-jy"){
    system("cls");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
    cout<<"                                  极域反击系统启动成功"<<endl;
    Sleep(1000);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
    while(1)
    {
    system("taskkill /f /t /im StudentMain.exe");
    system("cls");
    }
    }
    if(s=="k-yk"){
    system("cls");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
    cout<<"                                  伽卡他卡反击系统启动成功"<<endl;
    Sleep(1000);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
    while(1){
    system("taskkill /f /t /im Student.exe");
    system("cls");
    }
    }
    return 0;
    }
    #include<iostream>
    #include<cstdlib>
    #include<ctime>
    using namespace std;
    int main(){
    cout<<"数字推理王游戏规则\n";
    cout<<"现有一组由2个数字组成的谜底,数组范围1-5,请你根据提示推理出这组数据\n";
    cout<<"提示信息中,符号的数量表示猜对的数量,*表示位置也一样\n";
    srand(time(0));
    int a=rand()%5+1,b=rand()%5+1;
    int x,y;
    while(true){
    cin>>x>>y;
    if(x==a && y==b){
    cout<<"Bingo!\n";
    return 0;
    }
    cout<<"提示:";
    int fx=0,fy=0,fa=0,fb=0;
    if(x==a){
    cout<<"*";
    fy=1;
    fb=1;
    }
    if(y==b){
    cout<<"*";
    fx=1;
    fa=1;
    }
    if(x==b&&fx==0&&fb==0){
    cout<<"#";
    fx=1;
    fa=1;
    
    

    } if(ya&&fy0&&fa==0){ cout<<"#"; fy=1; fa=1;

    }

    
    }
    ![宇智波鼬高清壁纸下载_波风水门帅气图片_微信公众号文章](https://ts1.cn.mm.bing.net/th/id/R-C.9baee06b302b12bb9d22d907b092cf7a?rik=Ll0jKH1dAOXw7A&riu=http%3a%2f%2fi0.hdslb.com%2fbfs%2farchive%2f39ece628c3bf4af4e94cccd39ab6d34d4efa790d.jpg&ehk=1BooUflo5KMhNZN7ZUvqC5kUu10vlEoi%2bYDKj0%2fa3ts%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1)
    ![火影忍者宇智波鼬壁纸,高清图片,壁纸,动漫-桌面城市](https://pic3.zhimg.com/50/v2-c0a8bb1ab864219155d8fb19627b6acf_hd.jpg?source=1940ef5c)
    ![你收集了哪《火影忍者》中关于宇智波带土的头像或者壁纸? - 知乎](https://pic3.zhimg.com/v2-951631f5fb2788da323c05a363f2eb22_r.jpg?source=1940ef5c)
    ![宇智波带土壁纸_宇智波带土壁纸电脑 - 电影天堂](https://ts1.cn.mm.bing.net/th/id/R-C.6a948b2cc4e5a89173ff96a7ca112eab?rik=nt5Q%2fv8DzGvP%2bQ&riu=http%3a%2f%2fi0.hdslb.com%2fbfs%2farticle%2f6baf80e955102f941b5e42c6e549a13531b2c4c7.jpg&ehk=QZa9gQR70uk6yYZyxgQ8ijpuzbSPr1Lff3uhSyxt6Mk%3d&risl=&pid=ImgRaw&r=0)
    ![火影忍者高清壁纸_火影忍者图片超清壁纸 - 电影天堂](https://c-ssl.dtstatic.com/uploads/item/201704/21/20170421202820_vnEs5.thumb.400_0.png)
    ![宇智波鼬_360百科](https://p1.ssl.qhimg.com/t013c44e114d19be668.jpg)
    ![火影忍者宇智波头像,火影忍者头像,火影忍者头像帅气(第4页)_大山谷图库](https://c-ssl.duitang.com/uploads/item/202001/22/20200122113711_fkims.jpg)
    ![火影忍者宇智波头像,火影忍者头像,火影忍者头像帅气(第4页)_大山谷图库](https://ts1.cn.mm.bing.net/th/id/R-C.d4a440c5dd33475cafe1d693fa593605?rik=QwB0xTJkKqA3qw&riu=http%3a%2f%2f5b0988e595225.cdn.sohucs.com%2fimages%2f20171108%2f7537b3d82dba4834986b07dcb37a0f15.jpg&ehk=OSTec31qW4tF7OB18uShLwMIp7wSjD322EdA51d4jYE%3d&risl=&pid=ImgRaw&r=0)
    
    (https://imgres.iefans.net/iefans/263/1314644-2022100815301063412702ca52a.jpg)
    ![宇智波斑壁纸全屏,宇智波斑壁纸帅气,宇智波斑壁纸桌面_文秘苑图库](https://ts1.cn.mm.bing.net/th/id/R-C.abac031d59d846a014c35193288c8451?rik=nk0pYs2sA2GQwA&riu=http%3a%2f%2fimage.samanlehua.com%2ffile%2fuserfiles%2fimages%2fauto54%2f2017032110375045633.jpg&ehk=YGmxrG%2fSbyty3%2f%2bh32rHMfGfE0AuCKW%2b%2f1Oq77aOSao%3d&risl=&pid=ImgRaw&r=0)
    ![宇智波斑高清壁纸手机,宇智波鼬壁纸,宇智波斑壁纸(第2页)_大山谷图库](https://ts1.cn.mm.bing.net/th/id/R-C.76873c34b1956adf476ceac8954249e8?rik=iCvmLfTak7zlJQ&riu=http%3a%2f%2fimage.samanlehua.com%2ffile%2fuserfiles%2fimages%2fauto32%2f2017032010270052395.jpg&ehk=cX8W9QT9u2LTkVylJO%2bT05ZLYYGZ58CsBl7mYsmccFk%3d&risl=&pid=ImgRaw&r=0)
    ![《火影》宇智波带土——为了琳毁了这个世界又如何?|宇智波|卡卡西|火影_新浪新闻](https://ts1.cn.mm.bing.net/th/id/R-C.9b508b1a4e50cd199dc65f9f1d77cf15?rik=dJN3pM34GwOO%2bQ&riu=http%3a%2f%2fn.sinaimg.cn%2fsinacn%2f20170908%2fd308-fykufif3715536.jpg&ehk=J%2f9UYJjOAdS1s2DbK4SXjkL1qevIOZEy3Q5I%2b0T0NYE%3d&risl=&pid=ImgRaw&r=0)
    ![#爱の宇智波 宇智波家的团扇们 宇智波斑… - 堆糖,美图壁纸兴趣社区](https://c-ssl.dtstatic.com/uploads/item/201806/17/20180617205621_lfvtb.thumb.400_0.jpg)
    ![宇智波带土_360百科](https://p1.ssl.qhmsg.com/t01011b5eb24169818f.jpg)
    ![火影忍者_视频在线观看-爱奇艺搜索](https://pic1.zhimg.com/v2-ae6903dd2c0754a40576a9655a563521_r.jpg?source=1940ef5c)
    ![#爱の宇智波 宇智波家的团扇们 宇智波斑… - 堆糖,美图壁纸兴趣社区](https://c-ssl.duitang.com/uploads/item/201610/04/20161004193956_fJzen.jpeg)
    ![宇智波鼬最帅高清壁纸,鼬图片超帅万花,宇智波鼬蹲电线杆壁纸_大山谷图库](https://ts1.cn.mm.bing.net/th/id/R-C.3435fe6188f51ab678224cec99a9bf7a?rik=GCCiN82pqDzmGQ&riu=http%3a%2f%2f5b0988e595225.cdn.sohucs.com%2fq_70%2cc_zoom%2cw_640%2fimages%2f20180715%2f895f3d6166824634ab9f29c580d74273.jpeg&ehk=HNlBqK691UseEb0V%2fiQ5lTdbFg8AwSw0OziX2QKVPSI%3d&risl=&pid=ImgRaw&r=0)
    
    

    #include using namespace std; int n,k; int s[100001]; int main(){ s[1]=1; cin>>n>>k; for(int i=2;i<=k;i++){ s[i]=(s[i-1]*2)%100003; } for(int i=k+1;i<=n;i++){ for(int j=i-k;j<=i-1;j++){ s[i]=(s[i]+s[j])%100003; } } cout<<s[n]; return 0; }

    
    ![【三渲二】火影忍者手游宇智波斑白面具招募CG_乌兹文化-站酷ZCOOL](https://img.zcool.cn/community/01idazkcwfiec7gljrnxrc3133.jpg?x-oss-process=image/auto-orient,1/resize,m_lfit,w_1280,limit_1/sharpen,100)
    ![火影 写轮眼大全|宇智波|万花筒|鼬_新浪新闻](https://ts1.cn.mm.bing.net/th/id/R-C.c6388963e18d5a9a07847c06afc6f6c9?rik=zHEVzC81Jlbn2g&riu=http%3a%2f%2fn.sinaimg.cn%2fsinacn20%2f430%2fw640h590%2f20180906%2f0580-hitesuz3687468.jpg&ehk=BKVAvVkxXS6ryIlh5rBKeC0XNm0TKNdVrQbcRUE%2fICI%3d&risl=&pid=ImgRaw&r=0)
    ![宇智波斑铅笔画,宇智波带土铅笔画,佩恩铅笔画(第5页)_大山谷图库](https://ts1.cn.mm.bing.net/th/id/R-C.ab4e413472dd0a572c85b1edbe11e202?rik=zDcYLqCFcR3xTg&riu=http%3a%2f%2f5b0988e595225.cdn.sohucs.com%2fimages%2f20180105%2fff3e5d3dfe014cf8869c6f0c9343dede.jpeg&ehk=wkg3SvRAPN0oym%2f06hRp0rcL%2fuTPAEsNz%2b6rNQdB96k%3d&risl=&pid=ImgRaw&r=0)
    ![宇智波止水 - 堆糖,美图壁纸兴趣社区](https://c-ssl.duitang.com/uploads/item/201703/28/20170328080119_M5SKW.jpeg)
    ![宇智波止水_360百科](https://c-ssl.duitang.com/uploads/item/202002/20/20200220185258_TdaQW.jpeg)
    ![宇智波止水 - 堆糖,美图壁纸兴趣社区](https://c-ssl.duitang.com/uploads/item/201706/01/20170601201852_eF8TN.thumb.700_0.jpeg)
    ![火影忍者动漫,止水的实力有多强?有两种观点!](https://ts1.cn.mm.bing.net/th/id/R-C.14f365d51d65484bbc1401f371ae5e06?rik=aqJeQRJ%2bRtmLKw&riu=http%3a%2f%2fn.sinaimg.cn%2ffront%2f397%2fw750h447%2f20181231%2fwJCJ-hqwsyta1202708.jpg&ehk=TsQZYUL6S3qCMjpOz9FTx5hfukyv1g8NAyLVToYaD1M%3d&risl=&pid=ImgRaw&r=0)
    ![你收集了哪《火影忍者》中关于宇智波带土的头像或者壁纸? - 知乎](https://tse1-mm.cn.bing.net/th/id/OIP-C.wncgipGKPhUwgn9Yvh4wSAHaEK?rs=1&pid=ImgDetMain)
    ![你收集了哪《火影忍者》中关于宇智波带土的头像或者壁纸? - 知乎](https://c-ssl.duitang.com/uploads/item/202007/02/20200702212801_kck2Q.jpeg)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动](https://gd-hbimg.huaban.com/0b589c144f3b7920539b99940b9b4119f92a3dd4128478-M8T2Qd_fw658)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动](https://gd-hbimg.huaban.com/9c4e13b8fdce0caba34bb814256d2ac6b5289c621048d5-FISdZK_fw658)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动_查克拉](https://ts1.cn.mm.bing.net/th/id/R-C.2ff6bd5e1b830c5efdca5927c85da12a?rik=W0iHtQYkOvyGWg&riu=http%3a%2f%2f5b0988e595225.cdn.sohucs.com%2fimages%2f20190824%2fbc986ef6d19c4897ba452c39e0566d66.png&ehk=EXYprUPiyRVKnMiSCcX3Zbb8EPu%2bNNbVBSXg%2b1gMVpo%3d&risl=&pid=ImgRaw&r=0)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动-搜狐大视野-搜狐新闻](https://ts1.cn.mm.bing.net/th/id/R-C.512523feecd3b88f63d26b43ee33bbde?rik=%2fiEBEBsAQ%2fKUQA&riu=http%3a%2f%2f5b0988e595225.cdn.sohucs.com%2fimages%2f20190824%2f06d4cf3894a14b6cad7499d97d69c62c.png&ehk=luo%2bhCtHXpggq5THgv1EV27DoqrPwx9GrgQbTjDxK5Y%3d&risl=&pid=ImgRaw&r=0)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动-搜狐大视野-搜狐新闻](https://tse4-mm.cn.bing.net/th/id/OIP-C.pAwDPFGg03oAnopnTsQq5wHaGI?w=1024&h=848&rs=1&pid=ImgDetMain)
    ![就是火影里的人释放忍术时说的日语。要求就就是下列忍术:天照,千鸟,麒麟,火遁豪火球,地爆天星,神罗-](https://ts1.cn.mm.bing.net/th/id/R-C.9ab9a508e3c2a92779086dae2223c72e?rik=eslsgP2yfCxboA&riu=http%3a%2f%2fi1.hdslb.com%2fbfs%2farchive%2f18656fbbc64b51b6557bd86427f2fcc3bc2387f9.jpg&ehk=9LTAkC%2f8s95AvZ15h6MOax9rhwfBL0BRen7NUWf5USc%3d&risl=&pid=ImgRaw&r=0)
    ![鸣人当时如果学的不是影分身而学的是其他术会怎么样? - 知乎](https://pic2.zhimg.com/v2-384690a8582bf7da13e579bc6ff0a669_r.jpg?source=1940ef5c)
    ![炫酷火影忍者图片忍术,火影忍者图片,火影忍者壁纸超炫(第6页)_大山谷图库](https://ts1.cn.mm.bing.net/th/id/R-C.545bd6ea3ad354b035d3a9b91d9bf3f4?rik=CKD%2ba2VmMjjOTw&riu=http%3a%2f%2f5b0988e595225.cdn.sohucs.com%2fimages%2f20190824%2f57de3c2eeedd457db50c32950fc5cb7f.png&ehk=t1UDgSmG9VvgoV%2fQZ4C4LbHa1ulrKF56vxmo9y5rKlY%3d&risl=&pid=ImgRaw&r=0)
    ![火影忍者中最能提现岸本用心的战斗是哪一场?理由是什么? - 知乎](https://pic4.zhimg.com/v2-f1018c4af4f7fccc42b1a4fdbe677be4_r.jpg)
    ![火影忍者经典名场面动态壁纸|animation|animation|mac开心_Original作品-站酷ZCOOL](https://img.zcool.cn/community/0187b161124a3111013eaf70066bd6.jpg?x-oss-process=image/auto-orient,1/resize,m_lfit,w_1280,limit_1/sharpen,100)
    ![火影忍者经典名场面动态壁纸_mac开心-站酷ZCOOL](https://img.zcool.cn/community/01fc4c61124a3111013f47206827b1.jpg?x-oss-process=image/auto-orient,1/resize,m_lfit,w_1280,limit_1/sharpen,100/quality,q_100)
    ![《火影忍者》大场景赏析!](https://n.sinaimg.cn/sinacn20115/566/w1520h646/20191107/a127-ihyxcrq3316145.jpg)
    ![火影:3D场景什么样?地爆天星太真实,斑柱大战如世界末日__财经头条](https://n.sinaimg.cn/sinakd10120/753/w714h839/20200801/a510-ixeeirz2423000.jpg)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动](https://gd-hbimg.huaban.com/e815a2dd3203a0a4caacd7397d1c2ba3b512d14e13f965-5vcMpM_fw658)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动-搜狐大视野-搜狐新闻](https://tse3-mm.cn.bing.net/th/id/OIP-C.Hnf_B9KA4DsfZ_Y6mUQOGQHaFm?w=1004&h=760&rs=1&pid=ImgDetMain)
    ![火影忍者十大最炫酷的忍术打斗场景,最后一张鸣人看完都心动-搜狐大视野-搜狐新闻](https://tse2-mm.cn.bing.net/th/id/OIP-C.twL9y1LtHkycFuUql56fEgHaFz?w=996&h=780&rs=1&pid=ImgDetMain)
    ![火影忍者最精彩的战斗_求火影忍者650集之后所有的op名和ed名_排行榜](https://ts1.cn.mm.bing.net/th/id/R-C.b1f33a6149bcfdfcdeef664b78da2920?rik=%2bGFDeUh1tS%2bayw&riu=http%3a%2f%2fimg.mp.itc.cn%2fupload%2f20161216%2fb1bff73c12d148d7a084aee634046f27_th.jpg&ehk=Wg8x9wIxjdjeQHLlNFpBYTs6yJJEaVe%2bYE5qHBGRJE8%3d&risl=&pid=ImgRaw&r=0)
    ![不知火玄间_360百科](https://ts1.cn.mm.bing.net/th/id/R-C.f008da5340924cbad140781ea0d5b2ea?rik=M11K6%2bIj9gh%2bKw&riu=http%3a%2f%2fp7.qhmsg.com%2ft01712f9b68319d37a1.jpg&ehk=Xi4rw6GXy3C3uQgzsz4VercL0jI17CIVPW%2b4262XES0%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1)
    ![火影忍者电脑版怎么下 火影忍者电脑版下载教程_火影忍者攻略资讯_靠谱助手官网](https://ts1.cn.mm.bing.net/th/id/R-C.5fd3cdf41d75dc12b0dad6ce24057110?rik=ufOTzI1Suf0L1A&riu=http%3a%2f%2fimg.kaopu001.com%2f2021-09-29%2fdea8a6fa-86d7-42ea-bce7-43f350abb05b.jpg&ehk=PGf2wYm3d%2ffO7L%2fbhb6XFlwCPoLjFnSTQFVFlpooMuI%3d&risl=&pid=ImgRaw&r=0)
    ![火影忍者:忍界忍者的眼睛随换随用?宇智波们借眼睛用的名场面!_腾讯视频](https://ts1.cn.mm.bing.net/th/id/R-C.7225d9c8482766aa8145cc939e283e91?rik=Ds2lEkQZaf34Nw&riu=http%3a%2f%2fpuui.qpic.cn%2fvpic_cover%2fa334974vehd%2fa334974vehd_hz.jpg%2f1280&ehk=hv8AsHZyFTAejjNAXO2OP7Mcplbm0RDGMBZvrTgvP2k%3d&risl=&pid=ImgRaw&r=0)
    
    
  • 通过的题目

  • 最近活动

    This person is lazy and didn't join any contests or homework.

题目标签

初窥门径
25
顺序结构
18
驾轻就熟
5
递推
4
分支结构
3
循环结构
3
略有小成
3
循环嵌套
2
字符串
2
递归
2
其他
1
位运算
1
蓝桥杯
1
for循环
1
结构体
1
动态规划
1
1
融会贯通
1
GESP一级
1
样题
1