Une TUI pour jouer au go - retour accueil
git clone git://bebou.netlib.re/go-tui
Log | Files | Refs | README |
commit 9732e6e2f39f7a84b5f014d199f96d34fc2e1b23 parent e8e38dab4e258254b532a2b23971c551975e69a6 Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Sat, 19 Jul 2025 12:43:40 +0200 On peut que retirer la dernière pierre posée Diffstat:
M | gotui.c | | | 14 | +++++++------- |
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/gotui.c b/gotui.c @@ -46,7 +46,7 @@ int spot_is_taken(struct stone_list s_list, int x, int y) { for (int i=0;i<s_list.count;i++) if (s_list.list[i].x==x && s_list.list[i].y==y) return i; - return -1; + return -999; } /*Display functions*/ @@ -119,19 +119,19 @@ int main(int argc, char **argv) { case 65512: /*MouseLeft*/ if(ev.x<0 || ev.x>size*2-2 || ev.x <0 || ev.y>size-1 || ev.x%2) break; spot=spot_is_taken(s_list,ev.x,ev.y); - if(spot!=-1) { + if(spot>=0 && spot==s_list.count-1) { remove_stone_from_list(&s_list,spot); if(color==BLACK) { color=WHITE; } else { color=BLACK; } - break; + } else if (spot==-999) { + s=create_stone(ev.x,ev.y,color); + add_stone_to_list(&s_list,s); + if(color==BLACK) { color=WHITE; } else { color=BLACK; } } - s=create_stone(ev.x,ev.y,color); - add_stone_to_list(&s_list,s); - if(color==BLACK) { color=WHITE; } else { color=BLACK; } break; case 65511: /*MouseRight*/ if(ev.x<0 || ev.x>size*2-2 || ev.x <0 || ev.y>size-1 || ev.x%2) break; spot=spot_is_taken(s_list,ev.x,ev.y); - if(spot!=-1) { + if(spot!=-999) { s=create_stone(ev.x,ev.y,s_list.list[spot].color); add_stone_to_list(&c_list,s); remove_stone_from_list(&s_list,spot);