?? 24.cpp
字號:
//Knight tour
//Arash nouri
//2005/12/08
#include "header24.h"
int main()
{
cout << "Identify the begin point\nAnswer is (1,1) (2,3) (5,1) (6,0)\nrow: ";
cin >> hCurrent;
cout << "\ncolumn: ";
cin >> vCurrent;
board[hCurrent][vCurrent] = 1;
system("CLS");
for ( int counter = 2; counter < 65; counter++ )
{
cout <<"Move : " << counter - 1 << endl;
move = isPossible (hCurrent, vCurrent);
turn( move, hCurrent, vCurrent);
printArray();
}
cout << "ey val" << (char)2 << endl;
getch();
return 0;
}
/*===========================================================*/
/*===========================================================*/
void printArray(void)
{
system("cls");
for ( int i = 0; i < rows; i++)
{
for ( int j = 0; j < rows; j++)
{
if(board[i][j] < 10 )
cout << ' ';
cout << board[i][j] << ' ';
}
cout << endl;
}
// system("pause");
return;
}
/*===========================================================*/
/*===========================================================*/
int isPossible(int hCurrent, int vCurrent)
{
int movement, bestMove=-1, min = 10, nextrow, nextcol;
for( movement = 7; movement >= 0; movement--)
{
nextrow = hCurrent + ver[movement];
nextcol = vCurrent + hor[movement];
if (nextrow < 0 || nextrow > 7 || nextcol < 0 || nextcol > 7 || board[nextrow][nextcol] != 0)
continue;
if (accessibility[nextrow][nextcol] < min)
{
min = accessibility[nextrow][nextcol];
bestMove = movement;
}
}
return bestMove;
}
/*===========================================================*/
/*===========================================================*/
void turn ( int move, int& hCurrent, int& vCurrent )
{
static count = 2;
hCurrent += ver[move];
vCurrent += hor[move];
board[hCurrent][vCurrent] = count++;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -