Une TUI pour jouer au go - retour accueil
git clone git://bebou.netlib.re/go-tui
Log | Files | Refs |
commit beab883476efd87b5b5c1fc32f9090e9d130a19b parent e15f3ac6f0e84f7b34a4b93c9f2c0906384e4796 Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Tue, 15 Jul 2025 18:24:47 +0200 Peu plus placer des pierres dehors ou par dessus Toujours le bug à la suppression Diffstat:
M | gotui.c | | | 11 | ++++++++++- |
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/gotui.c b/gotui.c @@ -49,6 +49,14 @@ void display(struct stone* stone_list, int count, int color) { tb_printf(0,9,0,0,"%s to play\n",color_to_display);*/ } +int spot_is_taken(struct stone* stone_list, int stone_count, int x, int y) { + for (int i=0;i<stone_count;i++) { + if (stone_list[i].x==x && stone_list[i].y==y) + return 1; + } + return 0; +} + int main(int argc, char **argv) { int input=0; tb_init(); @@ -71,10 +79,11 @@ int main(int argc, char **argv) { struct stone s; switch(input) { case 65512: /*MouseLeft*/ - if(color==BLACK) { color=WHITE; } else { color=BLACK; } + if( ev.x<0 || ev.x>9*2 || ev.x <0 || ev.y>8 || ev.x%2 || spot_is_taken(stone_list,stone_count,ev.x,ev.y)) break; s=create_stone(ev.x,ev.y,color); stone_list[stone_count]=s; stone_count++; + if(color==BLACK) { color=WHITE; } else { color=BLACK; } break; case 65511: /*MouseRight*/ for (int i=0;i<stone_count;i++) {