| 321 | |
| 322 | |
| 323 | class Recorder: |
| 324 | def __init__(self): |
| 325 | self.data = [] |
| 326 | self.winner = None |
| 327 | self.remain_chips = 0 |
| 328 | self.rounds = 0 |
| 329 | self.player_win_count = 0 |
| 330 | self.dealer_win_count = 0 |
| 331 | self.player_point = 0 |
| 332 | self.dealer_point = 0 |
| 333 | |
| 334 | def update(self, winner, chips, player_point, dealer_point): |
| 335 | self.rounds += 1 |
| 336 | self.remain_chips = chips |
| 337 | self.winner = winner |
| 338 | if self.winner == "Player": |
| 339 | self.player_win_count += 1 |
| 340 | elif self.winner == "Dealer": |
| 341 | self.dealer_win_count += 1 |
| 342 | self.player_point = player_point |
| 343 | self.dealer_point = dealer_point |
| 344 | |
| 345 | def record(self, winner, chips, player_point, dealer_point): |
| 346 | self.update(winner, chips, player_point, dealer_point) |
| 347 | Row = namedtuple( |
| 348 | "Row", ["rounds", "player_point", "dealer_point", "winner", "remain_chips"] |
| 349 | ) |
| 350 | row = Row( |
| 351 | self.rounds, |
| 352 | self.player_point, |
| 353 | self.dealer_point, |
| 354 | self.winner, |
| 355 | self.remain_chips, |
| 356 | ) |
| 357 | self.data.append(row) |
| 358 | |
| 359 | def draw_diagram(self): |
| 360 | content = "Record display" |
| 361 | bars = "--" * 14 |
| 362 | content_bar = bars + content + bars |
| 363 | base_bar = bars + "-" * len(content) + bars |
| 364 | |
| 365 | os.system("clear") |
| 366 | print(base_bar) |
| 367 | print(content_bar) |
| 368 | print(base_bar) |
| 369 | self.digram() |
| 370 | print(base_bar) |
| 371 | print(content_bar) |
| 372 | print(base_bar) |
| 373 | |
| 374 | def digram(self): |
| 375 | title = "Round\tPlayer-Point\tDealer-Point\tWinner-is\tRemain-Chips" |
| 376 | row_fmt = "{}\t{}\t\t{}\t\t{}\t\t{}" |
| 377 | |
| 378 | print(title) |
| 379 | for row in self.data: |
| 380 | print( |