- js25105 的博客
23345
- @ 2026-4-15 17:31:23
#define BUG 1 #include <bits/stdc++.h> #include<conio.h> #include<windows.h> #include<bits/stdc++.h> #define cls system("cls") #define kd(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0) using namespace std;
namespace ginit { void init() { HANDLE hStdin=GetStdHandle(STD_INPUT_HANDLE);//Òþ²Ø¹â±ê DWORD mode; GetConsoleMode(hStdin,&mode); mode&=~ENABLE_QUICK_EDIT_MODE;//ÒÆ³ý¿ìËÙ±à¼Ä£Ê½ mode&=~ENABLE_INSERT_MODE; mode&=~ENABLE_MOUSE_INPUT; SetConsoleMode(hStdin,mode); CONSOLE_CURSOR_INFO cur={1,0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cur); } void gotoxy(int x,int y)//ÒÆ¶¯¹â±ê { COORD pos={short(x),short(y)}; HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut,pos); return; } void color(int a) { /ÁÁ°×/if(a0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); /À¶É«/if(a1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE); /ÂÌÉ«/if(a2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN); /×ÏÉ«/if(a3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE); /ºìÉ«/if(a4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED); /»ÆÉ«/if(a5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN); /ÉîÀ¶/if(a6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE); /ÍÁ»Æ/if(a7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN); /»Ò°×/if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE); } void print(string s,int c,int t,bool hh,bool rf) { color(c); int l=s.size(); for(int i=0;i<l;i++) printf("%c",s[i]),Sleep(t);//Í£¶Ù color(0); if(rf) { color(8); printf("(°´Enter¼ÌÐø)"); while(1)if(kd(VK_RETURN)) break; color(0); } color(0); if(hh)puts(""); } } using namespace ginit;
//1.ÊÖîí 2.ÑÌ 3.Æ¡¾Æ 4.ÊÖ¾â 5.·Å´ó¾µ 6.ÉöÉÏÏÙËØ 7.¹ýÆÚÒ©Æ· 8.Äæ×ªÆ÷ int pd,bd,kd,sd,ps,bs,sk,js,ti=30;//p1£¬p2ËÀÍö´ÎÊý ¿Õµ¯,ʵµ¯ÊýÁ¿ ti=Êä³ö¼ä¸ôʱ¼ä int h[50][20],zzb,FF; bool nz; queue q; const int HH=8;//µÀ¾ßÊýÁ¿ string n[20]={"","ÊÖîí","ÑÌ","Æ¡¾Æ","ÊÖ¾â","·Å´ó¾µ","ÉöÉÏÏÙËØ","¹ýÆÚÒ©Æ·","Äæ×ªÆ÷"}; char p1[100],p2[100];
void use(int,bool); void g_init(); void get_d(int,int); void get_j(int); void in_game(); void game_begin(); void pvp_start(); void pva_start(); void pvzzb_start();
void use(int A,bool F,int w) { cls; if(A1&&!sk) { sk=1,h[w][F]=0; print("ßÇ,ÊÖîíîíסÁ˶Է½µÄÊÖ",0,ti,0,1); } if(A2) { if(!F&&((bd+pd1&&ps3)||(bd+pd2&&ps4)||(bd+pd2&&ps4)||(bd+pd3&&ps5)||(bd+pd4&&ps6))) goto No; if(F&&((bd+pd1&&bs3)||(bd+pd2&&bs4)||(bd+pd2&&bs4)||(bd+pd3&&bs5)||(bd+pd4&&bs6))) goto No; !F?ps++:bs++; h[w][F]=0; if(bd+pd1) bs=min(bs,3),ps=min(ps,3); if(bd+pd2) bs=min(bs,4),ps=min(ps,4); if(bd+pd2) bs=min(bs,4),ps=min(ps,4); if(bd+pd3) bs=min(bs,5),ps=min(ps,5); if(bd+pd4) bs=min(bs,6),ps=min(ps,6); print("ÄãÎüÁËÑÌ£¬ÑªÁ¿+1",0,ti,0,1); goto out; No: { print("µ±Ç°ÑªÁ¿²»ÐèÒªÎüÑÌ",0,ti,0,1); h[w][F]=A; goto out; } } if(A3) { h[w][F]=0; print("ÄãºÈÁËÆ¡¾Æ£¬Í˳öÁËÒ»¿Å",0,ti,0,0); int D=q.front();q.pop(); if(D2&&sd) print("ʵµ¯",0,ti,0,1),sd--; else if(D1&&kd) print("¿Õµ¯",0,ti,0,1),kd--; else cls,printf("ÓÎÏ·bug,ÇëµÈºò1s"),Sleep(1000),h[w][F]=3; } if(A4) { h[w][F]=0,js=1; print("Сµ¶¸îµôÁËÊ־⣬ÏÂÒ»¿Åʵµ¯É˺¦+1",0,ti,0,1); } if(A5) { h[w][F]=0; print("·Å´ó¾µËéÁË£¬Äã¿´¼ûÏÂÒ»¿Å×Óµ¯ÊÇ",0,ti,0,0); int D=q.front(); if(D2&&sd) print("ʵµ¯",0,ti,0,1); else if(D1&&kd) print("¿Õµ¯",0,ti,0,1); else cls,printf("ÓÎÏ·bug,ÇëµÈºò1s"),Sleep(1000),h[w][F]=5; } if(A6) { h[w][F]=0; print("ÉöÉÏÏÙËØÆðЧ£¬Äã¾õµÃÄãÐÄÌø¼ÓËÙÁË",5,ti,0,1); cls; print("ÇëÑ¡Ôñ¶Ô·½µÄÒ»¼þµÀ¾ß",0,0,1,0); puts(""); for(int i=1;i<=((bd+pd4)?8:4);i++) if(h[i][F0?1:0]) color(5),printf("%d:%s ",i,n[h[i][F0?1:0]].c_str()),color(0); else printf("%d:¿Õ ",i); int V=0; while(1) { if(kd('1')||kd(VK_NUMPAD1)){V=1;break;} if(kd('2')||kd(VK_NUMPAD2)){V=2;break;} if(kd('3')||kd(VK_NUMPAD3)){V=3;break;} if(kd('4')||kd(VK_NUMPAD4)){V=4;break;} if(kd('5')||kd(VK_NUMPAD5)){V=5;break;} if(kd('6')||kd(VK_NUMPAD6)){V=6;break;} if(kd('7')||kd(VK_NUMPAD7)){V=7;break;} if(kd('8')||kd(VK_NUMPAD8)){V=8;break;} } h[w][F]=h[V][!F]; h[V][!F]=0; print("\nÄãµÃµ½ÁË",5,ti,0,0); color(5); printf("%s",n[h[w][F]].c_str()); color(0); print("",0,0,0,1); } if(A7) { h[w][F]=0; print("ÄãÒ»ÑöÍ·£¬ÍÌÍêÁËÒ»Õûƿҩ",5,ti,1,1); int R=rand()%5; if(R0||R1) { print("ÉË¿ÚÖÎÓúÁË£¬¼ÓÁËÁ½µãѪ",0,ti,0,1); !F?ps+=2:bs+=2; h[w][F]=0; if(bd+pd1) bs=min(bs,3),ps=min(ps,3); if(bd+pd2) bs=min(bs,4),ps=min(ps,4); if(bd+pd3) bs=min(bs,5),ps=min(ps,5); if(bd+pd4) bs=min(bs,6),ps=min(ps,6); } else { print("µ«£¬É˿ڷ´¶ø¸ü¶ñÁÓÁË£¬¿Û1Ѫ",0,ti,0,1); !F?ps--:bs--; } } if(A8) { h[w][F]=0; print("Äæ×ªÆ÷ÉúЧ£¬ÏÂÒ»¿Å×Óµ¯½«±»·´×ª",0,ti,0,1); nz=1; } out: cls; }
void g_init() { for(int i=1;i<=8;i++) h[i][0]=h[i][1]=0; bd=pd=0; kd=sd=0; bs=ps=3; }
void get_d(int A,int B) { sd=rand()%A; while(sd<B)sd=rand()%A; kd=A-sd; }
void get_j(int o) { for(int i=1;i<=o;i++) { int j; for(j=1;j<=((bd+pd4)?9:5);j++)if(h[j][0]0)break; if((bd+pd!=4&&j!=5)||(bd+pd4&&j!=9))h[j][0]=rand()%HH+1; } for(int i=1;i<=o;i++) { int j; for(j=1;j<=((bd+pd4)?9:5);j++)if(h[j][1]0)break; if((bd+pd!=4&&j!=5)||(bd+pd4&&j!=9))h[j][1]=rand()%HH+1; } }
void bug(bool f) { if(!BUG) return; cls; cout<<sd<<" "<<kd<<" "<<f<<" "<<q.size()<<" "<<q.empty(); Sleep(1000); print("",0,0,0,1); cls; }
void findbug() { if(!BUG) return; cls; int k=q.size(); for(int i=0;i<k;i++) { cout<<q.front()<<" "; q.push(q.front()); q.pop(); } cout<<"\n"<<sd<<" "<<kd<<"\n"; Sleep(1000); print("",0,0,0,1); cls; }
void in_game() { int T=ti; print("ÊÇ·ñÑ¡Ôñ¼²ËÙģʽ?(Y:N)",0,ti,1,0); while(1) { if(kd('Y')){T=0;break;} if(kd('N')) break; } if(T!=0) { print("ÄãÊÇÒ»ÃûOIer",0,T,1,T0?0:1); print("ÄÇÒ»Ì죬Äã²Î¼ÓÁË€€¡êµÄ±ÈÈü£¬±»ÆµÃÇã¼Òµ´²ú",0,T,1,T0?0:1); print("ΪÁË´Õ¹»ÏÂÒ»³¡±ÈÈüµÄÇ®£¬Äã±»ÆÈÕÒµ½¶ñħ£¬ÒÔÐÔÃüΪ¶Ä×¢£¬À´»ñµÃÄãÏëÒªµÄÇ®...",0,T,1,T0?0:1); } cls; print("ÓÎÏ·×÷Õß:L('¦Ø')©¼ÔàÔà°ü©¸('¦Ø')?(Âå¹ÈÃûz_z_b_)",5,0,1,0); print("Íæ·¨ËµÃ÷",5,T,1,T0?0:1); print("1.¿ª¾Öʱ¸æËßÄãʵµ¯ÊýÁ¿ºÍ¿Õµ¯ÊýÁ¿£¬Ã¿´ÎÄã¿ÉÒÔÑ¡Ôñ´òË",0,T,1,T0?0:1); print("2.´ò×Ô¼º:ÏÂÒ»»ØºÏÈÔÊÇÄã²Ù×÷¡£´ò¶Ô·½·´Ö®¡£",0,T,1,T0?0:1); print("3.ÿÈËÓÐÒ»¶¨ÑªÁ¿£¨Ã¿¾Ö²»Ò»Ñù£©£¬±»Êµµ¯»÷ÖÐÔòÒª¿ÛѪ£¬ÑªÎª0ʱ½øÈëÏÂÒ»¾ÖÇÒ¶Ô·½»ý·Ö+1",0,T,1,T==0?0:1); print("4.×ܹ²Èý¾Ö£¬»ý·Ö¶àÕßʤ",0,T,1,1); cls; print("ÓÎÏ·×÷Õß:L('¦Ø')©¼ÔàÔà°ü©¸('¦Ø')?(Âå¹ÈÃûz_z_b_)",5,0,1,0); Sleep(300); print("µÀ¾ß˵Ã÷",5,T,1,0); print("1.ÊÖîí:ʹÓúóÄܶ๥»÷Ò»´Î¶Ô·½",0,T,1,0); print("2.ÑÌ:ʹÓúó¼ÓÒ»µÎѪ£¬µ«²»Äܳ¬¹ý±¾¾ÖÉÏÏÞ",0,T,1,0); print("3.Æ¡¾Æ:Í˳öÏ¿Å×Óµ¯",0,T,1,0); print("4.·Å´ó¾µ:¸æËßÄãÏ¿Å×Óµ¯ÊÇʵµ¯»¹Êǿյ¯",0,T,1,0); print("5.ÊÖ¾â:Èç¹ûÏ¿Å×Óµ¯ÊÇʵµ¯£¬ÄÇôÉ˺¦+1£¬·´Ö®ÎÞЧ",0,T,1,0); print("6.ÉöÉÏÏÙËØ:͵×ß¶Ô·½µÄÒ»¸öµÀ¾ß",0,T,1,0); print("7.¹ýÆÚÒ©Æ·:40%¸ÅÂʼÓÁ½µÎѪ£¬60%¸ÅÂÊ¿Û1Ѫ",0,T,1,0); print("8.Äæ×ªÆ÷:·´×ªÏ¿Å×Óµ¯",0,T,1,1); cls; print("ÓÎÏ·×÷Õß:L('¦Ø')©¼ÔàÔà°ü©¸('¦Ø')?(Âå¹ÈÃûz_z_b_)",5,0,1,0); Sleep(300); print("Íæ·¨:",5,T,1,0); print("AÑ¡Ôñ´ò×Ô¼º£¬DÑ¡Ôñ´ò¶Ô·½",0,T,1,0); print("ÊäÈëÊý×Ö i ±íʾʹÓõÚi¸öλÖÃÉϵĵÀ¾ß",0,T,1,1); return; }
void pvp_start() { fflush(stdin); bool f=0,cz=1;//czÅжÏÊÇ·ñ²Ù×÷£¬²Ù×÷Á˾ÍÒª¶îÍâclsÀ´±£Õϲ»ÉÁÆÁ¡£ print("Çë¸øP1È¡¸öÃû×Ö:",0,ti,0,0),scanf("%s",p1),cls; print("Çë¸øP2È¡¸öÃû×Ö:",0,ti,0,0),scanf("%s",p2),cls; nz=0; while(1) { Sleep(50); if(cz) cz=0,cls; gotoxy(0,0); printf("µ±Ç°±È·Ö(Èý¾ÖÁ½Ê¤) "); if(pd>bd) color(4),printf("%d",pd),color(0),printf(":%d",bd); else if(bd>pd) color(0),printf("%d:",pd),color(4),printf("%d",bd); else printf("%d:%d",pd,bd); color(0); printf("\n\n\nµ±Ç°ÑªÁ¿ %d:%d\n\nµ±Ç°Êµµ¯:%d µ±Ç°¿Õµ¯:%d\n\nµ±Ç°½øÐÐ:P%d( %s )\nÇëÑ¡Ôñ·½Ê½:a.¹¥»÷×Ô¼º d.¹¥»÷¶Ô·½\n°´1~%dÑ¡ÔñµÀ¾ß\nµ±Ç°µÀ¾ß:",ps,bs,sd,kd,(f?2:1),(f?p2:p1),(bd+pd4?8:4)); for(int i=1;i<=((bd+pd4)?8:4);i++) if(h[i][f]) color(5),printf("%s ",n[h[i][f]].c_str()),color(0); else printf("¿Õ ");
if(q.empty()) goto B3;
if(h[1][f]&&(kd('1')||kd(VK_NUMPAD1))) use(h[1][f],f,1),cz=1;
if(h[2][f]&&(kd('2')||kd(VK_NUMPAD2))) use(h[2][f],f,2),cz=1;
if(h[3][f]&&(kd('3')||kd(VK_NUMPAD3))) use(h[3][f],f,3),cz=1;
if(h[4][f]&&(kd('4')||kd(VK_NUMPAD4))) use(h[4][f],f,4),cz=1;
if(h[5][f]&&(kd('5')||kd(VK_NUMPAD5))) use(h[5][f],f,5),cz=1;
if(h[6][f]&&(kd('6')||kd(VK_NUMPAD6))) use(h[6][f],f,6),cz=1;
if(h[7][f]&&(kd('7')||kd(VK_NUMPAD7))) use(h[7][f],f,7),cz=1;
if(h[8][f]&&(kd('8')||kd(VK_NUMPAD8))) use(h[8][f],f,8),cz=1;
if(kd('A'))
{
cz=1;
int D=q.front();q.pop();
cls;
if((nz==1&&D==2&&sd>0)||(nz==0&&D==1&&kd>0))
{
print("ßDzÁ£¬Êǿյ¯",0,ti,0,1);
D==1?kd--:sd--;
nz=0,js=0;
cls;
continue;
}
else if((nz==1&&D==1&&kd>0)||(nz==0&&D==2&&sd>0))
{
system("color f7");Sleep(100);system("color 0f");
color(0);
cls;
print("Å飬ǹÏìÁË",0,ti,0,1);
(!f)?(ps-=1+js):(bs-=1+js);
if(D==2)sd--;
else kd--;
nz=0,js=0;
cls;
}
else bug(D),cls,printf("ÓÎÏ·bug,ÇëµÈ´ý1s"),Sleep(1000),cls;
}
if(kd('D'))
{
cz=1;
int D=q.front();q.pop();
f=!f;
cls;
if((nz==0&&D==1&&kd>0)||(nz==1&&D==2&&sd>0))
{
print("ßDzÁ£¬Êǿյ¯",0,ti,0,1);
color(0);
sk?f=!f:f=f;
if(D==1) kd--;
else sd--;
nz=0;
js=sk=0,cls;
continue;
}
else if((nz==1&&D==1&&kd>0)||(nz==0&&D==2&&sd>0))
{
system("color f7"),Sleep(100),system("color 0f");
color(0);
cls;
if(D==1) kd--;
else sd--;
print("Å飬ǹÏìÁË",0,ti,0,1);
if(sk) f=!f,f?ps-=1+js:bs-=1+js;
else !f?ps-=1+js:bs-=1+js;
sk=js=0;
nz=0;
cls;
}
else bug(D),cls,f=!f,printf("ÓÎÏ·bug,ÇëµÈ´ý1s"),Sleep(1000),color(0),cls;
}
if(ps<=0&&bd!=2)
{
cls,sk=js=0;
system("color 4f"),Sleep(300),system("color 0f");
printf("%s,died",p1),print("",0,0,0,1);
kd=sd=0;
bd++;
if(bd+pd==1) bs=ps=3;
if(bd+pd==2) bs=ps=4;
if(bd+pd==2) bs=ps=4;
if(bd+pd==3) bs=ps=5;
if(bd+pd==4) bs=ps=6;
cls;
}
if(bs<=0&&pd!=2)
{
cls,sk=js=0;
system("color 4f"),Sleep(300),system("color 0f");
printf("%s,died",p2),print("",0,0,0,1);
kd=sd=0;
pd++;
if(bd+pd==1) bs=ps=3;
if(bd+pd==2) bs=ps=4;
if(bd+pd==2) bs=ps=4;
if(bd+pd==3) bs=ps=5;
if(bd+pd==4) bs=ps=6;
cls;
}
if(ps<=0&&bd==2)
{
cls;
color(2);
printf("ÓÎÏ·½áÊø,%sʤÀû",p2);
Sleep(1000);
system("pause");
return;
}
if(bs<=0&&pd==2)
{
cls;
color(2);
printf("ÓÎÏ·½áÊø,%sʤÀû\n\n",p1);
Sleep(1000);
system("pause");
return;
}
B3:
if(kd==0&&sd==0)
{
cls;
if(bd+pd==0) get_d(5,1);
if(bd+pd==1) get_d(5,2);
if(pd+bd==2) get_d(7,2);
if(pd+bd==3) get_d(7,3);
if(bd+pd==4) get_d(9,3);
color(0);
print("×ÀÃæ·×ª,",0,ti,0,0);printf("%d",kd);
print("¸ö¿Õµ¯Óë",0,ti,0,0);printf("%d",sd);
print("ʵµ¯³öÏÖÁË",0,ti,0,1);color(0);cls;
int S=sd,K=kd;
vector<int> v;v.clear();
while(S>0||K>0)
{
int r=rand()%2;
if(r==0&&S>0) S--,v.push_back(2);
if(r==1&&K>0) K--,v.push_back(1);
}
while(!v.empty())
{
int w=rand()%v.size();
q.push(v[w]);
v.erase(v.begin()+w);
}
if(pd+bd==0) continue;
if(bd+pd==1) get_j(2);
if(bd+pd==2) get_j(2);
if(bd+pd==2) get_j(3);
if(bd+pd==3) get_j(4);
if(bd+pd==4) get_j(4);
cls;
color(0);
print("P1ÃæÇ°µÄ×ÀÃæ·×ª,",0,ti,1,0);
for(int i=1;i<=((bd+pd==4)?8:4);i++)
if(h[i][0]) color(5),printf("%s ",n[h[i][0]].c_str()),color(0);
else printf("¿Õ ");
print("",0,0,0,1);
cls;
print("P2ÃæÇ°µÄ×ÀÃæ·×ª,",0,ti,1,0);
for(int i=1;i<=((bd+pd==4)?8:4);i++)
if(h[i][1]) color(5),printf("%s ",n[h[i][1]].c_str()),color(0);
else color(0),printf("¿Õ ");
print("",0,0,0,1);
cls;
}
}
}
void pva_start() { fflush(stdin); bool f=0,cz=1;//czÅжÏÊÇ·ñ²Ù×÷£¬²Ù×÷Á˾ÍÒª¶îÍâclsÀ´±£Õϲ»ÉÁÆÁ¡£ print("ÇëÈ¡¸öÃû×Ö:",0,ti,0,0),scanf("%s",p1),cls; p2[0]='A',p2[1]='I'; nz=0; while(1) { Sleep(50); if(cz) cz=0,cls; gotoxy(0,0); printf("µ±Ç°±È·Ö(Èý¾ÖÁ½Ê¤) "); if(pd>bd) color(4),printf("%d",pd),color(0),printf(":%d",bd); else if(bd>pd) color(0),printf("%d:",pd),color(4),printf("%d",bd); else printf("%d:%d",pd,bd); color(0); printf("\n\n\nµ±Ç°ÑªÁ¿ %d:%d\n\nµ±Ç°Êµµ¯:%d µ±Ç°¿Õµ¯:%d\n\nµ±Ç°½øÐÐ:P%d( %s )\nÇëÑ¡Ôñ·½Ê½:a.¹¥»÷×Ô¼º d.¹¥»÷¶Ô·½\n°´1~%dÑ¡ÔñµÀ¾ß\nµ±Ç°µÀ¾ß:",ps,bs,sd,kd,(f?2:1),(f?p2:p1),(bd+pd4?8:4)); for(int i=1;i<=((bd+pd4)?8:4);i++) if(h[i][f]) color(5),printf("%s ",n[h[i][f]].c_str()),color(0); else printf("¿Õ "); if(q.empty()) goto B1;
if(h[1][f]&&(kd('1')||kd(VK_NUMPAD1))) use(h[1][f],f,1),cz=1;
if(h[2][f]&&(kd('2')||kd(VK_NUMPAD2))) use(h[2][f],f,2),cz=1;
if(h[3][f]&&(kd('3')||kd(VK_NUMPAD3))) use(h[3][f],f,3),cz=1;
if(h[4][f]&&(kd('4')||kd(VK_NUMPAD4))) use(h[4][f],f,4),cz=1;
if(h[5][f]&&(kd('5')||kd(VK_NUMPAD5))) use(h[5][f],f,5),cz=1;
if(h[6][f]&&(kd('6')||kd(VK_NUMPAD6))) use(h[6][f],f,6),cz=1;
if(h[7][f]&&(kd('7')||kd(VK_NUMPAD7))) use(h[7][f],f,7),cz=1;
if(h[8][f]&&(kd('8')||kd(VK_NUMPAD8))) use(h[8][f],f,8),cz=1;
if(kd('A')||(f&&kd>sd))
{
if(f)
{
Sleep(500);
cls;
print("AI Ãé×¼ÁË×Ô¼º",0,ti,0,1);
cls;
}
cz=1;
int D=q.front();q.pop();
cls;
if((nz==1&&D==2&&sd>0)||(nz==0&&D==1&&kd>0))
{
print("ßDzÁ£¬Êǿյ¯",0,ti,0,1);
D==1?kd--:sd--;
nz=0,js=0;
cls;
continue;
}
else if((nz==1&&D==1&&kd>0)||(nz==0&&D==2&&sd>0))
{
system("color f7");Sleep(100);system("color 0f");
color(0);
cls;
print("Å飬ǹÏìÁË",0,ti,0,1);
(!f)?(ps-=1+js):(bs-=1+js);
if(D==2)sd--;
else kd--;
nz=0,js=0;
cls;
}
else bug(D),cls,printf("ÓÎÏ·bug,ÇëµÈ´ý1s"),Sleep(1000),cls;
}
if(kd('D')||(f&&kd<=sd))
{
if(f)
{
Sleep(500);
cls;
print("AI Ãé×¼ÁËÄã",0,ti,0,1);
cls;
}
cz=1;
int D=q.front();q.pop();
f=!f;
cls;
if((nz==0&&D==1&&kd>0)||(nz==1&&D==2&&sd>0))
{
print("ßDzÁ£¬Êǿյ¯",0,ti,0,1);
color(0);
sk?f=!f:f=f;
if(D==1) kd--;
else sd--;
nz=0;
js=sk=0,cls;
continue;
}
else if((nz==1&&D==1&&kd>0)||(nz==0&&D==2&&sd>0))
{
system("color f7"),Sleep(100),system("color 0f");
color(0);
cls;
if(D==1) kd--;
else sd--;
print("Å飬ǹÏìÁË",0,ti,0,1);
if(sk) f=!f,f?ps-=1+js:bs-=1+js;
else !f?ps-=1+js:bs-=1+js;
sk=js=0;
nz=0;
cls;
}
else bug(D),cls,f=!f,printf("ÓÎÏ·bug,ÇëµÈ´ý1s"),Sleep(1000),color(0),cls;
}
if(ps<=0&&bd!=2)
{
cls,sk=js=0;
system("color 4f"),Sleep(300),system("color 0f");
printf("%s,died",p1),print("",0,0,0,1);
kd=sd=0;
bd++;
if(bd+pd==1) bs=ps=3;
if(bd+pd==2) bs=ps=4;
if(bd+pd==2) bs=ps=4;
if(bd+pd==3) bs=ps=5;
if(bd+pd==4) bs=ps=6;
cls;
}
if(bs<=0&&pd!=2)
{
cls,sk=js=0;
system("color 4f"),Sleep(300),system("color 0f");
printf("%s,died",p2),print("",0,0,0,1);
kd=sd=0;
pd++;
if(bd+pd==1) bs=ps=3;
if(bd+pd==2) bs=ps=4;
if(bd+pd==2) bs=ps=4;
if(bd+pd==3) bs=ps=5;
if(bd+pd==4) bs=ps=6;
cls;
}
if(ps<=0&&bd==2)
{
cls;
color(2);
printf("ÓÎÏ·½áÊø,%sʤÀû\n\n",p2);
Sleep(1000);
system("pause");
return;
}
if(bs<=0&&pd==2)
{
zzb++;
cls;
color(2);
printf("ÓÎÏ·½áÊø,%sʤÀû\n\n",p1);
Sleep(1000);
system("pause");
return;
}
B1:
if(kd==0&&sd==0)
{
cls;
if(bd+pd==0) get_d(5,1);
if(bd+pd==1) get_d(5,2);
if(pd+bd==2) get_d(7,2);
if(pd+bd==3) get_d(7,3);
if(bd+pd==4) get_d(9,3);
color(0);
print("×ÀÃæ·×ª,",0,ti,0,0);printf("%d",kd);
print("¸ö¿Õµ¯Óë",0,ti,0,0);printf("%d",sd);
print("ʵµ¯³öÏÖÁË",0,ti,0,1);color(0);cls;
int S=sd,K=kd;
vector<int> v;v.clear();
while(S>0||K>0)
{
int r=rand()%2;
if(r==0&&S>0) S--,v.push_back(2);
if(r==1&&K>0) K--,v.push_back(1);
}
while(!v.empty())
{
int w=rand()%v.size();
q.push(v[w]);
v.erase(v.begin()+w);
}
findbug();
if(pd+bd==0) continue;
if(bd+pd==1) get_j(2);
if(bd+pd==2) get_j(2);
if(bd+pd==2) get_j(3);
if(bd+pd==3) get_j(4);
if(bd+pd==4) get_j(4);
cls;
color(0);
print("P1ÃæÇ°µÄ×ÀÃæ·×ª,",0,ti,1,0);
for(int i=1;i<=((bd+pd==4)?8:4);i++)
if(h[i][0]) color(5),printf("%s ",n[h[i][0]].c_str()),color(0);
else printf("¿Õ ");
print("",0,0,0,1);
cls;
print("P2ÃæÇ°µÄ×ÀÃæ·×ª,",0,ti,1,0);
for(int i=1;i<=((bd+pd==4)?8:4);i++)
if(h[i][1]) color(5),printf("%s ",n[h[i][1]].c_str()),color(0);
else color(0),printf("¿Õ ");
print("",0,0,0,1);
cls;
}
}
}
void pvzzb_start() { fflush(stdin); bool f=0,cz=1;//czÅжÏÊÇ·ñ²Ù×÷£¬²Ù×÷Á˾ÍÒª¶îÍâclsÀ´±£Õϲ»ÉÁÆÁ¡£ print("ÇëÈ¡¸öÃû×Ö:",0,ti,0,0),scanf("%s",p1),cls; p2[0]='z',p2[1]='z',p2[2]='b'; nz=0; while(1) { kd=max(kd,0),sd=max(sd,0); Sleep(50); if(cz) cz=0,cls; gotoxy(0,0); printf("µ±Ç°±È·Ö(Èý¾ÖÁ½Ê¤) "); if(pd>bd) color(4),printf("%d",pd),color(0),printf(":%d",bd); else if(bd>pd) color(0),printf("%d:",pd),color(4),printf("%d",bd); else printf("%d:%d",pd,bd); color(0); printf("\n\n\nµ±Ç°ÑªÁ¿ %d:%d\n\nµ±Ç°Êµµ¯:%d µ±Ç°¿Õµ¯:%d\n\nµ±Ç°½øÐÐ:P%d( %s )\nÇëÑ¡Ôñ·½Ê½:a.¹¥»÷×Ô¼º d.¹¥»÷¶Ô·½\n°´1~%dÑ¡ÔñµÀ¾ß\nµ±Ç°µÀ¾ß:",ps,bs,sd,kd,(f?2:1),(f?p2:p1),(bd+pd4?8:4)); for(int i=1;i<=((bd+pd4)?8:4);i++) if(h[i][f]) color(5),printf("%s ",n[h[i][f]].c_str()),color(0); else printf("¿Õ "); if(q.empty()) goto B2; if(f) { cz=1; int NZ=0,JS=0; for(int i=1;i<=8;i++) { if(h[i][1]8) NZ=i; if(h[i][1]7) if((pd+bd1&&bs!=3)||(pd+bd2&&bs!=4)||(pd+bd3&&bs!=5)||(pd+bd4&&bs!=6)) { Sleep(500); cls; h[i][1]=0; print("zzb Ò»ÑöÍ·£¬ÍÌÍêÁËÒ»Õûƿҩ",5,ti,1,1); print("ÉË¿ÚÖÎÓúÁË£¬¼ÓÁËÁ½µãѪ",0,ti,0,1); bs+=2; if(bd+pd1) bs=min(bs,3); if(bd+pd2) bs=min(bs,4); if(bd+pd3) bs=min(bs,5); if(bd+pd4) bs=min(bs,6); cls; } if(h[i][1]4) JS=i; } if(sd0||(q.front()1&&!NZ&&kd)) { Sleep(1000); cz=1; q.pop(); cls; print("zzb Ãé×¼ÁË×Ô¼º",0,ti,0,1); cls; print("ßDzÁ£¬Êǿյ¯",0,ti,0,1); kd--; js=0; cls; } else if(kd0||(q.front()==1&&NZ&&kd)||(q.front()==2&&sd)) { if(q.front()1) Sleep(500),use(h[NZ][1],f,NZ); if(JS) Sleep(500),use(h[JS][1],f,JS); cz=1; int D=q.front();q.pop(); f=!f; cls; Sleep(500); print("zzb Ãé×¼ÁËÄã",0,ti,0,1); cls; system("color f7"),Sleep(100),system("color 0f"); color(0); cls; if(D1) kd--; else sd--; print("Å飬ǹÏìÁË",0,ti,0,1); ps-=1+js; js=nz=0; cls; } else bug(q.front()),q.pop(),cls,printf("ÓÎÏ·bug,ÇëµÈ´ý1s"),Sleep(1000),cls; }
else
{
if(h[1][f]&&(kd('1')||kd(VK_NUMPAD1))) use(h[1][f],f,1),cz=1;
if(h[2][f]&&(kd('2')||kd(VK_NUMPAD2))) use(h[2][f],f,2),cz=1;
if(h[3][f]&&(kd('3')||kd(VK_NUMPAD3))) use(h[3][f],f,3),cz=1;
if(h[4][f]&&(kd('4')||kd(VK_NUMPAD4))) use(h[4][f],f,4),cz=1;
if(h[5][f]&&(kd('5')||kd(VK_NUMPAD5))) use(h[5][f],f,5),cz=1;
if(h[6][f]&&(kd('6')||kd(VK_NUMPAD6))) use(h[6][f],f,6),cz=1;
if(h[7][f]&&(kd('7')||kd(VK_NUMPAD7))) use(h[7][f],f,7),cz=1;
if(h[8][f]&&(kd('8')||kd(VK_NUMPAD8))) use(h[8][f],f,8),cz=1;
if(kd('A'))
{
cz=1;
int D=q.front();q.pop();
cls;
if((nz==1&&D==2&&sd>0)||(nz==0&&D==1&&kd>0))
{
print("ßDzÁ£¬Êǿյ¯",0,ti,0,1);
D==1?kd--:sd--;
nz=0,js=0;
cls;
continue;
}
else if((nz==1&&D==1&&kd>0)||(nz==0&&D==2&&sd>0))
{
system("color f7");Sleep(100);system("color 0f");
color(0);
cls;
print("Å飬ǹÏìÁË",0,ti,0,1);
(!f)?(ps-=1+js):(bs-=1+js);
if(D==2)sd--;
else kd--;
nz=0,js=0;
cls;
}
else bug(D),cls,printf("ÓÎÏ·bug,ÇëµÈ´ý1s"),Sleep(1000),cls;
}
if(kd('D'))
{
cz=1;
int D=q.front();q.pop();
f=!f;
cls;
if((nz==0&&D==1&&kd>0)||(nz==1&&D==2&&sd>0))
{
print("ßDzÁ£¬Êǿյ¯",0,ti,0,1);
color(0);
sk?f=!f:f=f;
if(D==1) kd--;
else sd--;
nz=0;
js=sk=0,cls;
continue;
}
else if((nz==1&&D==1&&kd>0)||(nz==0&&D==2&&sd>0))
{
system("color f7"),Sleep(100),system("color 0f");
color(0);
cls;
if(D==1) kd--;
else sd--;
print("Å飬ǹÏìÁË",0,ti,0,1);
if(sk) f=!f,f?ps-=1+js:bs-=1+js;
else !f?ps-=1+js:bs-=1+js;
sk=js=0;
nz=0;
cls;
}
else bug(D),cls,f=!f,printf("ÓÎÏ·bug,ÇëµÈ´ý1s"),Sleep(1000),color(0),cls;
}
}
if(ps<=0&&bd!=2)
{
cls,sk=js=0;
system("color 4f"),Sleep(300),system("color 0f");
printf("%s,died",p1),print("",0,0,0,1);
kd=sd=0;
bd++;
if(bd+pd==1) bs=ps=3;
if(bd+pd==2) bs=ps=4;
if(bd+pd==2) bs=ps=4;
if(bd+pd==3) bs=ps=5;
if(bd+pd==4) bs=ps=6;
cls;
}
if(bs<=0&&pd!=2)
{
cls,sk=js=0;
system("color 4f"),Sleep(300),system("color 0f");
printf("%s,died",p2),print("",0,0,0,1);
kd=sd=0;
pd++;
if(bd+pd==1) bs=ps=3;
if(bd+pd==2) bs=ps=4;
if(bd+pd==2) bs=ps=4;
if(bd+pd==3) bs=ps=5;
if(bd+pd==4) bs=ps=6;
cls;
}
if(ps<=0&&bd==2)
{
cls;
color(2);
printf("ÓÎÏ·½áÊø,%sʤÀû\n\n",p2);
Sleep(1000);
system("pause");
return;
}
if(bs<=0&&pd==2)
{
cls;
color(2);
printf("ÓÎÏ·½áÊø,%sʤÀû\n\n",p1);
Sleep(1000);
system("pause");
return;
}
B2:
if(kd==0&&sd==0)
{
cls;
if(bd+pd==0) get_d(5,1);
if(bd+pd==1) get_d(5,2);
if(pd+bd==2) get_d(7,2);
if(pd+bd==3) get_d(7,3);
if(bd+pd==4) get_d(9,3);
color(0);
print("×ÀÃæ·×ª,",0,ti,0,0);printf("%d",kd);
print("¸ö¿Õµ¯Óë",0,ti,0,0);printf("%d",sd);
print("ʵµ¯³öÏÖÁË",0,ti,0,1);color(0);cls;
int S=sd,K=kd;
vector<int> v;v.clear();
while(S>0||K>0)
{
int r=rand()%2;
if(r==0&&S>0) S--,v.push_back(2);
if(r==1&&K>0) K--,v.push_back(1);
}
while(!v.empty())
{
int w=rand()%v.size();
q.push(v[w]);
v.erase(v.begin()+w);
}
if(pd+bd==0) continue;
if(bd+pd==1) get_j(2);
if(bd+pd==2) get_j(2);
if(bd+pd==2) get_j(3);
if(bd+pd==3) get_j(4);
if(bd+pd==4) get_j(4);
cls;
color(0);
print("P1ÃæÇ°µÄ×ÀÃæ·×ª,",0,ti,1,0);
for(int i=1;i<=((bd+pd==4)?8:4);i++)
if(h[i][0])
{
while(h[i][0]==6) h[i][0]=rand()%HH+1;
color(5),printf("%s ",n[h[i][0]].c_str()),color(0);
}
else printf("¿Õ ");
print("",0,0,0,1);
cls;
print("P2ÃæÇ°µÄ×ÀÃæ·×ª,",0,ti,1,0);
for(int i=1;i<=((bd+pd==4)?8:4);i++)
if(h[i][1])
{
h[i][1]=rand()%2==0?4:(rand()%2==0?8:7);
color(5),printf("%s ",n[h[i][1]].c_str()),color(0);
}
else color(0),printf("¿Õ ");
print("",0,0,0,1);
cls;
}
}
}
void game_begin() { while(1) { color(0); gotoxy(25,8); print("¶ñħÂÖÅ̶Ä",5,0,0,0); gotoxy(25,12); printf("1. Ë«ÈËģʽ"); gotoxy(25,14); printf("2. µ¥»úģʽ"); if(kd('1')||kd(VK_NUMPAD1)) fflush(stdin),cls,g_init(),pvp_start(),cls,init(); if(kd('2')||kd(VK_NUMPAD2)) { fflush(stdin); cls,g_init(); if(zzb!=3) pva_start(); else { if(!FF) { FF=1; print("¿ÉÒÔ°¡£¬¾¹È»Á¬Ðø´ò°ÜÁËÈý´ÎÎÒÉè¼ÆµÄAI",0,ti,1,1); print("ÄÇô½ÓÏÂÀ´£¬¾ÍÈÃÎÒÅãÄãºÃºÃÍæÍæ°É",4,ti,1,1); } pvzzb_start(); } cls; init(); } gotoxy(25,16); printf("3. ÓÎÏ·½éÉÜ"); if(kd('3')||kd(VK_NUMPAD3)) cls,in_game(),cls; } }
int main() { zzb=FF=0; srand(time(NULL)); color(0); system("mode con cols=60 lines=26"); system("title ¶ñħÂÖÅ̶Ä"); init(); game_begin(); return 0; }