Skip to content

Commit

Permalink
Merge branch 'develop' into #23-Estrutura-do-projeto
Browse files Browse the repository at this point in the history
  • Loading branch information
FilhoDoan authored Dec 4, 2023
2 parents db32723 + ac0a7af commit 212ef11
Show file tree
Hide file tree
Showing 45 changed files with 774 additions and 95 deletions.
34 changes: 34 additions & 0 deletions game/Banco/Instancia.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,37 @@ def consultarInstanciaEspecifica(self, personagem: int, numero: int):
finally:
cursor.close()

def atualizarVidaInstanciaID(self, IDinstancia: int, numeroInstancia: int, novaVida: int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"""UPDATE instancia SET vida = '{novaVida}' WHERE personagem = '{IDinstancia}' AND numero = '{numeroInstancia}'; """)
linhas_afetadas = cursor.rowcount
conexao.commit()

if linhas_afetadas == 0:
print("Não há dados na tabela que correspondam à condição de atualização.")
except psycopg2.Error as e:
print("Erro ao atualizar a vida da instância:", e)
finally:
cursor.close()



def getInstanciaID(self, personagem: int, numero: int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"SELECT * FROM instancia WHERE personagem = '{personagem}' AND numero = '{numero}';")
consulta = cursor.fetchall()

if not consulta:
print("Não há nenhuma instancia com essas caracteristicas\n")
else:
return consulta

except psycopg2.Error as e:
print("Não foi possivel fazer essa consulta")

finally:
cursor.close()
19 changes: 18 additions & 1 deletion game/Banco/InstanciaItem.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,24 @@ def consultarInstanciaItemPK(self, IDitem:int, numeroItem:int):
print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n")
finally:
cursor.close()


def consultarInstanciaItemJogador(self, Personagem:int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"SELECT I.IDitem FROM Item I JOIN InstanciaItem Ia ON I.IDitem = Ia.IDitem"
f"JOIN Inventario Inv ON Ia.IDinv = Inv.IDinv"
f"JOIN Personagem P ON Inv.Personagem = P.IDpersonagem"
f"WHERE P.IDpersonagem = {Personagem};")
consulta = cursor.fetchall()
if not consulta:
print("Não foi há instanciaItem cadastrados\n")
else:
return consulta
except psycopg2.IntegrityError as e:
print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n")
finally:
cursor.close()
def consultarInstanciaItem(self):
try:
conexao = self.db.conexao
Expand Down
91 changes: 91 additions & 0 deletions game/Banco/Inventario.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,95 @@ def consultarInventarioEspecifico(self, IDinv:int):
print("Erro ao consultar Inventario", e)
finally:
cursor.close()

def consultarInventarioArmasID(self,personagem: int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"SELECT ia.iditem, ar.nome, ar.dano "
f"FROM instanciaitem ia "
f"JOIN inventario i ON ia.idinv = i.idinv "
f"JOIN armamento ar ON ia.iditem = ar.item "
f"WHERE i.personagem = '{personagem}';")
consulta = cursor.fetchall()
if consulta:
for x in consulta:
print(x)
else:
print("Parece que você não tem itens do tipo armamento\n")
except psycopg2.IntegrityError as e:
print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n")
finally:
cursor.close()

def getInventarioArmasID(self,personagem: int, IdArma: int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"SELECT ia.iditem, ar.nome, ar.dano "
f"FROM instanciaitem ia "
f"JOIN inventario i ON ia.idinv = i.idinv "
f"JOIN armamento ar ON ia.iditem = ar.item "
f"WHERE i.personagem = '{personagem}';")
consulta = cursor.fetchall()
if consulta:
return consulta
except psycopg2.IntegrityError as e:
print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n")
finally:
cursor.close()

def consultarInventarioConsumiveisID(self,personagem: int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"SELECT ia.iditem, po.nome, po.cura, po.usos "
f"FROM instanciaitem ia "
f"JOIN inventario i ON ia.idinv = i.idinv "
f"JOIN consumivel po ON ia.iditem = po.item "
f"WHERE i.personagem = '{personagem}';")
consulta = cursor.fetchall()
if consulta:
for x in consulta:
print(x)
else:
print("Parece que você não tem itens do tipo Consumivel\n")
except psycopg2.IntegrityError as e:
print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n")
finally:
cursor.close()

def getInventarioConsumiveisID(self,personagem: int, IdPocao: int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"SELECT ia.iditem, po.nome, po.cura, po.usos "
f"FROM instanciaitem ia "
f"JOIN inventario i ON ia.idinv = i.idinv "
f"JOIN consumivel po ON ia.iditem = po.item "
f"WHERE i.personagem = '{personagem}' AND po.item = '{IdPocao}';")
consulta = cursor.fetchall()
if consulta:
return consulta
except psycopg2.IntegrityError as e:
print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n")
finally:
cursor.close()

def verItensInventario(self, IDpersonagem:int):
try:
conexao=self.db.conexao
cursor=conexao.cursor()
cursor.execute(f"""SELECT I.IDitem FROM Item I """
f"""JOIN InstanciaItem Ia ON I.IDitem = Ia.IDitem """
f"""JOIN Inventario Inv ON Ia.IDinv = Inv.IDinv """
f"""JOIN Personagem P ON Inv.Personagem = P.IDpersonagem """ # Adicionando um espaço aqui
f"""WHERE P.IDpersonagem = {IDpersonagem};""")
conexao.commit()
resultado=cursor.fetchall()
if resultado:
print(resultado[0])
except psycopg2.Error as e:
print("Erro ao consultar Inventario", e)
finally:
cursor.close()
15 changes: 15 additions & 0 deletions game/Banco/Npc.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,21 @@ def deletarNPC(self, IDpersonagem:int):
print("Erro ao deletar NPC", e )
finally:
cursor.close()

def getNPCID(self,Personagem:int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"""Select * from NPC where personagem = {Personagem}; """)
consultarNPC = cursor.fetchall()
if(consultarNPC == []):
print("Não existe nenhum NPC com esse ID ")
else:
return consultarNPC
except psycopg2.Error as e:
print("Erro ao cosultar os NPC's", e )
finally:
cursor.close()



58 changes: 39 additions & 19 deletions game/Banco/Pc.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ def criarPc(self, personagem:int, nome,
cursor.execute(f"""insert into pc values({personagem},'{nome}',{xp},
{vida},{lvl},{dinheiro},'{especie}',{forca},{defesa},{local});""")
conexao.commit()
return print("PC criado com sucesso")
except psycopg2.Error as e:
print("Erro ao inserir PC", e)
finally:
Expand All @@ -38,21 +37,32 @@ def consultarPC(self):
finally:
cursor.close()

def consultarPCID(self,Personagem:int):
def consultarPCNome(self, Nome:str):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"""Select * from PC where personagem = {Personagem}; """)
consultarNPC = cursor.fetchall()
if(consultarNPC == []):
print("Não existe nenhum PC com esse ID ")
else:
for x in consultarNPC:
print(x)
cursor.execute(f"""Select * from PC where nome = '{Nome}'; """)
consultarPC = cursor.fetchall()
return consultarPC
except psycopg2.Error as e:
print("Erro ao cosultar os PC's", e )
finally:
cursor.close()

def atualizarVidaPCID(self,personagem: int, novaVida: int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"""UPDATE pc SET vida = {novaVida} where personagem = '{personagem}'; """)
linhas_afetadas = cursor.rowcount
conexao.commit()

if linhas_afetadas == 0:
print("Não há dados na tabela que correspondam à condição de atualização.")
except psycopg2.Error as e:
print("Erro ao atualizar a vida do pc:", e)
finally:
cursor.close()

def getPC(self,Personagem:int):
try:
Expand All @@ -70,29 +80,39 @@ def getPC(self,Personagem:int):
cursor.close()


def deletarNPC(self, IDpersonagem:int):
def deletarPC(self, IDpersonagem:int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"""delete from npc where personagem = {IDpersonagem}""")
cursor.execute(f"""delete from pc where personagem = {IDpersonagem}""")
conexao.commit()
except psycopg2.Error as e:
print("Erro ao deletar NPC", e )
print("Erro ao deletar PC", e )
finally:
cursor.close()


def updatePc(self,Personagem:int, Nome:set):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"""update pc set nome = '{Nome}' where personagem = {Personagem};""")
conexao.commit()
except psycopg2.Error as e:
print("Erro ao atualizar pc's ", e )
finally:
cursor.close()




def updatePcLocal(self,Personagem:int, Local:int):
try:
conexao = self.db.conexao
cursor = conexao.cursor()
cursor.execute(f"""update pc set local = {Local} where personagem = {Personagem}; """)
consultarNPC = cursor.fetchall()
if(consultarNPC == []):
print("Não existe nenhum PC com esse ID ")
else:
return consultarNPC
cursor.execute(f"""update pc set local = {Local} where personagem = {Personagem};""")
conexao.commit()
except psycopg2.Error as e:
print("Erro ao cosultar os PC's", e )
finally:
cursor.close()

3 changes: 2 additions & 1 deletion game/Banco/Personagem.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ def criarPersonagem(self, IDpersonagem:int,ATC:bool):
cursor = conexao.cursor()
cursor.execute(f"""insert into personagem values({IDpersonagem},{ATC});""")
insercaoPersonagem = conexao.commit()
return print("Personagem criado com sucesso")
except psycopg2.Error as e:
print("Erro ao inserir personagem", e)
finally:
Expand Down Expand Up @@ -61,5 +60,7 @@ def deletarPersonagem(self, IDpersonagem:int):
finally:
cursor.close()





Loading

0 comments on commit 212ef11

Please sign in to comment.