- 598 名前:デフォルトの名無しさん [2007/02/06(火) 12:59:32 ]
- c++の機能を使って作り直しているんだけど
下から2行目を実現するにはどうしたらいいですか? class board { unsigned char bd[2][8]; public: board(){for(int i=0;i<2;i++)for(int j=0;j<8;j++)bd[i][j]=0;bd[0][3]=16;bd[0][4]=8;bd[1][3]=8;bd[1][4]=16;} board& operator=(board& x){for(int i=0;i<2;i++)for(int j=0;j<8;j++)bd[i][j]=x.bd[i][j];return *this;} int operator()(int z){int m,n;m=z/8;n=z-8*m;return (((bd[0][m]>>n)&1)+2*((bd[1][m]>>n)&1));} }; main(){ board bord; printf("%d\n",bord(27)); // bord(27)=1; 0は空 1は黒 2は白 }
|

|