⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu.c

📁 三子棋
💻 C
字号:
/*cpu.c - CPU Moving Copyright (C) 2006 Obada Denis (obadadenis@gmail.com)Project home page : http://tictactoegtk.sourceforge.netThis library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA*//*Description of Interface :When game need a CPU move it call cpumove() function.Variables to access of function cpumove() :grid[3][3] - array 3x3 of char, contain position of players charscpuchar - type : char, CPU player charusrchar - type : char, Player charImportant :CPU need to make ONE  move of CPU Player*/#ifndef cpu_c#define cpu_c//Codevoid cpumove(void){gint i,j=0;#if debugg_printf("CPU move \n");#endif//Added by Timur Salikhov aka Tim (Tima-S@yandex.ru)for (i=0; i<3; i++) {	if ((grid[i][0]==cpuchar) && (grid[i][1]==cpuchar) && (grid[i][2]==' ')) { j=2; goto CreateMove;}	if ((grid[i][0]==cpuchar) && (grid[i][2]==cpuchar) && (grid[i][1]==' ')) { j=1; goto CreateMove;}	if ((grid[i][2]==cpuchar) && (grid[i][1]==cpuchar) && (grid[i][0]==' ')) { j=0; goto CreateMove;}		if ((grid[0][i]==cpuchar) && (grid[1][i]==cpuchar) && (grid[2][i]==' ')) { j=i; i=2; goto CreateMove;}	if ((grid[0][i]==cpuchar) && (grid[2][i]==cpuchar) && (grid[1][i]==' ')) { j=i; i=1; goto CreateMove;}	if ((grid[2][i]==cpuchar) && (grid[1][i]==cpuchar) && (grid[0][i]==' ')) { j=i; i=0; goto CreateMove;}	}if ((grid[0][0]==cpuchar) && (grid[1][1]==cpuchar) && (grid[2][2]==' ')) { i=2; j=2; goto CreateMove;}if ((grid[2][2]==cpuchar) && (grid[1][1]==cpuchar) && (grid[0][0]==' ')) { i=0; j=0; goto CreateMove;}if ((grid[0][0]==cpuchar) && (grid[2][2]==cpuchar) && (grid[1][1]==' ')) { i=1; j=1; goto CreateMove;}if ((grid[0][2]==cpuchar) && (grid[1][1]==cpuchar) && (grid[2][0]==' ')) { i=2; j=0; goto CreateMove;}if ((grid[2][0]==cpuchar) && (grid[1][1]==cpuchar) && (grid[0][2]==' ')) { i=0; j=2; goto CreateMove;}if ((grid[0][2]==cpuchar) && (grid[2][0]==cpuchar) && (grid[1][1]==' ')) { i=1; j=1; goto CreateMove;}for (i=0; i<3; i++) {	if ((grid[i][0]==usrchar) && (grid[i][1]==usrchar) && (grid[i][2]==' ')) { j=2; goto CreateMove;}	if ((grid[i][0]==usrchar) && (grid[i][2]==usrchar) && (grid[i][1]==' ')) { j=1; goto CreateMove;}	if ((grid[i][2]==usrchar) && (grid[i][1]==usrchar) && (grid[i][0]==' ')) { j=0; goto CreateMove;}		if ((grid[0][i]==usrchar) && (grid[1][i]==usrchar) && (grid[2][i]==' ')) { j=i; i=2; goto CreateMove;}	if ((grid[0][i]==usrchar) && (grid[2][i]==usrchar) && (grid[1][i]==' ')) { j=i; i=1; goto CreateMove;}	if ((grid[2][i]==usrchar) && (grid[1][i]==usrchar) && (grid[0][i]==' ')) { j=i; i=0; goto CreateMove;}	}if ((grid[0][0]==usrchar) && (grid[1][1]==usrchar) && (grid[2][2]==' ')) { i=2; j=2; goto CreateMove;}if ((grid[2][2]==usrchar) && (grid[1][1]==usrchar) && (grid[0][0]==' ')) { i=0; j=0; goto CreateMove;}if ((grid[0][0]==usrchar) && (grid[2][2]==usrchar) && (grid[1][1]==' ')) { i=1; j=1; goto CreateMove;}if ((grid[0][2]==usrchar) && (grid[1][1]==usrchar) && (grid[2][0]==' ')) { i=2; j=0; goto CreateMove;}if ((grid[2][0]==usrchar) && (grid[1][1]==usrchar) && (grid[0][2]==' ')) { i=0; j=2; goto CreateMove;}if ((grid[0][2]==usrchar) && (grid[2][0]==usrchar) && (grid[1][1]==' ')) { i=1; j=1; goto CreateMove;}// End of Tim's code	//If move was not created then move create rand... do {        i=rand()%3;        j=rand()%3;     } while (grid[i][j]!=' ');        CreateMove: //Added by Tim. This label needs by Tim's code.	grid[i][j]=cpuchar;}#endif

⌨️ 快捷键说明

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