From a4684984ef51804bc1c3106b408f2949a6be0337 Mon Sep 17 00:00:00 2001 From: a91082900 Date: Fri, 1 Jun 2018 22:16:18 +0800 Subject: [PATCH] abandoned code deleted; bug fixed --- card.py | 16 ++++------------ game.py | 6 ------ pyws.py | 22 +++++----------------- room.py | 32 +------------------------------- 4 files changed, 10 insertions(+), 66 deletions(-) diff --git a/card.py b/card.py index ebce663..dec03e3 100644 --- a/card.py +++ b/card.py @@ -3,13 +3,9 @@ import game from room import Room from json import dumps +unattackable = ['2','8','14'] +unrobable = ['8','17'] -cards = dict() -card_name = ["1.攻擊","2.防禦","3.治癒","4.補給","5.強奪","6.奇襲","7.交易","8.洞悉","9.妙策","10.掃射","11.加護","12.劇毒","13.詛咒","14.反制","15.狂亂","16.逆轉"] -unattackable = ['2','8','14','17','18'] -unrobable = ['8','17','18'] -for i in range(len(card_name)): - cards[str(i+1)] = card_name[i] # initialize cards # create default deck """ 攻擊*7 防禦*7 治癒*7 @@ -188,11 +184,7 @@ def plan(wscur,wsene): )) cur.planning = options cur.status = Room.PLAN - """while True: - choice = input("選擇一張卡加入手牌 ") - if choice in options: - cur.add_card(choice) - break""" + return r def sweep(wscur,wsene): @@ -280,7 +272,7 @@ def counter(wscur,wsene): def chaos(wscur,wsene): cur, ene = wscur.player, wsene.player r = [] - r.append(( (wsene,wscur), dumps({"msg": "reverse", "data": [cur.name, ene.name]}))) + r.append(( (wsene,wscur), dumps({"msg": "chaos", "data": [cur.name, ene.name]}))) cur.life += 3 ene.life -= 3 diff --git a/game.py b/game.py index 43a38d9..a024801 100644 --- a/game.py +++ b/game.py @@ -57,12 +57,6 @@ class Player: # game functions -def health(p1,p2): - return "{} 的生命: {}\n{} 的生命: {}".format(p1.name,p1.life, p2.name, p2.life) - -def display(player): - return "這是 {} 的手牌\n{}".format(player.name, player.display) - def draw(player): # 抽卡 if len(player.deck) == 0: player.life = -99999999 # 牌抽乾了就讓他死 diff --git a/pyws.py b/pyws.py index ceb11ea..6e273f4 100644 --- a/pyws.py +++ b/pyws.py @@ -10,14 +10,7 @@ from json import dumps, loads import ssl connected = {-1: []} -character = dict() -name=["安","圭月","梅","小兔","銀","正作","W","桑德","海爾","雪村"] -for i in range(len(name)): - character[str(i+1)] = name[i] - - -sad = None fut = None wait_fut = [0, 0] async def wait(websocket, *cors, timeout=45, futs=None): @@ -53,7 +46,7 @@ def random_room(room_list): async def enter_room(websocket): - global connected ,sad, fut + global connected, fut room_list = [room_id for room_id in connected if len(connected[room_id])<2 and room_id != -1] #print("I'm here") @@ -81,7 +74,6 @@ async def enter_room(websocket): if count+1 == 1: # 該玩家已加入房間 await websocket.send(str(room_id)) - sad = websocket else: players = connected[websocket.room].start() @@ -95,7 +87,7 @@ async def enter_room(websocket): for ws_list, message in Room.start_turn(*players): await sendTo(message, *ws_list) async def handler(websocket, path): - global connected,sad, fut, wait_fut, rooms + global connected, fut, wait_fut, rooms print("initialize") # Register. connected[-1].append(websocket) @@ -125,8 +117,7 @@ async def handler(websocket, path): if websocket.status == Room.MATCHING: await enter_room(websocket) elif websocket.status == Room.WAITING: - print("SAD", "FIRST" if websocket == sad else "SECOND") - + fut = asyncio.ensure_future(websocket.recv()) try: @@ -146,18 +137,15 @@ async def handler(websocket, path): except asyncio.CancelledError: pass - print("SADDDDDD", "FIRST" if websocket == sad else "SECOND") - + elif websocket.status == Room.PLAYING: try: enemy = 0 if websocket == connected[websocket.room].players[1] else 1 wait_fut[(enemy+1)%2] = asyncio.ensure_future(websocket.recv()) - print("wait for", "FIRST" if websocket == sad else "SECOND") message = await wait(websocket, timeout=30, futs=[wait_fut[(enemy+1)%2]]) print("received message", message) - print("FIRST" if websocket == sad else "SECOND", ":", message) if message == "exception": break message_to_send = connected[websocket.room].process(websocket, message) @@ -174,7 +162,7 @@ async def handler(websocket, path): except asyncio.CancelledError: - print("FIRST" if websocket == sad else "SECOND", "was Canceled\n\n") + print("Canceled\n\n") diff --git a/room.py b/room.py index acbc9af..51e6f07 100644 --- a/room.py +++ b/room.py @@ -47,27 +47,6 @@ class Room: pass - - """async def start(self): - p1, p2 = self.players[0].player, self.players[1].player - first = random.choice([p1, p2]) - print(first, p1, p2) - first.playing = True # so the first one will be random - await sendTo(first.name + "先攻", *self.players) - print(first.name,"先攻") - print() # change line - for _ in range(3): # 初始手牌*3 - game.draw(p1) - game.draw(p2) - - while p1.life > 0 and p2.life > 0: - print("game.turn start") - await game.turn(self.players[0], self.players[1]) - print("game.turn end") - if p1.life <= 0: - print("{} 獲勝".format(p2.name)) - elif p2.life <= 0: - print("{} 獲勝".format(p1.name))""" def start(self): # initialize the game p1, p2 = self.players[0].player, self.players[1].player ws_list = self.players[:] @@ -142,13 +121,7 @@ class Room: message_to_send.append(( (wscur,), dumps({"msg": "win", "data": ["player"]}))) message_to_send.append(( (wsene,), dumps({"msg": "win", "data": ["enemy"]}))) - - - - #await sendTo(health(p1,p2), wsp1, wsp2) - #await sendTo(draw(cur), wsp1, wsp2) # 抽卡 - #message_to_send.append(( (wscur,), game.display(cur))) # 顯示手牌 - #message_to_send.append(( (wscur,), "請問要使用手牌嗎? 若不使用請輸入0")) + return message_to_send def process(self, wscur, message): # cur is the person who send message to server @@ -176,9 +149,6 @@ class Room: cur.status = self.NOTHING message_to_send.extend(Room.start_turn(wsene, wscur)) - """elif choice == "-1": - cur.surrender() - {}投降".format(cur.name)""" elif cur.status == self.ROBBING: swag = choice