| ¡¡¡¡Äܹ»ÏÔʾһ¡¢¶þ¡¢Èý¡¢ËļҵÄÅÆ£¬Ö÷ÒªÊÇΪÁËѵÁ·ÎÒµÄÅÆ¸Ð(¼ÇÅÆµÄÄÜÁ¦),¶ÔÓÐÖ¾ÓڶIJ©»òÇÅÅÆÊÂÒµµÄͬ־¿ÉÄܸüÓеãÓ㬱àÒëΪbd.exe,ʹÓ÷½·¨ÊäÈë"bd -h"¿´°ïÖú¡£ ¡¡¡¡ÒÔÏÂÊÇÔ´´úÂë(´¦ÀíÃüÁîÐвÎÊýµÄ´úÂë²Î¿¼ÁËvim): #include #include #include #include using namespace std; #include #include #include static char program_name[]="bd"; #define THE_VERSION "0.1" namespace info{ enum { WEST=0,NORTH=1,EAST=2,SOUTH=3,}; }; static char* deno[]={"Spade","Heart","Diamond","Cotton",}; static char card_symbol[]="23456789TJQKA"; // p - pointer to argument // idx - index in argument // default value static int get_number_arg(char* p,int def) { if (isdigit(*p)) { def = atoi(p); } return def; } static void print_help() { cout<<"Usage: "< } static void print_version() { cout< "Too many arguments", #define BS_TOO_MANY_ARGS 1 "Argument missing after", #define BS_ARG_MISSING 2 "Garbage after option", #define BS_GARBAGE 3 "Too many extra commands", #define BS_EXTRA_CMD 4 "Invalid argument for", #define BS_INVALID_ARG 5 }; //error message routines---------------end int main(int argc, char** argv) { int argv_idx = 1; /* active option letter is argv[0][argv_idx] */ int players=1; int number_of_deals=1; bool want_argument=false; while(argc>0) { if(argv[0][0]=='-') { char c=argv[0][argv_idx ]; switch(c) { case 0: //do nothing argv_idx=-1; break; case '-': // "--" don't take any more options if(strcmp(argv[0] argv_idx,"version")==0){ print_version(); } else if(strcmp(argv[0] argv_idx,"help")==0){ print_help(); } argv_idx=-1; break; case 'h': print_help(); break; case 'v': print_version(); break; case 'p': // 1,2,3,4 players, default 1 if (argv[0][argv_idx]){ // "-p{tag}" players=get_number_arg(argv[0] argv_idx,1); argv_idx=-1; } else{ // "-p {tag}" want_argument=true; } break; case 'n': //number of deals, default 1 if (argv[0][argv_idx]){ // "-n{tag}" number_of_deals=get_number_arg(argv[0] argv_idx,1); if(number_of_deals<=0) number_of_deals=1; argv_idx=-1; } else{ // "-n {tag}" want_argument=true; } break; default: break; } //handle options with argument if(want_argument) { if (argv[0][argv_idx]){ cerr< --argc; if (argc<1){ cerr< argv; argv_idx = -1; switch(c) { case 'p': players=get_number_arg(argv[0],1); argv_idx=-1; break; case 'n': number_of_deals=get_number_arg(argv[0],1); if(number_of_deals<=0) number_of_deals=1; argv_idx=-1; break; default: ; //impossible } } } else{ argv_idx=-1;//do nothing } // If there are no more letters after the current "-", go to next // argument. argv_idx is set to -1 when the current argument is to be // skipped. if (argv_idx <= 0 ¡¡¡¡ argv[0][argv_idx] == 0) { --argc; argv; argv_idx = 1; } } //init srand(time(0)); //original card //value: spade, 0-12; heart, 13-25; diamond 26-38; cotton 39-51; //array index: west, 0-12; north, 13-25; east 26-38; south 39-51; const int dim=52; int cards[dim]; for(int i=0;i cards[i]=i; } vector h.assign(cards,cards dim); //redeal bool need_id=number_of_deals>1; for(int k=0;k random_shuffle(h.begin(),h.end()); sort(h.begin() info::WEST*13,h.begin() info::WEST*13 13); sort(h.begin() info::NORTH*13,h.begin() info::NORTH*13 13); sort(h.begin() info::EAST*13,h.begin() info::EAST*13 13); sort(h.begin() info::SOUTH*13,h.begin() info::SOUTH*13 13); //dump if(need_id){ cout<<"ID: "< switch(players) { case 1: dump_one_hand(h.begin() info::SOUTH*13); break; case 2: dump_two_hands(h.begin() info::EAST*13,h.begin() info::WEST*13,26); break; case 3: dump_one_hand(h.begin() info::NORTH*13,26); dump_one_hand(h.begin() info::EAST*13); dump_one_hand(h.begin() info::SOUTH*13,26); break; case 4: dump_one_hand(h.begin() info::NORTH*13,26); dump_two_hands(h.begin() info::EAST*13,h.begin() info::WEST*13,26); dump_one_hand(h.begin() info::SOUTH*13,26); break; default: ;//impossible }
ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ Ïà¹ØÎÄÕÂ
ÈÈµã¹Ø×¢
IDC×ÊѶ
ÐéÄâÖ÷»ú
ÓòÃû×¢²á
ÍйÜ×âÓÃ
vpsÖ÷»ú
ÖÇÄܽ¨Õ¾
ÍøÕ¾ÔËÓª ½¨Õ¾¾Ñé ²ß»®Ó¯Àû ËÑË÷ÓÅ»¯ ÍøÕ¾ÍÆ¹ã Ãâ·Ñ×ÊÔ´ ÍøÕ¾ÁªÃË ÁªÃËÐÂÎÅ ÁªÃ˽éÉÜ ÁªÃ˵ãÆÀ Íø×¬¼¼ÇÉ ÐÐÒµ×ÊѶ Òµ½ç¶¯Ì¬ ËÑË÷ÒýÇæ ÍøÂçÓÎÏ· ÃÅ»§¶¯Ì¬ µç×ÓÉÌÎñ ¹ã¸æ´«Ã½ ÍøÂç±à³Ì Asp.Net±à³Ì Asp±à³Ì Php±à³Ì Xml±à³Ì Access Mssql Mysql ÆäËü ·þÎñÆ÷¼¼Êõ Web·þÎñÆ÷ Ftp·þÎñÆ÷ Mail·þÎñÆ÷ Dns·þÎñÆ÷ °²È«·À»¤ Èí¼þ¼¼ÇÉ ÆäËüÈí¼þ Word Excel Powerpoint Ghost Vista QQ¿Õ¼ä QQ FlashGet ѸÀ× Internet Explorer ÍøÒ³ÖÆ×÷ FrontPages Dreamweaver Javascript css photoshop fireworks Flash ³ÌÐòÉè¼Æ Java¼¼Êõ C/C++ VB delphi ÍøÂç֪ʶ ÍøÂçÐÒé ÍøÂ簲ȫ ÍøÂç¹ÜÀí ×éÍø·½°¸ Cisco¼¼Êõ ²Ù×÷ϵͳ Win2000 WinXP Win2003 Mac OS Linux FreeBSD |
Ò»¸öc дµÄ·¢ÅƳÌʽ
À´Ô´£º»¥ÁªÍø
×÷Õߣºwest263.com
ʱ¼ä£º2008-02-23
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!



