Skip to content

Commit e27f50b

Browse files
authored
Merge pull request #24 from yugu0202/develop
ログ出力システムの変更
2 parents 13c586f + 3e5b677 commit e27f50b

File tree

3 files changed

+15
-12
lines changed

3 files changed

+15
-12
lines changed

BoardManager.py

+3
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ def set_map(self,file_date):
3333
self.cool_position = list(map(int,file_line.split(":")[1].split(",")))
3434
self.cool_position.reverse()
3535

36+
def get_map_str(self):
37+
return "\n".join([",".join(map(str,line)) for line in self.map_data])
38+
3639
def get_ready(self, character):
3740
if character == "hot":
3841
position = self.hot_position

Logger.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
import shutil
2-
31
class Logger:
42
def __init__(self,log_path:str,map_path:str):
53
self.path = log_path
6-
shutil.copyfile(map_path,self.path)
7-
with open(self.path,mode="a") as f:
8-
f.write("mapend")
4+
with open(map_path, mode="r") as f:
5+
data = "".join(list(map(lambda x: x[2:],f.readlines())))
6+
7+
with open(self.path, mode="w") as f:
8+
f.write(data);
99

1010
def set_name(self,cool_name:str,hot_name:str):
1111
with open(self.path,mode="a") as f:
12-
f.write(f"\n{cool_name},{hot_name}")
12+
f.write(f"{cool_name},{hot_name}")
1313

14-
def action(self,character:str,command:str):
14+
def action(self,map_data:str,cool_pos:str,hot_pos:str,cool_item:int,hot_item:int):
1515
with open(self.path,mode="a") as f:
16-
f.write(f"\n{character},{command}")
16+
f.write(f"\n{map_data}\n{cool_pos}\n{hot_pos}\n{cool_item},{hot_item}")
1717

1818
def result(self,player:str,result:str,reason:str):
1919
winner = None

server.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def setup(cool,hot):
130130
#キャラクター行動処理一回分
131131
def battle(character,logger,board_manager):
132132
character.send("@") #開始の合図
133-
recieve = recieve_action(character,logger)
133+
recieve = recieve_action(character)
134134
if recieve != "gr":
135135
board_manager.game_over = True
136136
board_manager.go_reason = "{character.tag} bad request"
@@ -140,15 +140,16 @@ def battle(character,logger,board_manager):
140140
character.send(result) #行動後のデータ
141141
if board_manager.game_over:
142142
return
143-
recieve = recieve_action(character,logger) # walk look search put
143+
recieve = recieve_action(character) # walk look search put
144144
data = board_manager.char_action(character.tag,recieve)
145+
logger.action(board_manager.get_map_str(),",".join(map(str,reversed(board_manager.cool_position))),",".join(map(str,reversed(board_manager.hot_position))),board_manager.cool_item,board_manager.hot_item)
145146
result = "".join(map(str,data))
146147
character.send(result)
147148
if board_manager.game_over:
148149
return
149150
recieve = character.recieve() #ここは終了の合図 #が来る
150151

151-
def recieve_action(character,logger):
152+
def recieve_action(character):
152153
recieve = character.recieve()
153154
if not recieve:
154155
print(f"{character.tag} is lose\nreason: lost connection", file=sys.stderr)
@@ -158,7 +159,6 @@ def recieve_action(character,logger):
158159
print(f"{character.tag} is lose\nreason: command {recieve} does not exists", file=sys.stderr)
159160
logger.result(character.tag,"lose",f"{character.tag} sent a command that does not exist. command: {recieve}")
160161
sys.exit(1)
161-
logger.action(character.tag,recieve)
162162
return recieve
163163

164164
if __name__ == "__main__":

0 commit comments

Comments
 (0)