Professional Documents
Culture Documents
Disconnected Notes List
Disconnected Notes List
class lobby:
def __init__(self,mode,player1):
self.gamemode = mode
self.player1 = player1
self.player2 = None
self.player3 = None
self.player4 = None
self.status = None
def reset(self):
self.gamemode = self.mode
self.player1 = None
self.player2 = None
self.player3 = None
self.player4 = None
self.status = None
def isfull(self):
if self.player1 == None or self.player2 == None or self.player3 == None
or self.player4 == None:
return False
return True
def hasuser(self,user):
if user in [self.player1,self.player2,self.player3,self.player4]:
return True
return False
def join(self,user,message):
if self.player1 == None:
self.player1 = user
return
if self.player2 == None:
self.player2 = user
return
if self.player3 == None:
self.player3 = user
return
if self.player4 == None:
self.player4 = user
return
def kick(self,user):
if self.player1 == user:
self.player1 = None
return
if self.player2 == user:
self.player2 = None
return
if self.player3 == user:
self.player3 = None
return
if self.player4 == user:
self.player4 = None
return
user1= client.get_user(self.player1)
message1 = await user1.send('Your game starts in 3 minutes')
try:
user2 = client.get_user(self.player2)
message2 = await user2.send('Your game starts in 3 minutes')
except:
message2 = await self.message2.channel.send('Your game starts in 3
minutes')
try:
user3 = client.get_user(self.player3)
message3 = await user3.send('Your game starts in 3 minutes')
except:
message3 = await self.message3.channel.send('Your game starts in 3
minutes')
try:
user4 = client.get_user(self.player4)
message4 = await user4.send('Your game starts in 3 minutes')
except:
message4 = await self.message4.channel.send('Your game starts in 3
minutes')
await asyncio.sleep(180)
random.shuffle(sequence)
monochoices = self.monopolyview(sequence[0])
while len(sequence) != 0:
biggerbreak = False
for player in sequence:
if len(sequence) == 1:
biggerbreak = True
break
try:
await player
class monopolyview(discord.ui.View):
def __init__(self,id):
super().__init__(timeout=10)
self.user=id
self.value = None
@discord.ui.button(label="Roll",style=
discord.ButtonStyle.green,emoji='🎲')
async def confirm(self,interaction: discord.Interaction, button:
discord.ui.Button):
await interaction.response.defer()
if self.user == interaction.user.id:
self.rolled = False
@discord.ui.button(label= 'Pick it
up',style=discord.ButtonStyle.red,emoji='🖐️')
async def cancel(self,interaction: discord.Interaction, button:
discord.ui.Button):
await interaction.response.defer()
if self.user == interaction.user.id:
self.picked = False
def update(self,lay1,lay2):
for i in self.children:
if i.label == 'Confirm':
i.label=lay1[0]
i.emoji=lay1[1]
i.style=lay1[2]
else:
i.label=lay2[0]
i.emoji=lay2[1]
i.style=lay2[2]
class startview(discord.ui.View):
def __init__(self,id):
super().__init__(timeout=10)
self.user = id
self.value = None
@discord.ui.button(label="Monopoly",style= discord.ButtonStyle.green)
async def confirm(self,interaction: discord.Interaction, button:
discord.ui.Button):
await interaction.response.defer()
if self.user == interaction.user.id:
self.value = 'monopoly'
self.stop()
lobbylist = []
@client.command()
async def start(msg):
playerinlobby = False
for i in lobbylist:
if lobby.hasuser(msg.author.id):
playerinlobby=True
break
if playerinlobby == True:
mode = view.value
action=None
specloblist = [x for x in lobbylist if x.gamemode == mode]
join = False
index = False
for i in range(len(specloblist)):
if i.isfull():
continue
index = i
join = True
action='join'
break
if join == False and index == False:
action='create'
if action == 'join':
targetlobby=specloblist[index]
targetlobby.join(msg.author.id,msg)
await message.edit(content='you joined a lobby')
return
if action == 'create':
targetlobby = lobby(mode=mode,player1 = msg.author.id)
lobbylist.append(targetlobby)
targetlobby.start()
try:
await message.edit(content='you created a lobby, make sure our dms
are turned on, so that i can inform you when your game is ready')
except:
await msg.reply('i cannot dm you, please enable dms')
#make selectgamemode