//現在位置を表す関数
void writeBoard(void){
int i;
for(i = 0; i < max; i++){
if(i == p_position-1){
printf("プ");
}
else{printf("□");}
}
printf("\n");
}

これで、合っていますが疑問があります。

>>[p_position-1]

で、-1と言うのが疑問です。何から-1にしているのでしょうか?