go-tui

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:
Mgotui.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);