网络五子棋游戏QT类的设计与实现 (3)
第二版的五子棋游戏确实比第一版玩起来好多了。可是,我怎么越看越觉得不怎么像样,特别是棋子!‘W‘ 表示白棋,‘B’表示黑棋,学过英文的很容易就能分辨出来,可是像我这样连ABC都不会的人怎么办啊?一定要想个办法让棋子变得更漂亮一些。
我想到了图形字符,见下图,看到'T'和'Y'上面的圆圆的字符了吧?用来做五子棋非常合适。
,跟另存为 Unicode
得到的编码是一样的,这说明在我现在的window下并没有实现UTF-8的编码。
"FF FE ”
是表示
大小
端模式的,这里表示小端,所有实际编码是0x25CF。转化为二进制是:
0101 11
001111
0010
10
010111
10
001111,
0xE2978B。
{
const char white[]={0xe2,0x97,0x8b,0};//○
用于显示白棋的UTF-8码
const char black[]={0xe2,0x97,0x8f,0};//●
用于
显示黑棋的UTF-8码
cout<<" ";
for(int j=0; j<19;j++)
{
printf(" %02d",j);
}
cout<<endl<<endl;
for(int i=0; i<19;i++)
{
printf("%02d",i);
for(int j=0; j<19;j++)
{
if(j==0)
{
if(board[i][j]=='W')
printf(" %2s ",white);
else if(board[i][j]=='B')
printf(" %2s ",black);
else
printf(" %2c",board[i][j]);
}
// printf(" %2c",board[i][j]);
else{
if(board[i][j]=='W')
printf("-%2s ",white);
else if(board[i][j]=='B')
printf("-%2s ",black);
else
printf("-%2c",board[i][j]);
}
// printf("-%2c",board[i][j]);
}
printf(" %02d",i);
cout<<endl;
cout<<" ";
for(int j=0; j<19;j++)
{
if(i!=18)
printf(" |");
}
cout<<endl;
}
cout<<" ";
for(int j=0; j<19;j++)
{
printf(" %02d",j);
}
cout<<endl<<endl;
}