Skip to content

Commit 6972d73

Browse files
committed
historico txt feito e csv quebrando
1 parent 3313ed3 commit 6972d73

File tree

4 files changed

+60
-23
lines changed

4 files changed

+60
-23
lines changed

.idea/workspace.xml

Lines changed: 13 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

minesweeper/controller.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import model
1+
from model import To_json, To_txt, To_csv
22

33

44
class Controller:
@@ -123,11 +123,13 @@ def clear_timer(self):
123123
pass
124124

125125
def save_as_json(self):
126-
self.model.save.strategy = model.To_json()
126+
self.model.save.strategy = To_json()
127127
self.model.save_state()
128128

129129
def save_as_csv(self):
130-
pass
130+
self.model.save.strategy = To_csv()
131+
self.model.save_state()
131132

132133
def save_as_txt(self):
133-
pass
134+
self.model.save.strategy = To_txt()
135+
self.model.save_state()

minesweeper/historico.json

Lines changed: 0 additions & 12 deletions
This file was deleted.

minesweeper/model.py

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from cell import Cell
33
from abc import ABC, abstractmethod
44
import json
5+
import csv
56

67

78
class Model:
@@ -319,18 +320,55 @@ def create_file(self, model):
319320
json_dict["Random"] = rand_dict
320321

321322
json_obj = json.dumps(json_dict, indent=4)
322-
with open("historico.json", "a") as outfile:
323+
with open("historico.json", "w") as outfile:
323324
outfile.write(json_obj)
324325

325326

326327
class To_csv(TypeFile):
327328
def create_file(self, model):
328-
pass
329+
field_names = ['Nome', 'Tempo de Jogo']
330+
results = []
331+
if len(model.playersEasy) != 0:
332+
easy_dict = {}
333+
for player in model.playersEasy:
334+
easy_dict[player.get_nome()] = player.get_time()
335+
results.append(easy_dict)
336+
if len(model.playersRandom) != 0:
337+
rand_dict = {}
338+
for player in model.playersRandom:
339+
rand_dict[player.get_nome()] = player.get_time()
340+
results.append(rand_dict)
341+
with open('historico.csv', 'w') as csvfile:
342+
writer = csv.DictWriter(csvfile, fieldnames=field_names)
343+
writer.writeheader()
344+
writer.writerows(results)
329345

330346

331347
class To_txt(TypeFile):
332348
def create_file(self, model):
333-
pass
349+
with open('historico.txt', 'w') as arquivo:
350+
arquivo.write('Histórico dos Jogadores da Sessão\n')
351+
arquivo.write('Nome - Tempo de Jogo\n')
352+
if len(model.playersEasy) != 0:
353+
arquivo.write('EASY:\n')
354+
for player in model.playersEasy:
355+
arquivo.write(str(player.get_nome()) + ' - ' + str(player.get_time()) + '\n')
356+
357+
if len(model.playersMid) != 0:
358+
arquivo.write('MID:\n')
359+
for player in model.playersMid:
360+
arquivo.write(str(player.get_nome()) + ' - ' + str(player.get_time()) + '\n')
361+
362+
if len(model.playersHard) != 0:
363+
arquivo.write('HARD:\n')
364+
for player in model.playersHard:
365+
arquivo.write(str(player.get_nome()) + ' - ' + str(player.get_time()) + '\n')
366+
367+
if len(model.playersRandom) != 0:
368+
arquivo.write('RANDOM:\n')
369+
for player in model.playersRandom:
370+
arquivo.write(str(player.get_nome()) + ' - ' + str(player.get_time()) + '\n')
371+
arquivo.close()
334372

335373

336374
"""Context to choose option"""

0 commit comments

Comments
 (0)