aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/evergreen/battleship.py
diff options
context:
space:
mode:
Diffstat (limited to 'bot/exts/evergreen/battleship.py')
-rw-r--r--bot/exts/evergreen/battleship.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/bot/exts/evergreen/battleship.py b/bot/exts/evergreen/battleship.py
index c2f2079c..46694f6a 100644
--- a/bot/exts/evergreen/battleship.py
+++ b/bot/exts/evergreen/battleship.py
@@ -2,9 +2,9 @@ import asyncio
import logging
import random
import re
-import typing
from dataclasses import dataclass
from functools import partial
+from typing import Match, Optional
import discord
from discord.ext import commands
@@ -19,20 +19,20 @@ log = logging.getLogger(__name__)
class Square:
"""Each square on the battleship grid - if they contain a boat and if they've been aimed at."""
- boat: typing.Optional[str]
+ boat: Optional[str]
aimed: bool
-Grid = typing.List[typing.List[Square]]
-EmojiSet = typing.Dict[typing.Tuple[bool, bool], str]
+Grid = list[list[Square]]
+EmojiSet = dict[tuple[bool, bool], str]
@dataclass
class Player:
"""Each player in the game - their messages for the boards and their current grid."""
- user: typing.Optional[discord.Member]
- board: typing.Optional[discord.Message]
+ user: Optional[discord.Member]
+ board: Optional[discord.Message]
opponent_board: discord.Message
grid: Grid
@@ -110,10 +110,10 @@ class Game:
self.gameover: bool = False
- self.turn: typing.Optional[discord.Member] = None
- self.next: typing.Optional[discord.Member] = None
+ self.turn: Optional[discord.Member] = None
+ self.next: Optional[discord.Member] = None
- self.match: typing.Optional[typing.Match] = None
+ self.match: Optional[Match] = None
self.surrender: bool = False
self.setup_grids()
@@ -233,7 +233,7 @@ class Game:
self.bot.loop.create_task(message.add_reaction(CROSS_EMOJI))
return bool(self.match)
- async def take_turn(self) -> typing.Optional[Square]:
+ async def take_turn(self) -> Optional[Square]:
"""Lets the player who's turn it is choose a square."""
square = None
turn_message = await self.turn.user.send(
@@ -268,7 +268,7 @@ class Game:
await turn_message.delete()
return square
- async def hit(self, square: Square, alert_messages: typing.List[discord.Message]) -> None:
+ async def hit(self, square: Square, alert_messages: list[discord.Message]) -> None:
"""Occurs when a player successfully aims for a ship."""
await self.turn.user.send("Hit!", delete_after=3.0)
alert_messages.append(await self.next.user.send("Hit!"))
@@ -324,8 +324,8 @@ class Battleship(commands.Cog):
def __init__(self, bot: Bot) -> None:
self.bot = bot
- self.games: typing.List[Game] = []
- self.waiting: typing.List[discord.Member] = []
+ self.games: list[Game] = []
+ self.waiting: list[discord.Member] = []
def predicate(
self,