ODD CLUSTERS Using C++ programming
ConsoleApplication3/ConsoleApplication3/ConsoleApplication3.vcxproj
Debug Win32 Release Win32 {B982EE99-86A9-44FB-97D7-E2F074039D3F} Win32Proj ConsoleApplication3 Application true v120 Unicode Application false v120 true Unicode true false Level3 Disabled WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) true Console true Level3 MaxSpeed true true WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) true Console true true true
ConsoleApplication3/ConsoleApplication3/ConsoleApplication3.vcxproj.filters
{4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hh;hpp;hxx;hm;inl;inc;xsd {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 资源文件
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleA.B982EE99.tlog/CL.read.1.tlog
^C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\源.CPP C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\BIN\2052\CLUI.DLL C:\WINDOWS\GLOBALIZATION\SORTING\SORTDEFAULT.NLS C:\WINDOWS\SYSTEM32\RSAENH.DLL C:\WINDOWS\SYSTEM32\TZRES.DLL C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\IOSTREAM C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\ISTREAM C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\OSTREAM C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\IOS C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XLOCNUM C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CLIMITS C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\YVALS.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XKEYCHECK.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CRTDEFS.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\SAL.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CONCURRENCYSAL.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\VADEFS.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\USE_ANSI.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\LIMITS.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CMATH C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\MATH.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XTGMATH.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XTR1COMMON C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CSTDIO C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\STDIO.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\SWPRINTF.INL C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CSTDLIB C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\STDLIB.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\STREAMBUF C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XIOSBASE C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XLOCALE C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CSTRING C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\STRING.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\STDEXCEPT C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\EXCEPTION C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XSTDDEF C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CSTDDEF C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\STDDEF.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\INITIALIZER_LIST C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\EH.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\MALLOC.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XSTRING C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XMEMORY0 C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\LIMITS C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\YMATH.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CFLOAT C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\FLOAT.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CRTWRN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CWCHAR C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\WCHAR.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\WTIME.INL C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\NEW C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XUTILITY C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\UTILITY C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\IOSFWD C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CRTDBG.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\TYPE_TRAITS C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XREFWRAP C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XATOMIC0.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\INTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\SETJMP.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\IMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\WMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\NMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\SMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\TMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\PMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\EMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\MMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\AMMINTRIN.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\MM3DNOW.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\TYPEINFO C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XLOCINFO C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XLOCINFO.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CTYPE.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\LOCALE.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XDEBUG C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XMEMORY C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\XFACET C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\SYSTEM_ERROR C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\CERRNO C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\ERRNO.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\SHARE.H C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\FSTREAM C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\STRING C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\INCLUDE\ITERATOR C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\BIN\MSPDBSRV.EXE
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleA.B982EE99.tlog/CL.write.1.tlog
^C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\源.CPP C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\DEBUG\VC120.PDB C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\DEBUG\VC120.IDB C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\DEBUG\源.OBJ
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleA.B982EE99.tlog/ConsoleApplication3.lastbuildstate
#TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit Debug|Win32|C:\Users\Soyer\Desktop\ConsoleApplication3\|
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleA.B982EE99.tlog/cl.command.1.tlog
^C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\源.CPP /c /ZI /nologo /W3 /WX- /sdl /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _LIB /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"DEBUG\\" /Fd"DEBUG\VC120.PDB" /Gd /TP /analyze- C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\源.CPP
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleA.B982EE99.tlog/link.command.1.tlog
^C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\DEBUG\源.OBJ /OUT:"C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\DEBUG\CONSOLEAPPLICATION3.EXE" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\DEBUG\CONSOLEAPPLICATION3.PDB" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\DEBUG\CONSOLEAPPLICATION3.LIB" /MACHINE:X86 "DEBUG\源.OBJ"
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleA.B982EE99.tlog/link.read.1.tlog
^C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\DEBUG\源.OBJ C:\WINDOWS\SYSTEM32\C_1252.NLS C:\WINDOWS\GLOBALIZATION\SORTING\SORTDEFAULT.NLS C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\KERNEL32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\USER32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\GDI32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\WINSPOOL.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\COMDLG32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\ADVAPI32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\SHELL32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\OLE32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\OLEAUT32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\UUID.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\ODBC32.LIB C:\PROGRAM FILES (X86)\WINDOWS KITS\8.1\LIB\WINV6.3\UM\X86\ODBCCP32.LIB C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\DEBUG\源.OBJ C:\WINDOWS\SYSTEM32\TZRES.DLL C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\LIB\MSVCPRTD.LIB C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\LIB\MSVCRTD.LIB C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\LIB\OLDNAMES.LIB
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleA.B982EE99.tlog/link.write.1.tlog
^C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\CONSOLEAPPLICATION3\DEBUG\源.OBJ C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\DEBUG\CONSOLEAPPLICATION3.ILK C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\DEBUG\CONSOLEAPPLICATION3.EXE C:\USERS\SOYER\DESKTOP\CONSOLEAPPLICATION3\DEBUG\CONSOLEAPPLICATION3.PDB
ConsoleApplication3/ConsoleApplication3/Debug/ConsoleApplication3.log
生成启动时间为 5/14/2015 15:15:05 下午。 1>项目“C:\Users\Soyer\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj”在节点 2 上(Build 个目标)。 1>ClCompile: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /sdl /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _LIB /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc120.pdb" /Gd /TP /analyze- /errorReport:prompt "源.cpp" 源.cpp 1>c:\users\soyer\desktop\consoleapplication3\consoleapplication3\源.cpp(183): warning C4715: “Check_size”: 不是所有的控件路径都返回值 Link: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\Soyer\Desktop\ConsoleApplication3\Debug\ConsoleApplication3.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:\Users\Soyer\Desktop\ConsoleApplication3\Debug\ConsoleApplication3.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\Soyer\Desktop\ConsoleApplication3\Debug\ConsoleApplication3.lib" /MACHINE:X86 "Debug\源.obj" ConsoleApplication3.vcxproj -> C:\Users\Soyer\Desktop\ConsoleApplication3\Debug\ConsoleApplication3.exe 1>已完成生成项目“C:\Users\Soyer\Desktop\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj”(Build 个目标)的操作。 生成成功。 已用时间 00:00:01.45
ConsoleApplication3/ConsoleApplication3/Debug/vc120.idb
ConsoleApplication3/ConsoleApplication3/Debug/vc120.pdb
ConsoleApplication3/ConsoleApplication3/Debug/Դ.obj
ConsoleApplication3/ConsoleApplication3/abc
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x c c
ConsoleApplication3/ConsoleApplication3/test1
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x p
ConsoleApplication3/ConsoleApplication3/Դ.cpp
#include <iostream> #include <fstream> #include <string> using namespace std; const int rows = 9; const int cols = 8; void Play_Type(char board[][cols]); void Initialize_Board(char board[][cols]); void Reload_game(char board[][cols]); void Save_game(char board[][cols]); void interface(char board[][cols]); void P_C_first(char board[][cols]); void Piece_move(char board[][cols]); void Display_board(char board[][cols]); void CLS(); bool Check_size(int r, int c); bool illgeal_move(char board, int r, int c); bool Check_game_over(char board[][cols]); int Play_1_point(char board[][cols]); int play_2_point(char board[][cols]); void Game_over(char board[][cols]); void Check_if_odd(char board[][cols], int r, int c); void Check_if_odd(char board[][cols], int r, int c) { int x,//x for r y;//y for c x = r; y = c; board[x][y] = 'R';//换中心的为R x = r - 1, y = c - 1; if (board[x][y] == 'X')//检查位置1 { Check_if_odd(board, x, y); } x = r - 1, y = c; if (board[x][y] == 'X')//检查位置2 { Check_if_odd(board, x, y); } x = r - 1, y = c + 1; if (board[x][y] == 'X')//检查位置3 { Check_if_odd(board, x, y); } x = r, y = c - 1; if (board[x][y] == 'X')//检查位置4 { Check_if_odd(board, x, y); } x = r, y = c + 1; if (board[x][y] == 'X')//检查位置5 { Check_if_odd(board, x, y); } x = r + 1, y = c - 1; if (board[x][y] == 'X')//检查位置6 { Check_if_odd(board, x, y); } x = r + 1, y = c; if (board[x][y] == 'X')//检查位置7 { Check_if_odd(board, x, y); } x = r + 1, y = c + 1; if (board[x][y] == 'X')//检查位置8 { Check_if_odd(board, x, y); } } void CLS() { system("CLS"); } bool Check_game_over(char board[][cols]) { int i, r, account_sum = 0; for (i = 0; i < 8; i++) { for (r = 0; r < 8; r++) { if (board[i][r] == 'X') { account_sum = account_sum + 1; } else if (board[i][r] == '*') { account_sum = account_sum + 1; } } } if (account_sum == 64) { return false; } else { return true; } } int Play_1_point(char board[][cols]) { int i, r, point = 0; for (i = 0; i < 8; i++) { for (r = 0; r < 8; r++) { if (board[i][r] == 'X') { point++; } } } return point; } int play_2_point(char board[][cols]) { int i, r, point = 0; for (i = 0; i < 8; i++) { for (r = 0; r < 8; r++) { if (board[i][r] == '*') { point++; } } } return point; } void Game_over(char board[][cols]) { if (Play_1_point(board) > play_2_point(board)) { cout << "Player 1 has won." << endl; } else if (Play_1_point(board) < play_2_point(board)) { cout << "Player 2/computer has won." << endl; } else { cout << "The result is tie." << endl; } } bool Check_size(int r, int c) { if (r <= 7 && r >= 0) { if (c <= 7 && c >= 0) { return true; } } else { return false; } } bool Check_if_there(char board[][cols], int r, int c) { if (board[r][c] != 'X' && board[r][c] != '*') { return true; } else { return false; } } bool illgeal_move(char board[][cols],int r, int c) { if (Check_size(r, c) == true && Check_if_there(board,r,c)==true) { return true; } else { return false; } } void Display_board(char board[][cols]) { int i,//control loop x,//control loop z;//control loop cout << " "; for (x = 0; x < 8; x++) { cout << x<<" "; } cout << endl; for (i = 0; i < 8; i++) { cout << i; cout << "|"; for (z = 0; z < 8; z++) { cout << board[i][z] << "|"; } cout << endl; } } void Piece_move(char board[][cols]) { int r,//row corrdinate c;//col coordinate bool check=true;//check size while (check == true) { switch (board[8][1]) { case 'p'://玩家1移动 { Display_board(board); cout << "Player 1 has " << Play_1_point(board) << " points, and Player 2 has " << play_2_point(board) << " points" << endl; cout << "It's player 1's turn, please enter the row coordinate, and col coordinate:" << endl; cin >> r >> c; while (illgeal_move(board, r, c) == false) { cout << "The coordinate you enter is not vailded, Please try again " << endl; cin >> r >> c; } board[r][c] = 'X'; if (board[8][0] == 'p')//如果是玩家对局模式 { board[8][1] = 'q';//变化顺序为玩家2 CLS(); } else if (board[8][0] == 'c')//如果是人机对战模式 { board[8][1] = 'c';//变化顺序为电脑 } if (Check_game_over(board) == false) { board[8][1] = 'f'; } break; } case 'q'://玩家二移动 { Display_board(board); cout << "Player 1 has " << Play_1_point(board) << " points, and Player 2 has " << play_2_point(board) << " points" << endl; cout << "It's player 1's turn, please enter the row coordinate, and col coordinate:" << endl; cin >> r >> c; while (illgeal_move(board, r, c) == false) { cout << "The coordinate you enter is not vailded, Please try again " << endl; cin >> r >> c; } board[r][c] = '*'; board[8][1] = 'p';//变化顺序为玩家1 if (Check_game_over(board) == false) { board[8][1] = 'f'; } break; } case 'c': { //电脑移动 } default: { Game_over(board); check = Check_game_over(board); CLS(); break; } } } } void P_C_first(char board[][cols]) { int choice,//choice who first i = 0;//control loop while (i == 0) { cout << "Which player would you like to start?" << endl; cout << "1. Player 1" << endl; cout << "2. Computer" << endl; cout << "3. Go back" << endl; cin >> choice; switch (choice) { case 1: { board[8][1] = 'p'; return; } case 2: { board[8][1] = 'c'; return; } case 3: { return; } default: //Report_error(); CLS(); i = 0; } } } void Play_Type(char board[][cols]) { int choice, i = 0;//control loop while (i == 0) { cout << "1. Play 1 vs computer" << endl; cout << "2. Play 1 vs Play 2 " << endl; cout << "3. Go back" << endl; cin >> choice; switch (choice) { case 1: { board[8][0] = 'c';//c means PVC record for player vs computer P_C_first(board); return; } case 2: { board[8][0] = 'p';//p means PVP recorded for player vs player board[8][1] = 'p';//player1 will start game first return; } case 3: { return; } default: //Report_error(); CLS(); i = 0; } } } //which is start a new game. void Initialize_Board(char board[][cols]) { int i,//loop control r;//loop control for (i = 0; i < 8; i++) { for (r = 0; r < 8; r++) { board[i][r] = 0; } } Play_Type(board); return; } void Reload_game(char board[][cols]) { ifstream reload_game; string reload_name; cout << "Please enter the file of your game:" << endl; cin >> reload_name; reload_game.open(reload_name); int i,//control loop r;//control loop for (i = 0; i < 8; i++) { for (r = 0; r < 8; r++) { reload_game >> board[i][r]; } } reload_game >> board[8][0]; reload_game >> board[8][1]; reload_game.close(); return; } void Save_game(char board[][cols]) { ofstream save_game; string save_name; cout << "Please enter the name you would like to save: " << endl; cin >> save_name; save_game.open(save_name); int i, r; for (i = 0; i < 8; i++) { for (r = 0; r < 8; r++) { save_game << board[i][r]; save_game << " "; } } save_game << board[8][0]; save_game.close(); } void interface(char board[][cols]) { int i = 0,//control for loop choice; while (i == 0) { cout << "Welcome to odd clusters chess" << endl; cout << "1. Start a new game." << endl << "2. Reload a exiting game." << endl << "3. Save the game." << endl << "4. quit." << endl; cin >> choice; switch (choice) { case 1: { Initialize_Board(board); Piece_move(board); break; } case 2: { Reload_game(board); //游戏开始 break; } case 3: { Save_game(board); break; } case 4: { i = 1; break; } default: { //report error CLS(); i = 0; } } } } int main() { char board[rows][cols]; interface(board); }
ConsoleApplication3/ConsoleApplication3.sdf
ConsoleApplication3/ConsoleApplication3.sln
Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.30723.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConsoleApplication3", "ConsoleApplication3\ConsoleApplication3.vcxproj", "{B982EE99-86A9-44FB-97D7-E2F074039D3F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {B982EE99-86A9-44FB-97D7-E2F074039D3F}.Debug|Win32.ActiveCfg = Debug|Win32 {B982EE99-86A9-44FB-97D7-E2F074039D3F}.Debug|Win32.Build.0 = Debug|Win32 {B982EE99-86A9-44FB-97D7-E2F074039D3F}.Release|Win32.ActiveCfg = Release|Win32 {B982EE99-86A9-44FB-97D7-E2F074039D3F}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal