From a64402b06dca743d27443ba63a157e4940f1113e Mon Sep 17 00:00:00 2001 From: huangjielun <2872405629@qq.com> Date: Sat, 8 Oct 2022 20:57:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=97=E6=B6=88=E6=81=AF=E4=B8=80?= =?UTF-8?q?=E6=96=B9=E7=A7=BB=E5=8A=A8=EF=BC=8C=E4=BD=86=E6=98=AF=E4=B8=8D?= =?UTF-8?q?=E6=94=B9=E5=8F=98turn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/server.py | 2 +- src/DLS.py | 561 +++++++++++++++++++++- src/__pycache__/main.cpython-39.pyc | Bin 56456 -> 0 bytes src/__pycache__/start_game.cpython-39.pyc | Bin 3677 -> 3842 bytes src/main.py | 95 ++-- src/start_game.py | 16 +- 6 files changed, 624 insertions(+), 50 deletions(-) delete mode 100644 src/__pycache__/main.cpython-39.pyc diff --git a/server/server.py b/server/server.py index 4bf8c30..6e1d251 100644 --- a/server/server.py +++ b/server/server.py @@ -185,7 +185,7 @@ def timer_thread(): send_msg_to(client1, msg) del playing_ones[game_id] else: - client.time -= 1 + client.time -= 1 client.total -= 1 mutex_playing.release() diff --git a/src/DLS.py b/src/DLS.py index e2ad0df..406ac7c 100644 --- a/src/DLS.py +++ b/src/DLS.py @@ -3,12 +3,571 @@ from typing import List, Tuple import pygame import heapq import socket_client as s -from main import right_move, left_move import init inf = 99999999 MAP1 = init.clac_MAP1() +def left_move(old_x,old_y,x,y,id,MAP,MAP1): + if id == 8: + if MAP[x][y] == 18: + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 20 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or MAP[x][y] == 7 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or MAP[x][y] == 1): + if MAP[x][y] == 7: + if MAP1[old_x][old_y] != 20: + return 1 + else: + return 0 + if MAP[x][y] == 1: + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 20 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or MAP[x][y] == 7 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or MAP[x][y] == 1): + if MAP[x][y] == 7: + if MAP1[old_x][old_y] != 20: + return 1 + else: + return 0 + if MAP[x][y] == 1: + return 1 + if MAP1[x][y] == 17 and 1 <= MAP[x][y] <= 7: + return 1 + return 1 + else : + return 0 + elif id == 9: + if MAP[x][y] == 18 and MAP[x][y] != 0 and MAP[x][y] != 15 and MAP[x][y] != 17 and MAP[x][y] != 16 and MAP1[x][y] != 17 and (2 old_y: + for i in range(old_y + 1, y): + if (MAP[x][i] != 0 and MAP[x][i] != 20 and MAP[x][i] != 17 and MAP[x][i] != 18): + return 0 + if 1 <= MAP[x][y] <= 2: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else: + for i in range(y + 1, old_y): + if (MAP[x][i] != 0 and MAP[x][i] != 20 and MAP[x][i] != 17 and MAP[x][i] != 18): + return 0 + if 1 <= MAP[x][y] <= 2: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif y == old_y and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=2): + if x > old_x: + for i in range(old_x + 1, x): + if (MAP[i][y] != 0 and MAP[i][y] != 20 and MAP[i][y] != 17 and MAP[i][y] != 18): + return 0 + if 1 <= MAP[x][y] <= 2: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else: + for i in range(x + 1, old_x): + if (MAP[i][y] != 0 and MAP[i][y] != 20 and MAP[i][y] != 17 and MAP[i][y] != 18): + return 0 + if 1 <= MAP[x][y] <= 2: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else: + return 0 + elif id == 10: + if abs(x - old_x) <= 1 and abs(y - old_y) <= 1 and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=3): + if 1 <= MAP[x][y] <= 3: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + return 0 + elif id == 11: + if MAP[x][y] == 18: + return 0 + if(MAP[x][y] == 20): + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=4): + if 1 <= MAP[x][y] <= 4: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=4): + if 1 <= MAP[x][y] <= 4: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else : + return 0 + elif id == 12: + if MAP[x][y] == 18: + return 0 + if(MAP[x][y] == 20): + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=5): + if 1 <= MAP[x][y] <= 5: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=5): + if 1 <= MAP[x][y] <= 5: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else : + return 0 + elif id == 13: + if MAP[x][y] == 18: + return 0 + if MAP[x][y] == 20: + return 0 + if abs(x - old_x) ==1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=6): + if 1 <= MAP[x][y] <= 6: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=6): + if 1 <= MAP[x][y] <= 6: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif old_x == x and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=6): + if y > old_y: + for i in range(old_y+1,y): + if MAP[x][i] != 20 and MAP[x][i] != 8 : + return 0 + if 1 <= MAP[x][y] <= 6: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else: + for i in range(y+1,old_y): + if MAP[x][i] != 20 and MAP[x][i] != 1 : + return 0 + if 1 <= MAP[x][y] <= 6: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 1<=MAP[x][y]<=6): + if x > old_x: + for i in range(old_x+1,x): + if MAP[i][y] != 20 and MAP[i][y] != 1 : + return 0 + if 1 <= MAP[x][y] <= 6: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else: + for i in range(x+1,old_x): + if MAP[i][y] != 20 and MAP[i][y] != 1 : + return 0 + if 1 <= MAP[x][y] <= 6: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else: + return 0 + elif id == 14: + if MAP[x][y] == 18: + return 0 + if(MAP[x][y] == 20): + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 2<=MAP[x][y]<=7): + if 2 <= MAP[x][y] <= 7: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 17 or MAP[x][y] == 15 or MAP[x][y] == 16 or (MAP1[x][y] == 17 and 1<=MAP[x][y]<=7) or 2<=MAP[x][y]<=7): + if 2 <= MAP[x][y] <= 7: + if MAP[x][y] == 1: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 17 and 1<=MAP[x][y]<=7: + return 1 + return 1 + else : + return 0 + +def right_move(old_x,old_y,x,y,id,MAP,MAP1): + if id == 1: + if MAP[x][y] == 16: + return 0 + if abs(x - old_x) == 1 and old_y == y and ( + MAP[x][y] == 0 or MAP[x][y] == 20 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or MAP[x][y] == 14 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14) or MAP[x][y] == 8): + if MAP[x][y] == 14 and MAP1[old_x][old_y] == 20: + return 0 + if MAP[x][y] == 14 and MAP1[old_x][old_y] != 20: + return 1 + if MAP[x][y] == 8: + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and ( + MAP[x][y] == 0 or MAP[x][y] == 20 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or MAP[x][y] == 14 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or MAP[x][y] == 8): + if MAP[x][y] == 14 and MAP1[old_x][old_y] == 20: + return 0 + if MAP[x][y] == 14 and MAP1[old_x][old_y] != 20: + return 1 + if MAP[x][y] == 8: + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + return 0 + elif id == 2: + if MAP[x][y] == 16 and MAP[x][y] != 0 and MAP[x][y] != 15 and MAP[x][y] != 17 and MAP[x][y] != 18 and MAP1[x][y] != 15 and (9 < MAP[x][y] <= 14): + return 0 + if x == old_x and ( + MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 9): + if y > old_y: + for i in range(old_y + 1, y): + if (MAP[x][i] != 0 and MAP[x][i] != 20 and MAP[x][i] != 15 and MAP[x][i] != 16 and MAP[x][i] != 18): + return 0 + if 8 <= MAP[x][y] <= 9: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + for i in range(y + 1, old_y): + if (MAP[x][i] != 0 and MAP[x][i] != 20 and MAP[x][i] != 15 and MAP[x][i] != 16 and MAP[x][i] != 18): + return 0 + if 8 <= MAP[x][y] <= 9: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif y == old_y and ( + MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 9): + if x > old_x: + for i in range(old_x + 1, x): + if (MAP[i][y] != 0 and MAP[i][y] != 20 and MAP[i][y] != 15 and MAP[i][y] != 16 and MAP[i][y] != 18): + return 0 + if 8 <= MAP[x][y] <= 9: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + for i in range(x + 1, old_x): + if (MAP[i][y] != 0 and MAP[i][y] != 20 and MAP[i][y] != 15 and MAP[i][y] != 16 and MAP[i][y] != 18): + return 0 + if 8 <= MAP[x][y] <= 9: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + return 0 + elif id == 3: + if abs(x - old_x) <= 1 and abs(y - old_y) <= 1 and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 10): + if 8 <= MAP[x][y] <= 10: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + return 0 + elif id == 4: + if MAP[x][y] == 16: + return 0 + if (MAP[x][y] == 20): + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 11): + if 8 <= MAP[x][y] <= 11: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 11): + if 8 <= MAP[x][y] <= 11: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + return 0 + elif id == 5: + if MAP[x][y] == 16: + return 0 + if (MAP[x][y] == 20): + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 12): + if 8 <= MAP[x][y] <= 12: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 12): + if 8 <= MAP[x][y] <= 12: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + return 0 + elif id == 6: + if MAP[x][y] == 16: + return 0 + if MAP[x][y] == 20: + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 13): + if 8 <= MAP[x][y] <= 13: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 13): + if 8 <= MAP[x][y] <= 13: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif old_x == x and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 13): + if y > old_y: + for i in range(old_y + 1, y): + if MAP[x][i] != 20 and MAP[x][i] != 1: + return 0 + if 8 <= MAP[x][y] <= 14: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + for i in range(y + 1, old_y): + if MAP[x][i] != 20 and MAP[x][i] != 1: + return 0 + if 8 <= MAP[x][y] <= 13: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 8 <=MAP[x][y] <= 13): + if x > old_x: + for i in range(old_x + 1, x): + if MAP[i][y] != 20 and MAP[i][y] != 1: + return 0 + if 8 <= MAP[x][y] <= 13: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + for i in range(x + 1, old_x): + if MAP[i][y] != 20 and MAP[i][y] != 1: + return 0 + if 8 <= MAP[x][y] <= 13: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + return 0 + elif id == 7: + if MAP[x][y] == 16: + return 0 + if (MAP[x][y] == 20): + return 0 + if abs(x - old_x) == 1 and old_y == y and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 9 <=MAP[x][y] <= 14): + if 9 <= MAP[x][y] <= 14: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + elif old_x == x and abs(y - old_y) == 1 and (MAP[x][y] == 0 or MAP[x][y] == 15 or MAP[x][y] == 17 or MAP[x][y] == 18 or (MAP1[x][y] == 15 and 8<=MAP[x][y]<=14)or 9 <=MAP[x][y] <= 14): + if 9 <= MAP[x][y] <= 14: + if MAP[x][y] == 8: + if MAP1[x][y] != 20: + return 1 + else: + return 0 + return 1 + if MAP1[x][y] == 15 and 8 <= MAP[x][y] <= 14: + return 1 + return 1 + else: + return 0 + def getMAP(Animals): copyMAP = [[0 for i in range(7)] for j in range(9)] for animalId in range(1, len(Animals)): diff --git a/src/__pycache__/main.cpython-39.pyc b/src/__pycache__/main.cpython-39.pyc deleted file mode 100644 index bcca857a2d3a61cc36c4e5d48f8c5d34bb41598e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56456 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 O*!9tDLp`yj_5T79ZaaJc diff --git a/src/__pycache__/start_game.cpython-39.pyc b/src/__pycache__/start_game.cpython-39.pyc index bd85082653c564d9f8bac5259acf48819aa7b04f..6782e4f6ec47394da557c51aabf7c5838bbb7b83 100644 GIT binary patch delta 351 zcmcaB(QUmjv)V5nkst;j4G7ugG$8D{qE`F-U|hKPf9Uxul36$SHCK5pI)N`NA1(0c!PL A)&Kwi delta 482 zcmZpYyDP(&$ji&c00i}R3dxaT8~LuW^0NZD>_F@c#KkulCx2!wntYC1V)Ar0NycrH zH?o;96}_4KlFgh^WwIi>`sDN6;*;mIi`TQ%uw)69aAgT+GfiMDN-E)6AhM8wk)cGi ziE#pBA&{TNyFhFqLkh1XL(!xf#sxfJ5x#{C3xV=QD^mD^8ETl&ME9kz07aRRMT;h- z@CGv!PD)`2X3*sKTgg$fKh}=hzUXpf!UK8 zxuk%?Mb4A2ux^<=fn9R*2d>+U%$Z*pC!gbyF?q=ha)$ws&}1vJ2eBPMgd>P>0uoUI z#id0>sd*`>MaXUt=I1RgNh~VK%uA2YP0cIKnC!qC%i#*tps7@3Jb5W^1+Nj1bBonI v$ko-a$b7OEUxut9NQ5mvDJwO(q=+BLDFQ`S5lB~&JkVpplMnIPGa3T`-bQ-E diff --git a/src/main.py b/src/main.py index 3f0037d..7d4faa6 100644 --- a/src/main.py +++ b/src/main.py @@ -26,7 +26,7 @@ WIDTH , HEIGHT = 1200 , 800 ID = [1 for i in range(20)] FPS = 60 WIN = pygame.display.set_mode((WIDTH,HEIGHT)) -pygame.display.set_caption("Jungle") +#pygame.display.set_caption("Jungle") SPACE = pygame.transform.scale(pygame.image.load('images/map.png'),(WIDTH,HEIGHT)) CHESSSIZE_X=120 CHESSSIZE_Y=100 #棋子大小 @@ -130,6 +130,7 @@ def draw_right_animals(r_elephant,r_eagle,r_wolf,r_lion,r_leopard,r_mouse,r_fox) def draw_window(l_elephant,l_eagle,l_wolf,l_lion,l_leopard,l_mouse,l_fox,r_elephant,r_eagle,r_wolf,r_lion,r_leopard,r_mouse,r_fox,id, x, y, status, MAP, MAP1,turn): + pygame.display.set_caption("Jungle") WIN.blit(SPACE,(0,0)) if turn == 1: WIN.blit(left_turn,init.tran(8,3)) @@ -1749,6 +1750,7 @@ def main(): run = False if demo == 1 or demo == 2: C.start_new_thread(server_thread, (client,Address)) + print(turn,player.side) Right_win = player.Right_win Left_win = player.Left_win for event in pygame.event.get(): @@ -1820,7 +1822,7 @@ def main(): status = 0 if(demo == 1): C.move(client,player.game_id,1 - player.side,(id+7) % 14,old_x,old_y,x,y) - turn = 1 + turn = 1 - turn else: status = 0 elif (id == 2 and turn == 0 and status == 1 and demo == 0) or (id == 2 and demo == 1 and status == 1 and turn == player.side and turn == 0): @@ -1834,7 +1836,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 1 + turn = 1 - turn else : status = 0 elif (id == 3 and turn == 0 and status == 1 and demo == 0) or (id == 3 and demo == 1 and status == 1 and turn == player.side and turn == 0): @@ -1848,7 +1850,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 1 + turn = 1 - turn else : status = 0 elif (id == 4 and turn == 0 and status == 1 and demo == 0) or (id == 4 and demo == 1 and status == 1 and turn == player.side and turn == 0): @@ -1862,7 +1864,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 1 + turn = 1 - turn else : status = 0 elif (id == 5 and turn == 0 and status == 1 and demo == 0) or (id == 5 and demo == 1 and status == 1 and turn == player.side and turn == 0): @@ -1876,7 +1878,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 1 + turn = 1 - turn else : status = 0 elif (id == 6 and turn == 0 and status == 1 and demo == 0) or (id == 6 and demo == 1 and status == 1 and turn == player.side and turn == 0): @@ -1890,7 +1892,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 1 + turn = 1 - turn else : status = 0 elif (id == 7 and turn == 0 and status == 1 and demo == 0) or (id == 7 and demo == 1 and status == 1 and turn == player.side and turn == 0): @@ -1904,7 +1906,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 1 + turn = 1 - turn else : status = 0 elif (id == 8 and turn == 1 and status == 2 and demo == 0) or (id == 8 and turn == player.side and status == 2 and demo == 1 and turn == 1): @@ -1918,7 +1920,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 0 + turn = 1 - turn else : status = 0 elif (id == 9 and turn == 1 and status == 2 and demo == 0) or (id == 9 and turn == player.side and status == 2 and demo == 1 and turn == 1): @@ -1932,7 +1934,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 0 + turn = 1 - turn else : status = 0 elif (id == 10 and turn == 1 and status == 2 and demo == 0) or (id == 10 and turn == player.side and status == 2 and demo == 1 and turn == 1): @@ -1946,7 +1948,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 0 + turn = 1 - turn else : status = 0 elif (id == 11 and turn == 1 and status == 2 and demo == 0) or (id == 11 and turn == player.side and status == 2 and demo == 1 and turn == 1): @@ -1960,7 +1962,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 0 + turn = 1 - turn else : status = 0 elif (id == 12 and turn == 1 and status == 2 and demo == 0) or (id == 12 and turn == player.side and status == 2 and demo == 1 and turn == 1): @@ -1974,7 +1976,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 0 + turn = 1 - turn else : status = 0 elif (id == 13 and turn == 1 and status == 2 and demo == 0) or (id == 13 and turn == player.side and status == 2 and demo == 1 and turn == 1): @@ -1988,7 +1990,7 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 0 + turn = 1 - turn else : status = 0 elif (id == 14 and turn == 1 and status == 2 and demo == 0) or (id == 14 and turn == player.side and status == 2 and demo == 1 and turn == 1): @@ -2002,16 +2004,17 @@ def main(): status = 0 if (demo == 1): C.move(client, player.game_id, 1 - player.side, (id+7) % 14, old_x, old_y, x, y) - turn = 0 + turn = 1 - turn else : status = 0 elif (demo == 1 or demo == 2) and player.id and turn != player.side and player.invalid == 1 and player.status_2 == -1: + print("in") counterpart_id = player.id counterpart_old_x , counterpart_old_y = Axis.axis[counterpart_id]['old_x'],Axis.axis[counterpart_id]['old_y'] counterpart_x ,counterpart_y = Axis.axis[counterpart_id]['x'],Axis.axis[counterpart_id]['y'] - if counterpart_id == 1 and turn == 0: + if counterpart_id == 1 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 8 <= MAP[counterpart_x][counterpart_y] <= 14: ID[MAP[counterpart_x][counterpart_y]] = 0 r_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2019,9 +2022,9 @@ def main(): l_mouse.x , l_mouse.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 2 and turn == 0: + elif counterpart_id == 2 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 8 <= MAP[counterpart_x][counterpart_y] <= 14: ID[MAP[counterpart_x][counterpart_y]] = 0 r_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2029,9 +2032,9 @@ def main(): l_eagle.x , l_eagle.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 3 and turn == 0: + elif counterpart_id == 3 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 8 <= MAP[counterpart_x][counterpart_y] <= 14: r_animals -= 1 ID[MAP[counterpart_x][counterpart_y]] = 0 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2039,9 +2042,9 @@ def main(): l_fox.x , l_fox.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 4 and turn == 0: + elif counterpart_id == 4 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 8 <= MAP[counterpart_x][counterpart_y] <= 14: ID[MAP[counterpart_x][counterpart_y]] = 0 r_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2049,9 +2052,9 @@ def main(): l_wolf.x , l_wolf.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 5 and turn == 0: + elif counterpart_id == 5 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 8 <= MAP[counterpart_x][counterpart_y] <= 14: ID[MAP[counterpart_x][counterpart_y]] = 0 r_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2059,9 +2062,9 @@ def main(): l_leopard.x , l_leopard.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 6 and turn == 0: + elif counterpart_id == 6 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 8 <= MAP[counterpart_x][counterpart_y] <= 14: ID[MAP[counterpart_x][counterpart_y]] = 0 r_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2069,9 +2072,9 @@ def main(): l_lion.x , l_lion.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 7 and turn == 0: + elif counterpart_id == 7 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 8 <= MAP[counterpart_x][counterpart_y] <= 14: ID[MAP[counterpart_x][counterpart_y]] = 0 r_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2079,9 +2082,9 @@ def main(): l_elephant.x , l_elephant.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 8 and turn == 1: + elif counterpart_id == 8 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 1 <= MAP[counterpart_x][counterpart_y] <= 7: ID[MAP[counterpart_x][counterpart_y]] = 0 l_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2089,9 +2092,9 @@ def main(): r_mouse.x , r_mouse.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 9 and turn == 1: + elif counterpart_id == 9 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 1 <= MAP[counterpart_x][counterpart_y] <= 7: ID[MAP[counterpart_x][counterpart_y]] = 0 l_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2099,9 +2102,9 @@ def main(): r_eagle.x , r_eagle.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 10 and turn == 1: + elif counterpart_id == 10 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 1 <= MAP[counterpart_x][counterpart_y] <= 7: ID[MAP[counterpart_x][counterpart_y]] = 0 l_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2109,9 +2112,9 @@ def main(): r_fox.x , r_fox.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 11 and turn == 1: + elif counterpart_id == 11 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 1 <= MAP[counterpart_x][counterpart_y] <= 7: ID[MAP[counterpart_x][counterpart_y]] = 0 l_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2119,9 +2122,9 @@ def main(): r_wolf.x , r_wolf.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 12 and turn == 1: + elif counterpart_id == 12 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 1 <= MAP[counterpart_x][counterpart_y] <= 7: ID[MAP[counterpart_x][counterpart_y]] = 0 l_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2129,9 +2132,9 @@ def main(): r_leopard.x , r_leopard.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 13 and turn == 1: + elif counterpart_id == 13 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 1 <= MAP[counterpart_x][counterpart_y] <= 7: ID[MAP[counterpart_x][counterpart_y]] = 0 l_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2139,9 +2142,9 @@ def main(): r_lion.x , r_lion.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif counterpart_id == 14 and turn == 1: + elif counterpart_id == 14 : if MAP[counterpart_x][counterpart_y] != counterpart_id: - if 1 <= MAP[counterpart_x][counterpart_y] <= 14: + if 1 <= MAP[counterpart_x][counterpart_y] <= 7: ID[MAP[counterpart_x][counterpart_y]] = 0 l_animals -= 1 MAP[counterpart_old_x][counterpart_old_y] = MAP1[counterpart_old_x][counterpart_old_y] @@ -2149,8 +2152,9 @@ def main(): r_elephant.x , r_elephant.y = init.tran(counterpart_x,counterpart_y) turn = (1-turn) player.invalid = 0 - elif demo == 2 and player.id and turn == player.id: - id,x,y = DLS.depthLimitedSearch2(Axis.axis,player.id)#TODO:AI algorithm + elif demo == 2 and player.side and turn == player.side: + id,x,y = DLS.depthLimitedSearch2(Axis.axis,player.side)#TODO:AI algorithm + print(id,x,y) if id == 1: if 8 <= MAP[x][y] <= 14: ID[MAP[x][y]] = 0 @@ -2347,6 +2351,7 @@ def main(): Axis.axis[id]["y"] = y r_elephant.x, r_elephant.y = init.tran(x, y) turn = (1 - turn) + C.move(client, player.game_id, 1 - player.side, (id + 7) % 14, old_x, old_y, x, y) draw_window(l_elephant, l_eagle, l_wolf, l_lion, l_leopard, l_mouse, l_fox, r_elephant, r_eagle, r_wolf, r_lion, diff --git a/src/start_game.py b/src/start_game.py index cd8b055..5325d13 100644 --- a/src/start_game.py +++ b/src/start_game.py @@ -59,11 +59,13 @@ def starting_screen(): play_button = Button('Single Play!', WHITE, None, 350, centered_x=True) Oplay_button = Button('Online Play!', WHITE, None, 400, centered_x=True) - exit_button = Button('Exit!', WHITE, None, 450, centered_x=True) + AIplay_button = Button('AI Play!', WHITE, None, 450, centered_x=True) + exit_button = Button('Exit!', WHITE, None, 500, centered_x=True) play_button.display() Oplay_button.display() exit_button.display() + AIplay_button.display() pygame.display.update() @@ -79,13 +81,19 @@ def starting_screen(): else: Oplay_button = Button('Online Play!', WHITE, None, 400, centered_x=True) + if AIplay_button.check_click(pygame.mouse.get_pos()): + AIplay_button = Button('AI Play!', RED, None, 450, centered_x=True) + else: + AIplay_button = Button('AI Play!', WHITE, None, 450, centered_x=True) + if exit_button.check_click(pygame.mouse.get_pos()): - exit_button = Button('Exit!', RED, None, 450, centered_x=True) + exit_button = Button('Exit!', RED, None, 500, centered_x=True) else: - exit_button = Button('Exit!', WHITE, None, 450, centered_x=True) + exit_button = Button('Exit!', WHITE, None, 500, centered_x=True) play_button.display() Oplay_button.display() + AIplay_button.display() exit_button.display() pygame.display.update() @@ -98,6 +106,8 @@ def starting_screen(): return 1 if Oplay_button.check_click(pygame.mouse.get_pos()): return 2 + if AIplay_button.check_click(pygame.mouse.get_pos()): + return 3 if exit_button.check_click(pygame.mouse.get_pos()): return 0