abandoned code deleted; bug fixed

This commit is contained in:
a91082900 2018-06-01 22:16:18 +08:00 committed by GitHub
parent ea6fe595f6
commit a4684984ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 66 deletions

16
card.py
View File

@ -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

View File

@ -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 # 牌抽乾了就讓他死

18
pyws.py
View File

@ -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,7 +117,6 @@ 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())
@ -146,7 +137,6 @@ async def handler(websocket, path):
except asyncio.CancelledError:
pass
print("SADDDDDD", "FIRST" if websocket == sad else "SECOND")
elif websocket.status == Room.PLAYING:
@ -154,10 +144,8 @@ async def handler(websocket, path):
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")

30
room.py
View File

@ -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[:]
@ -143,12 +122,6 @@ class Room:
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