From 917e1f17c16f0640a6607168f9c0f5564122c988 Mon Sep 17 00:00:00 2001 From: HeBatalha Date: Thu, 23 Nov 2023 20:57:19 -0300 Subject: [PATCH 01/18] =?UTF-8?q?#11:=20Adicionando=20Trigger=20Generaliza?= =?UTF-8?q?=C3=A7=C3=A3o=20Personagem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/scripts/DDL/GeneralizacaoPersonagem.sql | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/game/scripts/DDL/GeneralizacaoPersonagem.sql b/game/scripts/DDL/GeneralizacaoPersonagem.sql index 1e3fcf7..ca76059 100644 --- a/game/scripts/DDL/GeneralizacaoPersonagem.sql +++ b/game/scripts/DDL/GeneralizacaoPersonagem.sql @@ -12,4 +12,20 @@ CREATE OR REPLACE FUNCTION check_pc() RETURNS trigger AS -- Procedure para checa CREATE TRIGGER check_pc -- Trigger para adicionar NPC BEFORE UPDATE OR INSERT ON npc FOR EACH ROW -EXECUTE PROCEDURE check_pc(); \ No newline at end of file +EXECUTE PROCEDURE check_pc(); + +CREATE OR REPLACE FUNCTION check_npc() RETURNS trigger AS -- Procedure para checar se o item adicionado ja pertence a npc + $check_npc$ + BEGIN + PERFORM * FROM npc WHERE Personagem = NEW.Personagem; + IF FOUND THEN + RAISE EXCEPTION 'O Id ja pertence a npc'; + END IF; + RETURN NEW; + END + $check_npc$ LANGUAGE plpgsql; + +CREATE TRIGGER check_npc -- Trigger para adicionar PC +BEFORE UPDATE OR INSERT ON pc +FOR EACH ROW +EXECUTE PROCEDURE check_npc(); \ No newline at end of file From 9f83d3dd98c41e69e27e5b06295635e4afe37bcb Mon Sep 17 00:00:00 2001 From: HeBatalha Date: Thu, 23 Nov 2023 21:10:31 -0300 Subject: [PATCH 02/18] =?UTF-8?q?#11:Espa=C3=A7o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/scripts/DDL/GeneralizacaoPersonagem.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game/scripts/DDL/GeneralizacaoPersonagem.sql b/game/scripts/DDL/GeneralizacaoPersonagem.sql index ca76059..f599b05 100644 --- a/game/scripts/DDL/GeneralizacaoPersonagem.sql +++ b/game/scripts/DDL/GeneralizacaoPersonagem.sql @@ -28,4 +28,4 @@ CREATE OR REPLACE FUNCTION check_npc() RETURNS trigger AS -- Procedure para chec CREATE TRIGGER check_npc -- Trigger para adicionar PC BEFORE UPDATE OR INSERT ON pc FOR EACH ROW -EXECUTE PROCEDURE check_npc(); \ No newline at end of file +EXECUTE PROCEDURE check_npc(); \ No newline at end of file From 549d0e96ff5b2dce2209c2ddda1602d82217da42 Mon Sep 17 00:00:00 2001 From: Arthur Miranda <121466324+Dyetrix@users.noreply.github.com> Date: Sat, 25 Nov 2023 11:09:34 -0300 Subject: [PATCH 03/18] Update CREATE TABLE HoraDeAventura.sql --- .../DDL/CREATE TABLE HoraDeAventura.sql | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/game/scripts/DDL/CREATE TABLE HoraDeAventura.sql b/game/scripts/DDL/CREATE TABLE HoraDeAventura.sql index 4fde98e..c67331b 100644 --- a/game/scripts/DDL/CREATE TABLE HoraDeAventura.sql +++ b/game/scripts/DDL/CREATE TABLE HoraDeAventura.sql @@ -138,17 +138,6 @@ create table Consumivel( foreign key (Item) references Item(IDItem) ); ---Tabela de n pra instanciaItem pra NPC -CREATE TABLE Dropa( - NPC INT, - numeroItem INT, - IDitem INT, - Chance FLOAT NOT NULL, - primary key(NPC, numeroItem, IDitem), - FOREIGN KEY (NPC) REFERENCES NPC(Personagem), - FOREIGN KEY (IDitem, numeroItem) REFERENCES InstanciaItem(IDitem, numeroItem) -); - CREATE TABLE Inventario ( IDinv INT PRIMARY KEY, QTD_de_itens INT, @@ -191,6 +180,17 @@ CREATE TABLE InstanciaItem ( foreign key (IDinv) references Inventario(IDinv) ); +--Tabela de n pra instanciaItem pra NPC +CREATE TABLE Dropa( + NPC INT, + numeroItem INT, + IDitem INT, + Chance FLOAT NOT NULL, + primary key(NPC, numeroItem, IDitem), + FOREIGN KEY (NPC) REFERENCES NPC(Personagem), + FOREIGN KEY (IDitem, numeroItem) REFERENCES InstanciaItem(IDitem, numeroItem) +); + Create Table Loja( Nome char(20), Funcionalidade char(20), @@ -212,4 +212,4 @@ Create Table PossuiItem( commit; end transaction; - \ No newline at end of file + From 1d3ca43b698f909cade58375c00c69cb33cefbf5 Mon Sep 17 00:00:00 2001 From: FilhoDoan Date: Sat, 2 Dec 2023 04:05:03 -0300 Subject: [PATCH 04/18] =?UTF-8?q?adicionando=20organiza=C3=A7=C3=A3o=20e?= =?UTF-8?q?=20chamadas=20de=20fun=C3=A7=C3=B5es=20dentro=20da=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/Banco/Pc.py | 2 +- game/Banco/Personagem.py | 3 +- game/Banco/PossuiHab.py | 94 ++++++++++++++++++ game/Banco/__init__.py | 3 +- .../__pycache__/Armadura.cpython-310.pyc | Bin 2643 -> 2643 bytes .../__pycache__/Armamento.cpython-310.pyc | Bin 2829 -> 2829 bytes game/Banco/__pycache__/Chefe.cpython-310.pyc | Bin 2204 -> 2204 bytes .../__pycache__/Consumivel.cpython-310.pyc | Bin 2692 -> 2692 bytes game/Banco/__pycache__/Contem.cpython-310.pyc | Bin 2145 -> 2145 bytes .../__pycache__/Database.cpython-310.pyc | Bin 617 -> 617 bytes game/Banco/__pycache__/Dropa.cpython-310.pyc | Bin 2828 -> 2828 bytes .../__pycache__/FazMissao.cpython-310.pyc | Bin 3326 -> 3326 bytes .../__pycache__/Habilidade.cpython-310.pyc | Bin 2678 -> 2678 bytes .../__pycache__/Instancia.cpython-310.pyc | Bin 3492 -> 3492 bytes .../__pycache__/InstanciaItem.cpython-310.pyc | Bin 2912 -> 2912 bytes .../__pycache__/Inventario.cpython-310.pyc | Bin 2414 -> 2414 bytes game/Banco/__pycache__/Item.cpython-310.pyc | Bin 2648 -> 2648 bytes game/Banco/__pycache__/Local.cpython-310.pyc | Bin 3144 -> 3144 bytes game/Banco/__pycache__/Loja.cpython-310.pyc | Bin 2370 -> 2370 bytes game/Banco/__pycache__/Missao.cpython-310.pyc | Bin 2357 -> 2357 bytes game/Banco/__pycache__/Mundo.cpython-310.pyc | Bin 2334 -> 2334 bytes game/Banco/__pycache__/Npc.cpython-310.pyc | Bin 2577 -> 2577 bytes game/Banco/__pycache__/Pc.cpython-310.pyc | Bin 3430 -> 3439 bytes .../__pycache__/Personagem.cpython-310.pyc | Bin 2464 -> 2389 bytes .../__pycache__/PossuiHab.cpython-310.pyc | Bin 0 -> 3361 bytes .../__pycache__/PossuiItem.cpython-310.pyc | Bin 2878 -> 2878 bytes .../PreRequisitoHab.cpython-310.pyc | Bin 2784 -> 2784 bytes .../PreRequistoMissao.cpython-310.pyc | Bin 2515 -> 2515 bytes game/Banco/__pycache__/Regiao.cpython-310.pyc | Bin 2287 -> 2287 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 684 -> 705 bytes game/__pycache__/game.cpython-310.pyc | Bin 851 -> 2303 bytes game/game.py | 42 +++++++- game/main.py | 75 +++++--------- 33 files changed, 166 insertions(+), 53 deletions(-) create mode 100644 game/Banco/PossuiHab.py create mode 100644 game/Banco/__pycache__/PossuiHab.cpython-310.pyc diff --git a/game/Banco/Pc.py b/game/Banco/Pc.py index d7717ef..1024879 100644 --- a/game/Banco/Pc.py +++ b/game/Banco/Pc.py @@ -16,7 +16,7 @@ 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") + return print("\nPersonagem criado com sucesso") except psycopg2.Error as e: print("Erro ao inserir PC", e) finally: diff --git a/game/Banco/Personagem.py b/game/Banco/Personagem.py index aa00200..fb5e991 100644 --- a/game/Banco/Personagem.py +++ b/game/Banco/Personagem.py @@ -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: @@ -61,5 +60,7 @@ def deletarPersonagem(self, IDpersonagem:int): finally: cursor.close() + + \ No newline at end of file diff --git a/game/Banco/PossuiHab.py b/game/Banco/PossuiHab.py new file mode 100644 index 0000000..6b4663a --- /dev/null +++ b/game/Banco/PossuiHab.py @@ -0,0 +1,94 @@ +import psycopg2 +from .Database import Database +from .Habilidade import Habilidade +from .Personagem import Personagem + +class PossuiHab: + def __init__(self): + self.db = Database() + pass + + def inserirPossuiHab(self, personagem:int, habilidade:int): + try: + conexao = self.db.conexao + cursor = conexao.cursor() + cursor.execute(f"""Insert into possuihab values({personagem},{habilidade});""") + inserirDropItem = conexao.commit() + return print("possuihab inserido com sucesso") + + except psycopg2.IntegrityError as e: + print(f"Erro ao inserir possuihab", e) + finally: + cursor.close() + + def consultarPossuiHabPK(self,personagem:int, habilidade:int): + try: + conexao = self.db.conexao + cursor = conexao.cursor() + cursor.execute(f"SELECT * FROM possuihab WHERE IDitem = {personagem} and loja = {habilidade};") + consulta = cursor.fetchall() + + if not consulta: + print("Não foi há possuiHab cadastrados\n") + else: + for x in consulta: + print(x) + return x + except psycopg2.IntegrityError as e: + print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n") + finally: + cursor.close() + + def consultarPossuiHab(self): + try: + conexao = self.db.conexao + cursor = conexao.cursor() + cursor.execute(f"SELECT * FROM possuiHab ;") + consulta = cursor.fetchall() + + if not consulta: + print("Não foi há itens cadastrados\n") + else: + for x in consulta: + print(x) + return x + except psycopg2.IntegrityError as e: + print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n") + finally: + cursor.close() + + def deletarPossuiHabilidaed(self, personagem:int, habilidade:int): + try: + conexao = self.db.conexao + cursor = conexao.cursor() + cursor.execute(f"DELETE FROM possuiHabilidade WHERE personagem = {personagem} and habilidade = {habilidade};") + delecaoFazMissao = conexao.commit() + return print("PossuiHab deletado com sucesso!\n") + + except psycopg2.IntegrityError as e: + print(f"Encontramos problemas ao fazer a delecao. Erro: {e}\n") + + finally: + cursor.close() + + def consultarPossuiHabPersonagem(self,personagem:int): + try: + conexao = self.db.conexao + cursor = conexao.cursor() + cursor.execute(f"SELECT IDhabilidade, Nome, Tempo_de_recarga, Dano " + f"FROM Habilidade " + f"INNER JOIN PossuiHab ON Habilidade = IDhabilidade " + f"WHERE Personagem = {personagem};") + consulta = cursor.fetchall() + if not consulta: + print("Não foi há possuiHab cadastrados\n") + else: + for x in consulta: + print(x) + return x + except psycopg2.IntegrityError as e: + print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n") + finally: + cursor.close() + + \ No newline at end of file diff --git a/game/Banco/__init__.py b/game/Banco/__init__.py index 4c7a7cb..597f9da 100644 --- a/game/Banco/__init__.py +++ b/game/Banco/__init__.py @@ -17,7 +17,8 @@ from .Mundo import * from .Npc import * from .Pc import * -from .Personagem import * +from .Personagem import * +from .PossuiHab import * from .PossuiItem import * from .PreRequisitoHab import * from .PreRequistoMissao import * diff --git a/game/Banco/__pycache__/Armadura.cpython-310.pyc b/game/Banco/__pycache__/Armadura.cpython-310.pyc index 47050b4603d5a3538fa7ba7d4068b4e037b2f9a6..c5c729b7ea67ad3ded3332a6ff9d3026a60feb2b 100644 GIT binary patch delta 20 acmcaCa#@5spO=@50SGKNXKm#6-~s?PkOa{H delta 20 acmcaCa#@5spO=@50SNToWp3p5-~s?QpalQ` diff --git a/game/Banco/__pycache__/Armamento.cpython-310.pyc b/game/Banco/__pycache__/Armamento.cpython-310.pyc index b4a27c2103b0282815286588c385be47b91286c3..95eb0bd0aef032b5ae543d435c4790cee79e0c93 100644 GIT binary patch delta 20 ZcmeAb>lNe9=jG*M00PU+SsS^TxB)Ba1Oxy8 delta 20 ZcmeAb>lNe9=jG*M00O;tnH#y8xB)Er1Tz2t diff --git a/game/Banco/__pycache__/Chefe.cpython-310.pyc b/game/Banco/__pycache__/Chefe.cpython-310.pyc index 13ed9bcab9113a1e19d917d451634e7f5f294aa5..756196109e54a61d022fd721a715f2a86b3bc196 100644 GIT binary patch delta 20 acmbOuI7g5>pO=@50SGKNXKm!3$N>N@iUgzp delta 20 acmbOuI7g5>pO=@50SNToWp3o2$N>N^ngr7T diff --git a/game/Banco/__pycache__/Consumivel.cpython-310.pyc b/game/Banco/__pycache__/Consumivel.cpython-310.pyc index e2ab12663f975bfc73c47876af61b7c958d83a5c..63480bade9d2f38272b978b9aecedbc0651884bf 100644 GIT binary patch delta 20 ZcmZn>Z4u?p=jG*M00PU+SsS@4xd1C%1ZDsL delta 20 ZcmZn>Z4u?p=jG*M00O;tnH#w)xd1F|1eE{) diff --git a/game/Banco/__pycache__/Contem.cpython-310.pyc b/game/Banco/__pycache__/Contem.cpython-310.pyc index 643577a4b2ea35b22f80f9cbe60ddc37face7cbc..388594826153a7efc11a532bc227eb371ee24416 100644 GIT binary patch delta 20 acmaDT@KAs|pO=@50SGKNXKmyT;{X6SE(Gxa delta 20 acmaDT@KAs|pO=@50SNToWp3mS;{X6TJ_R5E diff --git a/game/Banco/__pycache__/Database.cpython-310.pyc b/game/Banco/__pycache__/Database.cpython-310.pyc index 52fb808582f3f49ef855650e3338fb24105f69fd..624aed639c83487e52680ed995aa1e67f54de195 100644 GIT binary patch delta 20 acmaFK@{)x+pO=@50SGKNXKmz;V*&s-xCH9} delta 20 acmaFK@{)x+pO=@50SJoalQwe4F#!NIt^|ny diff --git a/game/Banco/__pycache__/Dropa.cpython-310.pyc b/game/Banco/__pycache__/Dropa.cpython-310.pyc index 6618331840996973bbc8a598abae2f967ad03f3f..9b88ca6da2d88da62ea778eeba5d36a650e67cc1 100644 GIT binary patch delta 19 YcmeAX>k;G1=jG*M00PU+8@ZUc0VdD`mH+?% delta 19 YcmeAX>k;G1=jG*M0D`36ja*FJ04E3onE(I) diff --git a/game/Banco/__pycache__/FazMissao.cpython-310.pyc b/game/Banco/__pycache__/FazMissao.cpython-310.pyc index ff428a7f326bbc3cd47748806163ccd8ae152b26..9fbedb98e2fc93aeea7917dcb5cf981dcc2e952c 100644 GIT binary patch delta 20 acmew-`A?ENpO=@50SGKNXKm#E%mV;E{srCu delta 20 acmew-`A?ENpO=@50SKO!q;2H>%mV;IBnC$S diff --git a/game/Banco/__pycache__/Habilidade.cpython-310.pyc b/game/Banco/__pycache__/Habilidade.cpython-310.pyc index 4d3dbba1072bbe031d5aa8515cc49320041ae95b..d49ccc1baeaa3d192a1cda57c29b37dc1daba33f 100644 GIT binary patch delta 19 Zcmew+@=b&*pO=@50SGKNZ{*710suBg1kV5f delta 19 Zcmew+@=b&*pO=@50SLG@Y~;$}0su801f2i? diff --git a/game/Banco/__pycache__/Instancia.cpython-310.pyc b/game/Banco/__pycache__/Instancia.cpython-310.pyc index 8b73a9ab496c979f9106dca9700b19813777b765..39a6c187aab7e85993cbeb01637830910aa598ec 100644 GIT binary patch delta 19 ZcmZ1?y+oQTpO=@50SGKNZ{(WA3jiz(1Zn^P delta 19 ZcmZ1?y+oQTpO=@50SK%&Y~-573jiz$1Ze;O diff --git a/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc b/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc index c786ffab75c650a733434a531c224d0c87c8465b..86143f2906c4f226c6b2e22b2363f894657add97 100644 GIT binary patch delta 19 ZcmaDL_CSm)pO=@50SGKNZ{!N&1^_ci1d;#% delta 19 ZcmaDL_CSm)pO=@50SHVtY~%{#1^_c51d9Lw diff --git a/game/Banco/__pycache__/Inventario.cpython-310.pyc b/game/Banco/__pycache__/Inventario.cpython-310.pyc index 0f05cbad5e79a7a0ffb5fbaabebc81a5b6fb5d8f..a488364afba4543d3bc35ddba3ac6b06e7d00378 100644 GIT binary patch delta 19 ZcmaDS^iGH?pO=@50SGKNZ{$kh1OPPB1hN1C delta 19 ZcmaDS^iGH?pO=@50SL-^H*%$L0su9F1jzsZ diff --git a/game/Banco/__pycache__/Item.cpython-310.pyc b/game/Banco/__pycache__/Item.cpython-310.pyc index 31662cac0f363a5aa20d583635491360e976b7ac..91d95bbb7cf6da61b0f2e3235cda72793f579154 100644 GIT binary patch delta 19 Zcmca1azlhGpO=@50SGKNZ{+gh0st}71a$xa delta 19 Zcmca1azlhGpO=@50SMZAH*)!L0RS@T1f2i? diff --git a/game/Banco/__pycache__/Local.cpython-310.pyc b/game/Banco/__pycache__/Local.cpython-310.pyc index b50eec9172397e9f16a32e8344713e8074895f2c..e611d2ba67ec1f9426174178ff660273f66099c1 100644 GIT binary patch delta 20 acmX>haYBMSpO=@50SGKNXKm!RhaYBMSpO=@50SMCnWNzfPkbV!IhpO=@50SGKNXKmy*=L7&Vp9Glz delta 20 acmX>kbV!IhpO=@50SNToWp3m)=L7&WuLQ^d diff --git a/game/Banco/__pycache__/Missao.cpython-310.pyc b/game/Banco/__pycache__/Missao.cpython-310.pyc index 12d29cdafa134215230ed65fc983dcbb00a54452..ea6b73c1e3cfac5c45eb21c9ee623dc88f275d9a 100644 GIT binary patch delta 20 acmdlgv{i^ZpO=@50SGKNXKm!x;sgLOmjrSE delta 20 Zcmdlgv{i^ZpO=@50R&3ZHgaom0st<61NQ&` diff --git a/game/Banco/__pycache__/Mundo.cpython-310.pyc b/game/Banco/__pycache__/Mundo.cpython-310.pyc index e601ebd41f2620d17706aa1f918a7abc3cca9f55..227784289b6ca3128c87d2e48f19416d33291eca 100644 GIT binary patch delta 20 acmbOyG*5^-pO=@50SGKNXKmyb<^%vO{{$@n delta 20 acmbOyG*5^-pO=@50SNL6(>8Joa{>S@(gYj; diff --git a/game/Banco/__pycache__/Npc.cpython-310.pyc b/game/Banco/__pycache__/Npc.cpython-310.pyc index cfff26c2aaec71226f83f353391e0cacc61c2aa4..6361863efcd24d87c90208e8de38144fc917b827 100644 GIT binary patch delta 19 ZcmbOzGEsyppO=@50SGKNZ{%X<0stpT1E2r^ delta 19 ZcmbOzGEsyppO=@50SIz>H*&Fa0RShx1FZl6 diff --git a/game/Banco/__pycache__/Pc.cpython-310.pyc b/game/Banco/__pycache__/Pc.cpython-310.pyc index 03e816802f8b4a3864aab3b3d9287bdd19cd1f0e..4aa920034df9e55018e3b2ddc1b2bdae782136ad 100644 GIT binary patch delta 40 ucmaDR^l8aF`i?ge zCDcfY$dhVvyMWP!j8P}z1?i)d%Zq(-gD^Tmhp2?Qzq0T692pY55)Aqvr13p{6^t$7 zxNXyRs++#F17L$MIdIbOe95fau4M#4W{(3m1QCuH#~j@c?5R<#;shp_!dMtbMd5?q z1>Sm-J|9vUd{VJI^SE5E!ve2q9C40C21A~x&vyK{X*b+v-7CX^1+LvFSFKYYw?OAB z!5IjTmKeB-yTTx1!fqH3(^3!XDOUMoed>B3r?VN>`&Vz7HCBhu@;b&@I!`idpm3R~ z$FCpwF)E!kEog&IyCjbb^p>>LBp2qUfGa_cIw74FLwYO{i)ku|Tr2<@t%SBe0pf9F AmjD0& delta 543 zcmYk1u}T9$5QcXyx0^M3@ytm?VkC$P2O=tBp`BnQh+q+Hgm5{d60>pcLQGH*EVL1Y zeF1#~#iy{aw7JGou(GgJbT`qME&kn|nSbV+=hTg33Cl_lbxN0ee)HaX1%9o5&E@8p z{DhgUkQU7|$df!dGH=)|0kT0%62|vr z1b)P;LBkW((p*GW5Cyt%WQrX1HrT7h(vp-@u~nNx0urYEl?Hxld>bIoV;}i;UKjN% ziTJi3dOL-383%OC(K4tdrNm|J?j29$c%l;2%3%Tj`6D>Qw7h2y%_vX$;my2)pN)=K$R+`@@;#nib9<2LbZ2A>6Kx&)hikER6Sns6cp`dG^Rc03 m%<>7CmwA3@59tmX5cN#V$rnDI>`Nw7HkvBn#?X-Qg8quxcEt}ss%U9@&UkE(Nq8(e(HzfxKhAd^@rQ=81fH$m z*2JkHLjJ%)`q80q5ngox1Sg!jq)fQRb(hv@nNs{VT&=E^wfNg~^}1fxDfxnMi)S7a zp4rsO2B)`4-hKgdkkShZGEXCW)(M;?M+x}OUUimgZjC!UF5MJT`JS^P>Qx+)ehesF zgjX$r5Tr~wDQlc^?J+6q1BC0s;D#`k4Q_Jlu~9ZtH5qP0jl~Ce7J6q=ExY(2wAfg) ztnnef8%hIw4{Ulk8o22z)vUn|tGM&dgWnpwGw`ZG5CPdFEmDCE!7y6NYZ5On()bb_ z&``o%en#W~RK5HLL}Ashivsr@Z@K2K`i1A;N#QUq*n)&h!J131Tbc2>DBLMso|&I5 z-Y#5rysEFx7N*WjeKt9D`l>IT(_EasbYFNuQ#yqe2d0cW6}o$#Y^+CirBd^1L8X#` zg%xgkkcPQlmriq(ZFDa_%C2@*QpJOG9-IT2iO>B5e1w<7qb;&V*64=b(w}NuWW#6~ zPjyaP^e5n>rGeC+m|H*#v>VWF1|~N)=^|Mq(9_x?6zqNVhX;#N`pofR8f=xlnVt@gu9+1Y~8D z5f4SR83?HG>-Aa?nGFe>h|H?%D-qcZwO;ibD^t<#IWG_^vKFl4A~K(mHcTiHBngH{ zf8Afi3V^0U%!%mtzzQ4w?07O0D8IO)>W=`N^Mhd>zAhQ9;wW@*+Oemz3%Z?%6l zI--S#y1ggg9NwpK+*nuRze6GXDxCUYjT>!^w@fwO);cBL-j+E_zP2{305uF;+&k8? z`e|4s-rb zuH2fx(bFzlyjr|fWOK7MxNUZxg@erTICK3q2THH#^vh##3#I2j`)t{-vDN2W$yo3a ztm<$_1=8WZ%Dy^V1dH{cRQDBYNPo!{bw?pm%T6dHbAUHbHQm6OWXQqiETY*2t{wq0 z2g^nFvIwfHj_b;OP?R5`7(uZgMBaWoKXzx0h(44DaRhpy6g~So9b}h?o7WFOA9WH$ zk03+KQX5{2W)0)dVRN+2(qDtN_7Cth)*U^$(}aEA(}Ib+O#K3d@J{$?!W8(8*o%PY zKra&e4K1b!{EIpS6lkb@ph%A?GJqoRCP2|>%ZMq`IzA;u(HB6GnNXy+OrXfijPx&cAKy);3fB&=3H| zeP$Mnd!d*%ZBR;*WF!{e3wLPcx!B4fPINk*XYw$falCs!3?j5E0x<4$pcv1FXWnb* zII!yY9XoHUd=E_jF4sStjJo24H)={b{*DmrZ*Qt+z3~AAKZhi23j)^g--+SU5j}Ob z$+yf>#e|{r^a1cI)P{G%LSnaQuNeI?3+P7wCweOGLtdc9z6oB8vev?@e`%RT#e{s&y&K15-?00Uqr}_z2g7j>H zEr@!|NXqqdPinrLc`MDD7p)y}$sV?Usob={T`0M4lz+cRo z9ECf5(GhkrlbJ=;$Hy_-3f@>$F{ zJxE3?l_*=O)P3G`@q4gRxz}{uc8kOmCDI`|l8C6pkSaexaU8`76umeVe__Co7&-7& zcoR0Usix($+>o7vXLsD1H`{Sh$L{$5f;3U!pq*xn>~rlMg7blCaS>zj1mgez delta 19 ZcmcaCd|8+)pO=@50SG)-Z{#}32>>!G1nU3* diff --git a/game/Banco/__pycache__/Regiao.cpython-310.pyc b/game/Banco/__pycache__/Regiao.cpython-310.pyc index 494d7091ebda553610c2175879dedfda972fb37c..4debda6f207e35d134bf847414c1d1fd8c9b732d 100644 GIT binary patch delta 20 acmaDa_+F4ZpO=@50SGKNXKmzu!T|s~f(4xb delta 20 acmaDa_+F4ZpO=@50SNL6(>8KH;Q#1pu8sIEk-Rr zP07iOjN7<41M-WDOEWzZlO}Itv}Th5$`{E@{?6FQW&~t%FidV>(waPhiG_)W5di3n B7y1AI delta 73 zcmX@ex`vfEpO=@50SFGQ&r0=~$SccuWTN&FA*NskP3D)3KygjRTZ~$Mni7*a8MjS7 a#c0JQ4HPVrp3KG6$Y?ORhsltMhYiW6eZb6;UdkW0Q*1+rL`5?X%9|PG?7vyfg!tfngGcmS#!5CQ%Pi( zq=6Fjp-6v1Z$$z7RODKqzaamihrRZsbJ}w|v!o;|MQ^3BGrP0oa`b)k4Wm}eBXB+Z z{h9c&PRJj)IDHwg_zXtU2g3=cLvo)8`kXv6gbCIXHdu!n-28z&s&R|k;9c(U8u&VQ zc^$mRJ>CG{;7#5F-{ebsq`f?WGfA5&dO5(^^ul+VFuE{aod=V`d!N%IlG0Olw{af9g-tE24EjA9KWWBR-Wn*(~WA#oX*(w*SHxI=)%_Qp# z7#xXaE&fh5yG%+kVDerxh-&c0R}L7Ldeo(|3DW@co?b3YEEot+@+%k)fTZL(IWh|4 zm==T^Zy`u#xhkk$S<}6z#Xg$6nZR^v*-Q<1FmdfO@MxL6#@@zhhjOhh@nNaMOR5s>GU=$V}UmHaJy>w395n!}irhcwv$aQzmz( zvE5m5LiMd2u>Eita>m6xuDp5l_5W~wJ51m-IQw6ZUBWzCXnZgW`C@kXcXjRT!ek~b zs2Y$M)Dbtq8!1Tq$V`o66Y9x2F`x>}W2+z_JR8JqbEqI*Lx18?l0p-p&>nzUx1TSU z0<4teZ{=tDARyG_JhXBPwcNDK;?vK**_{^0UPzhHj=A8-_XDUeTYwSzN`9o)`*f7PD}x z_*fqiVMFp1T~~CYZOINKR+4}vuF-1KKe3ZwnrwzX*7_WHP0)1+CHSo_wNfd@FbofH zcVJk5>-+lcma_H7QND+#Alu5DOIf~;f%>dT%8Pgxwk+Lzbw|?z)Y<7HPia^urdzyw eeH8I*C_Y7olNB&7aSR7iaShjY&%>xU-G2bi8xCRs delta 248 zcmew_c$tkapO=@50SF>zXQiHIp2#Pop#Q)axfNgZC=9Y%qY(R6e$7|oIutsKG(eD{JfH)#G>HDoWx?T$!yG; z0TMtNKTXzKtWJqQ*;`Bj$we$6Z6J3Sfg~XYpc%zslbfGXnv-hB2vkuFlH_1uW8z@q GVFdsoGB8*G diff --git a/game/game.py b/game/game.py index 24f802e..5cd4d29 100644 --- a/game/game.py +++ b/game/game.py @@ -1,6 +1,8 @@ from Banco import * pc = Pc() +personagem = Personagem() +possuiHab = PossuiHab() def CarregarJogo(): Save=input("\033[1;32mDigite o ID do seu personagem: \033[0m") @@ -32,4 +34,42 @@ def EncontrarSalas(pos): # Retornar a lista de salas disponíveis return salas_disponiveis - \ No newline at end of file + +def ListarHabilidadePersonagem(): + habilidadePersonagem = input("\033[1;32mDigite o ID do seu personagem: \033[0m") + habilidade = possuiHab.consultarPossuiHabPersonagem(habilidadePersonagem) + return habilidade[0] + +def criarJogador(): + pcID = input("ID do jogador :") + pcNome = input("Nome do jogador :") + pcEspecie = input("Especie do jogador :") + criarPC = Pc() + personagem.criarPersonagem(pcID, False) + criarPC.criarPc(pcID,pcNome,0,100,0,0,pcEspecie,5,0,0) + menuJogador() + +def verJogadorOp(): + IDdoJogador = input("Digite o ID do jogador que busca:") + jogador = pc.getPC(IDdoJogador) + print("\n--------------------------------------------------------------------------------\n") + print(f"\033[1;32m\nNome: {jogador[0][1]}\nVida:{jogador[0][3]}\nLVL: {jogador[0][4]}\nDinheiro: {jogador[0][5]}\033[0m") + print("\n--------------------------------------------------------------------------------\n") + menuJogador() + +def menuJogador(): + print("\033[1;32m Opções de Jogador") + print("\033[0;36m|1| = Criar personagem") + print("|2| = Ver jogador") + print("|3| = Atualizar jogador") + print("|4| = Deletar jogador") + print("|5| = Voltar\n") + + OpçaoJogador = input() + + match OpçaoJogador: + case '1': + criarJogador() + case '2': + verJogadorOp() + \ No newline at end of file diff --git a/game/main.py b/game/main.py index ac5d8df..9faca18 100644 --- a/game/main.py +++ b/game/main.py @@ -4,10 +4,10 @@ personagem = Personagem() pc = Pc() -print(" ⠀⠀⠀⠀⠀⠀⠀⠰⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ") -print(" ⠀⠀⠀⠀⠀⠀⠀⢰⣿⡟⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ") -print(" ⠀⠀⠀⠀⠀⢀⣀⣼⣿⣀⣹⣿⡆⠀⢤⡄⢤⣄⢤⡤⠀⢤⣤⣤⣤⣤⢤⣄⠀⢤⣤⡤⣤⣤⣤⢠⡄⠀⣤⢤⡤⢤⡠⣤⠤⣴⠀⠀⠀⠀ ") -print(" ⠀⠀⠀⠀⠀⠈⢹⣿⡇⠉⠉⢿⣿⡄⢸⡇⠀⢹⡏⢿⣠⡟⢹⣿⠤⠄⢸⡿⣷⣼⡇⠀⣿⡇⠀⢸⡇⠀⡇⢸⡇⣎⠀⣿⠶⠌⠀⠀⠀⠀ ") +print(" ⠀⠀⠀⠀⠀⠀⠀⠰⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ") +print(" ⠀⠀⠀⠀⠀⠀⠀⢰⣿⡟⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ") +print(" ⠀⠀⠀⠀⠀⢀⣀⣼⣿⣀⣹⣿⡆⠀⢤⡄⢤⣄⢤⡤⠀⢤⣤⣤⣤⣤⢤⣄⠀⢤⣤⡤⣤⣤⣤⢠⡄⠀⣤⢤⡤⢤⡠⣤⠤⣴⠀⠀⠀⠀ ") +print(" ⠀⠀⠀⠀⠀⠈⢹⣿⡇⠉⠉⢿⣿⡄⢸⡇⠀⢹⡏⢿⣠⡟⢹⣿⠤⠄⢸⡿⣷⣼⡇⠀⣿⡇⠀⢸⡇⠀⡇⢸⡇⣎⠀⣿⠶⠌⠀⠀⠀⠀ ") print(" ⠀⠀⠀⠀⠀⡴⠾⠿⠀⠀⠀⠘⠿⠿⠾⠿⠴⠛⠁⠘⠏⠀⠼⠿⠦⠖⠸⠃⠀⠙⠇⠀⠿⠇⠀⠘⠷⠚⠇⠾⠇⠘⠿⠿⠶⠶⠀⠀⠀ ") print(" ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣀⠀⠀⣤⣤⣤⣤⣤⣤⣤⣤⣤⡄⢠⣤⡤⠀⢲⣶⣶⡄⠀⠀⠀⣰⣶⣶⠖⠀⢲⣶⣶⠶⠶⢶⣶⠀⠀⠀⠀ ") print(" ⢀⣀⠀⠀⠀⠀⠀⢀⣸⣿⣉⣀⠀⢟⡉⠉⡉⣿⣿⢉⣉⣙⣛⣘⣿⣇⣀⡀⣿⢿⣿⡄⠀⣼⡿⣿⣿⢠⣤⣬⣭⣭⣤⣤⣤⣬⣤⣤⣀⠀ ") @@ -40,66 +40,43 @@ print(" Hora de aventura! ") while(True): - print("\n\033[1;32m| Bem-vindo ao MUD Hora de Aventura |\033[0m\n") print("\033[0;36m|1| = Acessar Menu") - print("|2| = Criar Personagem(PC)") - print("|3| = Carregar Jogo") - print("|4| = Ver localização") - print("|5| = Fechar jogo\n") - + print("|2| = Carregar Jogo") + print("|3| = Fechar jogo\n") print("\033[1;32mEscolha uma opção de 1 a 5:\033[0m\n") + opcao = input() + print("Opção escolhida: ", opcao) + print("\n") + match opcao: case '1': - - print("\033[1;32mOpções de jogador:\033[0m") - print(" 1 = Ver jogador") - print(" 2 = Atualizar jogador") - print(" 3 = Deletar jogador") - print(" 4 = Voltar") - menuJogador = input() + print("\033[1;32mOpções de Menu:\033[0m") + print("\033[0;36m|1|= Opções de Jogador") + print("\033[0;36m|2|= Opções 2") - match menuJogador: - case '1': - print("Deseja ver todos os jogadores ou um jogador especifico?: 1 = Todos/ 2 = Jogador") - escolhaMenujogador = input("Escolher entre 1 e 2: ") - - if(escolhaMenujogador == '1'): - pc.consultarPC() - - if(escolhaMenujogador == '2'): - IDdoJogador = input("Digite o ID do jogador que busca:") - pc.consultarPCID(IDdoJogador) - case '4': - print("\n--------------------------------------------------------------------------------\n") - - - case '2': - print("Digite suas caracteristicas") - pcID = input("ID:") - pcNome = input("Nome:") - pcEspecie = input("Especie:") - criarPC = Pc() - personagem.criarPersonagem(pcID, False) - criarPC.criarPc(pcID,pcNome,0,100,0,0,pcEspecie,5,0,0) - - case'3': + opcoes = input() + + print("Opção escolhida: ", opcoes) + print("\n") + + if(opcoes == '1'): + game.menuJogador() + if(opcoes == '2'): + print("opcoes 2 ") + + case'2': jogador=game.CarregarJogo() lc=Local() posicao=lc.getLocalPc(jogador[0]) - print("\n--------------------------------------------------------------------------------\n") print(f"\033[1;32m{jogador[1]}\nLocal: {posicao[0][2]}\nDescrição: {posicao[0][1]}\nCoordenada: {posicao[0][0]}\033[0m") print("\n--------------------------------------------------------------------------------\n") salas=game.EncontrarSalas(jogador[9]) - print(salas) - print("\n"+80*"-"+"\n") - case '4': - print("Localização") - print("\n--------------------------------------------------------------------------------\n") - case '5': + + case '3': print("Finalizando o jogo.....") break \ No newline at end of file From 6463421e58941475791bfb93ccae099786ca4f1b Mon Sep 17 00:00:00 2001 From: HeBatalha Date: Sat, 2 Dec 2023 12:12:57 -0300 Subject: [PATCH 05/18] =?UTF-8?q?Adiciona=20mudan=C3=A7a=20de=20salas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/Banco/Pc.py | 8 +--- .../__pycache__/Armadura.cpython-310.pyc | Bin 2643 -> 2616 bytes .../__pycache__/Armamento.cpython-310.pyc | Bin 2829 -> 2802 bytes game/Banco/__pycache__/Chefe.cpython-310.pyc | Bin 2204 -> 2177 bytes .../__pycache__/Consumivel.cpython-310.pyc | Bin 2692 -> 2665 bytes game/Banco/__pycache__/Contem.cpython-310.pyc | Bin 2145 -> 2118 bytes .../__pycache__/Database.cpython-310.pyc | Bin 617 -> 590 bytes game/Banco/__pycache__/Dropa.cpython-310.pyc | Bin 2828 -> 2801 bytes .../__pycache__/FazMissao.cpython-310.pyc | Bin 3326 -> 3299 bytes .../__pycache__/Habilidade.cpython-310.pyc | Bin 2678 -> 2651 bytes .../__pycache__/Instancia.cpython-310.pyc | Bin 3492 -> 3465 bytes .../__pycache__/InstanciaItem.cpython-310.pyc | Bin 2912 -> 2885 bytes .../__pycache__/Inventario.cpython-310.pyc | Bin 2414 -> 2387 bytes game/Banco/__pycache__/Item.cpython-310.pyc | Bin 2648 -> 2621 bytes game/Banco/__pycache__/Local.cpython-310.pyc | Bin 3144 -> 3117 bytes game/Banco/__pycache__/Loja.cpython-310.pyc | Bin 2370 -> 2343 bytes game/Banco/__pycache__/Missao.cpython-310.pyc | Bin 2357 -> 2330 bytes game/Banco/__pycache__/Mundo.cpython-310.pyc | Bin 2334 -> 2307 bytes game/Banco/__pycache__/Npc.cpython-310.pyc | Bin 2577 -> 2550 bytes game/Banco/__pycache__/Pc.cpython-310.pyc | Bin 3439 -> 3356 bytes .../__pycache__/Personagem.cpython-310.pyc | Bin 2389 -> 2362 bytes .../__pycache__/PossuiHab.cpython-310.pyc | Bin 3361 -> 3334 bytes .../__pycache__/PossuiItem.cpython-310.pyc | Bin 2878 -> 2851 bytes .../PreRequisitoHab.cpython-310.pyc | Bin 2784 -> 2757 bytes .../PreRequistoMissao.cpython-310.pyc | Bin 2515 -> 2488 bytes game/Banco/__pycache__/Regiao.cpython-310.pyc | Bin 2287 -> 2260 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 705 -> 678 bytes game/__pycache__/game.cpython-310.pyc | Bin 2303 -> 2786 bytes game/game.py | 36 ++++++++++++------ game/main.py | 11 +++++- 30 files changed, 35 insertions(+), 20 deletions(-) diff --git a/game/Banco/Pc.py b/game/Banco/Pc.py index 1024879..caa78cf 100644 --- a/game/Banco/Pc.py +++ b/game/Banco/Pc.py @@ -85,12 +85,8 @@ 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: diff --git a/game/Banco/__pycache__/Armadura.cpython-310.pyc b/game/Banco/__pycache__/Armadura.cpython-310.pyc index c5c729b7ea67ad3ded3332a6ff9d3026a60feb2b..1f50a91b18ea6b3e2b39b7794cb9c3cf17dad377 100644 GIT binary patch delta 62 zcmcaCvO|PBpO=@50SI*5vNv*TFsk?i+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEwoVKI8xZ_Zbp; delta 75 zcmdlXa#@5spO=@50SGKNXKm!xU=+>*vh_3ab5r$G@)PsYGIKKWCp$6pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%wPH0A^V2G0_e delta 89 zcmew)+AGGL&&$ij00fqsvo>;1V6@K$vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!sLXEf#n0J3u&I{*Lx diff --git a/game/Banco/__pycache__/Chefe.cpython-310.pyc b/game/Banco/__pycache__/Chefe.cpython-310.pyc index 756196109e54a61d022fd721a715f2a86b3bc196..e423cb07ec4d8b4adc55b9eb67911b6869d9e7e6 100644 GIT binary patch delta 62 zcmbOu*eJ-I&&$ij00cU2*&Dg_8C86MZ2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb O`TFjeC7UZ5mDvH>(-Bet delta 89 zcmZn^oFmAc&&$ij00fqsvo><;Guo#E+4>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq n5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fF>X7?s%pZeJR47&&$ij00cU2*&DgF7*zs+Z2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb O`TFjeC7Vka1vmlj!4Z=H delta 89 zcmaDU(jv;8&&$ij00fqsvo>;TG1}(<+4>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq n5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fFpzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%{*er5vz`t=f& delta 89 zcmX>m@KAs|pO=@50SGKNXKmzGVYJTxvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!piGk#_R0G$LJIsgCw diff --git a/game/Banco/__pycache__/Database.cpython-310.pyc b/game/Banco/__pycache__/Database.cpython-310.pyc index 624aed639c83487e52680ed995aa1e67f54de195..6d473fa655585b15da5e6b33a97d6f08777e968f 100644 GIT binary patch delta 61 zcmaFKa*l;NpO=@50SI*5vNv+;F{=0j+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& O^7Y*_OD0z^egpvMGZK0L delta 88 zcmX@d@{)x+pO=@50SGKNXKm!xW3zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!5oGJXUAfe0KR diff --git a/game/Banco/__pycache__/Dropa.cpython-310.pyc b/game/Banco/__pycache__/Dropa.cpython-310.pyc index 9b88ca6da2d88da62ea778eeba5d36a650e67cc1..79792cb43b248ac8080a1a5e1474791ea5cab3fc 100644 GIT binary patch delta 62 zcmeAX`zXqt&&$ij00cU2*&DfI7*%|LZ2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb P`TFjeC7YKqrf~uQ{74d7 delta 89 zcmew;+9SrD&&$ij00fqsvo>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq n5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fF=^8Phlcq1_w+ diff --git a/game/Banco/__pycache__/FazMissao.cpython-310.pyc b/game/Banco/__pycache__/FazMissao.cpython-310.pyc index 9fbedb98e2fc93aeea7917dcb5cf981dcc2e952c..2d47774de0eea63ea7f7be970cc993eda30bce8a 100644 GIT binary patch delta 62 zcmew-`B;)WpO=@50SI*5vNv+OGO7ds+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE&j2=5qr861Ebi delta 89 zcmaDX`A?ENpO=@50SGKNXKmzmWwg%*vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!rIFy?au0KkSEOaK4? diff --git a/game/Banco/__pycache__/Habilidade.cpython-310.pyc b/game/Banco/__pycache__/Habilidade.cpython-310.pyc index d49ccc1baeaa3d192a1cda57c29b37dc1daba33f..a8dc836e66f56d102e6b848f875e63498e1a2d05 100644 GIT binary patch delta 62 zcmew+a$AHupO=@50SI*5vNv*TFscLs+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEwoVvTy)vh_3ab5r$G@)PsYGIKKWCp$6pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE#M`<#Gc61VIu- delta 89 zcmeB_ULwt%&&$ij00fqsvo>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r+Fy(Rs0I@k6>i_@% diff --git a/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc b/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc index 86143f2906c4f226c6b2e22b2363f894657add97..cb92f3569ca1a02c26f448b38ac378f647bc6bfd 100644 GIT binary patch delta 48 zcmaDLc2tZzpO=@50SI*5vNv)kGxCK1+4>pzxvBa^naSCc8ySU}-7`xzuVviK2>=_x B4C?>@ delta 89 zcmX>q_CSm~pO=@50SGKNXKmz8X0*=-vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!qVV%*FL0JJpzxvBa^naSDuhZ~Dh6BSZY6+(& O^7Y*_OBUxbasUAC+7Yz? delta 88 zcmcaC^iGI7pO=@50SGKNXKmzGVYJTyvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I nB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!PtiwzeCGjad`irE`m diff --git a/game/Banco/__pycache__/Item.cpython-310.pyc b/game/Banco/__pycache__/Item.cpython-310.pyc index 91d95bbb7cf6da61b0f2e3235cda72793f579154..06d455cd382e07a99e718c6357d3f010a613bd3b 100644 GIT binary patch delta 62 zcmca1vR8yVpO=@50SI*5vNv)EFsgV1+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%A9+{Xa`03Z^r delta 89 zcmdlhazlhWpO=@50SGKNXKmyTV6;yIvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r|Gw$O60HuH&Qvd(} diff --git a/game/Banco/__pycache__/Local.cpython-310.pyc b/game/Banco/__pycache__/Local.cpython-310.pyc index e611d2ba67ec1f9426174178ff660273f66099c1..8fa5560da37835966bd254b80f332bc13ddde15d 100644 GIT binary patch delta 62 zcmX>hu~vdRpO=@50SI*5vNv)UFsk?f+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE&Lf?BfCe04oxx delta 89 zcmZ20aYBMSpO=@50SGKNXKmyzV6;yMvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r=XYAtw0H%H%P5=M^ diff --git a/game/Banco/__pycache__/Loja.cpython-310.pyc b/game/Banco/__pycache__/Loja.cpython-310.pyc index 10ec0353e985602152ee323daecccb30f4443f1c..839a213aff75c90f95d511e29d5dcea74630e68d 100644 GIT binary patch delta 62 zcmX>kv|NZgpO=@50SI*5vNv+;F{*e2+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEy<9o?-_8?pzW? delta 89 zcmZ23bV!IhpO=@50SGKNXKm!xW3*2Lvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r&GM-`w0E;CX>Hq)$ diff --git a/game/Banco/__pycache__/Missao.cpython-310.pyc b/game/Banco/__pycache__/Missao.cpython-310.pyc index ea6b73c1e3cfac5c45eb21c9ee623dc88f275d9a..1485484f8fa5acafd6aae76ab473dc71a898fed7 100644 GIT binary patch delta 62 zcmdlgG)ss(pO=@50SI*5vNv+8Fsk?h+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%{*9%lyt=9Ur_ delta 89 zcmbOwv{i^ZpO=@50SGKNXKmzGVYJTxvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!piGahFL0Ds9Fy8r+H diff --git a/game/Banco/__pycache__/Mundo.cpython-310.pyc b/game/Banco/__pycache__/Mundo.cpython-310.pyc index 227784289b6ca3128c87d2e48f19416d33291eca..d6b406630eade47e0c09626e7494b992d208c278 100644 GIT binary patch delta 62 zcmbOy)GWlE&&$ij00cU2*&DfK8C86MZ2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb P`TFjeC7aV3x3dEP+6NKH delta 89 zcmZn`nkU4a&&$ij00fqsvo>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq o5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fF=G7`L+n0BwjHZU6uP diff --git a/game/Banco/__pycache__/Npc.cpython-310.pyc b/game/Banco/__pycache__/Npc.cpython-310.pyc index 6361863efcd24d87c90208e8de38144fc917b827..eb94460fa3d24c9f813ce581b0da7473430496de 100644 GIT binary patch delta 62 zcmbOz@=cgKpO=@50SI*5vNv*jGpcw2+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEynstlzN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!qdG1hPZ0G^o}_W%F@ diff --git a/game/Banco/__pycache__/Pc.cpython-310.pyc b/game/Banco/__pycache__/Pc.cpython-310.pyc index 4aa920034df9e55018e3b2ddc1b2bdae782136ad..976a3cdede67994cbe932aeb14fcc2d29e284b8c 100644 GIT binary patch delta 275 zcmaDaHAjjspO=@50SMaMvQy9SY~)L4RPh9I^)vEwQ}v57le6^?Hx{KPDx{<;gcKzv zCFW%0>$_)`Y~I2+iIugA$y%Xwvp0J^BctZ#(;Qulj4LOHahWk{PVVI@o;-_%m!l78 zR+VFw)MQa^OSyHVrs}8UC+4MP=49mSA8ss4O;kup zRR}3cOiBcaIOgQUJLjjQ>WBI{Is3b~2J1T|<|XGB8*ZM-IEj_@7n8NZ*Ubj(^^A-w zH*etRVw}95Lws@|m%`-p+{%-ua0QC81FZpB?F_`l8-PSrP?h%NUtF4wEDKl`GSsrx zu%pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%{)zGMdg_FfWq delta 89 zcmdlbbXABupO=@50SI1S&DzMV#Au%bWb0?-=cekXmP0`N=;NqNmU3b oN=!-wi8$uu#5?Dwr0R$IIXU~gxCZMxCFUjP7aML4WPHgE0M%6-@c;k- diff --git a/game/Banco/__pycache__/PossuiHab.cpython-310.pyc b/game/Banco/__pycache__/PossuiHab.cpython-310.pyc index 93eb2bbc9b550bdb412db2d67effb6bb11fe40a0..40157ca7b57f15fd09b7d1b4ab6350404888fae6 100644 GIT binary patch delta 62 zcmZ1|)h5NA&&$ij00cU2*&DgD8C3#+Z2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb P`TFjeC7ZW0=5PZ5?dK9V delta 89 zcmZpZS}4Vx&&$ij00ay7XKm!pX0*=+vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r=V$9(N0ItLwQ2+n{ diff --git a/game/Banco/__pycache__/PossuiItem.cpython-310.pyc b/game/Banco/__pycache__/PossuiItem.cpython-310.pyc index ae130491ba547bd649e5698f2ba6b9625e7e1ddc..0e0af4f5ca9048d1c7b1c57ec60dccc7edc053e3 100644 GIT binary patch delta 62 zcmdldwpffipO=@50SI*5vNv*PFscLs+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEzy}?BN6e`LGg# delta 75 zcmZ21woi;ZpO=@50SGKNXKm!pU=+>)vh_3ab5r$G@)PsYGIKKWCpR(*OFHJ{#5?Dw cr0R$IIXU~gxCZMxCFUjP7aMM#&e+2V00xd0EdT%j diff --git a/game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc b/game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc index 1aaac13c9f1b4df721cec1c0d5597b5c29b5b1d5..010f9cae41873227692641681985ec9a68548f3d 100644 GIT binary patch delta 62 zcmaDLdQ_ApzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE#A?W^w`m{^Jrb delta 89 zcmX>q`aqOBpO=@50SGKNXKm!xWwb8@vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r&FlKTB0Hd%Q)&Kwi diff --git a/game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc b/game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc index 11d6af20beb9d695848a8fec9ad3a709b4d17b21..01a8354e60ec4abc4854231b5a4350723a05a053 100644 GIT binary patch delta 62 zcmcaCyhE5fpO=@50SI*5vNv)YFseiV+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEyzN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r&Ge&X%0Gg~DuK)l5 diff --git a/game/Banco/__pycache__/Regiao.cpython-310.pyc b/game/Banco/__pycache__/Regiao.cpython-310.pyc index 4debda6f207e35d134bf847414c1d1fd8c9b732d..813cc3df83de9e5d45fa7e89cd62a1bc50fbaea2 100644 GIT binary patch delta 62 zcmaDactwyqpO=@50SI*5vNv+eFsk?h+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE#x5cCrHi|HcwI delta 89 zcmca2_+F4ZpO=@50SGKNXKmz`VYJTxvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!q>Gj_5A0Hh}y-v9sr diff --git a/game/Banco/__pycache__/__init__.cpython-310.pyc b/game/Banco/__pycache__/__init__.cpython-310.pyc index 9dabdea134005d8fdacbaa6f8d3e7b953fa0d9b7..cbf1f0605c28cabde09951f138af1fcc09a01188 100644 GIT binary patch delta 47 zcmX@ex{Q@OpO=@50SI*5vNv)wGx7NY+4>pzxvBa^naSCc6`6#Y-7`xj`!baP0PJuJ A0RR91 delta 88 zcmZ3+dXSYnpO=@50SMH#XKmzWX0p!$vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I nB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!3mF_i!SRiYa5 diff --git a/game/__pycache__/game.cpython-310.pyc b/game/__pycache__/game.cpython-310.pyc index de57de5f43fd2a6649eabc38eec7f57d5cfdd593..99edc40b2057a548726f4ad5598d19b4825295b9 100644 GIT binary patch delta 1242 zcmZWo&1)1%6tAl8>Z$3O9^+?p-HmOO=qO=gqFGQ>@H2|UNIWTmm$FBofZ82ziHSO1zY8yXmPrAx;?`!!)HWq{0O+QK>)2Ut&3O`#Q1huK4x(sHW zf!KVoFU((sFZ`7fqG*>zWR)gFv4dodc8$K5^gVMkH;g&Hnae$EfpiNIjI&HBNeo5e z9@R4mN!S6RXCPrhkRO624w2u8vIZVRz$^UDb68>3*p9CukqJapF9KeG{WZSteT(0U z_i_TB6THNUhVy0=Uo!MdAS@<)2Vvj)mT)Vc^I19HpMbX$YX`pXZR2~`KTfojK!V7O zxGF8vW!e=<;Tm}~)Ga2(L@Y7=9!Sf$50SN6NN6I~7$wjCR%D)3o!L+L=RUztB5@VO z;fH4~OiecDV;Q%U6`6~-u1%Bb1%9Y zNji>ObFT(kc`d1=+u=KFX9JzrZh`L%z#V76HXk>Dt8;14$eh&DeHP1x8_EWr$FS!; zm3cc-Uv{tg3qBBzpK;q*I4^yD-o+&|QWY6%)HAW*MR$U_Y-GHx{Z^D&vfcJtDl@>* z99q_RRx>AVD;arn^}M)hXGS{+Gj>a5;$AG3mMX|Nj+(w@C+v(jVNx&(LJD19{kEKGrOGo%H zorL7R_1pYMI(ib49TTUk^6k!b0Wo_~jHj=yv%{Cb4DnL-@8=a*$fkOF{aAqbSBu^jAV_Jbfp|zB>S>AQrPIzQPb(jKWtei~j+?Ru~=t delta 753 zcmY+C!EVz)5QcZ`U3=}s5g;lW8fZkShNy)kqDLx30}`Sr6tz_)IDnfqX^;~~>*P{7 zR0u9ykRtN{Ew`SK$bknyyaERwx%J!!fLWIab*-8CXTR~tv+Lh8e=g<%$FT{nonLRf z&(=6sfaZAVT1{v||3IFbf(nL_3qzO~Ey0C_(H6GIV9bcDa4=@aZ;$W2!Zy{tpzBpd z;Pzg3{Jo(1u~45#2%*x zIu15)kXe*1KsQ|+1x0J1h2PK#7{P$NCnGJ=4k02!nxl|a^nMT~{MpbI(iK6X`K?&eTk$cSzpV}^ETW@e zKIfq5#Px-jSK4unCOGmll6Lx)mmwdQaVvRJWC|zU=e{vK;U86Sd+s@u^j2 zWt4a0dAqcwRI}nFEd2pwN!6&fiM`>;FzC5$uPYbShP4rd;jr__-IWDZrG`%DkwvA> cx+_(Vzu1ejmr-(JXa>%~HO}}|G%L&h0u{uaC;$Ke diff --git a/game/game.py b/game/game.py index 5cd4d29..0e9f9e2 100644 --- a/game/game.py +++ b/game/game.py @@ -3,37 +3,47 @@ pc = Pc() personagem = Personagem() possuiHab = PossuiHab() +lc=Local() + def CarregarJogo(): Save=input("\033[1;32mDigite o ID do seu personagem: \033[0m") jogador=pc.getPC(Save) return jogador[0] -def EncontrarSalas(pos): +def EncontrarSalas(pos, Id): Quadrado=2 - lc=Local() Oeste=lc.getLocal(pos-1) Norte=lc.getLocal(pos-Quadrado) Leste=lc.getLocal(pos+1) Sul=lc.getLocal(pos+Quadrado) salas_disponiveis = [] - # Adicionar à lista se não for None - if Oeste is not None: + print("\033[1;32mSuas opções de viajem são:\033[0m\n") + + if Oeste is not None and ((pos)%Quadrado): + print(f"\033[0;36mOeste = {Oeste[0][2]} / Cordenada {Oeste[0][0]}\033[0m\n") salas_disponiveis.append(Oeste[0][0]) - #salas_disponiveis.append(Oeste[0][2]) + if Norte is not None: + print(f"\033[0;36mNorte = {Norte[0][2]} / Cordenada {Norte[0][0]}\033[0m\n") salas_disponiveis.append(Norte[0][0]) - #salas_disponiveis.append(Norte[0][2]) - if Leste is not None: + + if Leste is not None and (((pos+1)%Quadrado) != 0): + print(f"\033[0;36mLeste = {Leste[0][2]} / Cordenada {Leste[0][0]}\033[0m\n") salas_disponiveis.append(Leste[0][0]) - #salas_disponiveis.append(Leste[0][2]) + if Sul is not None: + print(f"\033[0;36mSul = {Sul[0][2]} / Cordenada {Sul[0][0]}\033[0m\n") salas_disponiveis.append(Sul[0][0]) - #salas_disponiveis.append(Sul[0][2]) - # Retornar a lista de salas disponíveis - return salas_disponiveis + mudar=int(input("\033[1;32mPara qual sala deseja viajar? Digite -1 para Sair: \033[0m")) + + for i in salas_disponiveis: + if(i==mudar): + print("") + pc.updatePcLocal(Id, mudar) + def ListarHabilidadePersonagem(): habilidadePersonagem = input("\033[1;32mDigite o ID do seu personagem: \033[0m") @@ -72,4 +82,6 @@ def menuJogador(): criarJogador() case '2': verJogadorOp() - \ No newline at end of file + + + diff --git a/game/main.py b/game/main.py index 9faca18..0a59464 100644 --- a/game/main.py +++ b/game/main.py @@ -3,6 +3,7 @@ personagem = Personagem() pc = Pc() +lc=Local() print(" ⠀⠀⠀⠀⠀⠀⠀⠰⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ") print(" ⠀⠀⠀⠀⠀⠀⠀⢰⣿⡟⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ") @@ -68,12 +69,18 @@ case'2': jogador=game.CarregarJogo() - lc=Local() + posicao=lc.getLocalPc(jogador[0]) print("\n--------------------------------------------------------------------------------\n") + print(f"\033[1;32m{jogador[1]}\nLocal: {posicao[0][2]}\nDescrição: {posicao[0][1]}\nCoordenada: {posicao[0][0]}\033[0m") + print("\n--------------------------------------------------------------------------------\n") - salas=game.EncontrarSalas(jogador[9]) + + + game.EncontrarSalas(jogador[9], jogador[0]) + + #print(f"\nTeste: {jogador}") print("\n"+80*"-"+"\n") case '3': From a4927f7cd100f85d0ef9b215c576f483d7a39288 Mon Sep 17 00:00:00 2001 From: Dyetrix Date: Sat, 2 Dec 2023 12:13:37 -0300 Subject: [PATCH 06/18] =?UTF-8?q?Criando=20fun=C3=A7=C3=A3o=20de=20batalha?= =?UTF-8?q?r=20e=20ajustando=20alguns=20arquivos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/Banco/Instancia.py | 17 ++++++++ game/Banco/Npc.py | 15 +++++++ game/Banco/PossuiHab.py | 2 +- game/battle.py | 90 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 game/battle.py diff --git a/game/Banco/Instancia.py b/game/Banco/Instancia.py index 4d24a71..d71bf8b 100644 --- a/game/Banco/Instancia.py +++ b/game/Banco/Instancia.py @@ -107,3 +107,20 @@ def consultarInstanciaEspecifica(self, personagem: int, numero: int): 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() \ No newline at end of file diff --git a/game/Banco/Npc.py b/game/Banco/Npc.py index 06f072d..ac23e71 100644 --- a/game/Banco/Npc.py +++ b/game/Banco/Npc.py @@ -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() \ No newline at end of file diff --git a/game/Banco/PossuiHab.py b/game/Banco/PossuiHab.py index 6b4663a..ec009bd 100644 --- a/game/Banco/PossuiHab.py +++ b/game/Banco/PossuiHab.py @@ -25,7 +25,7 @@ def consultarPossuiHabPK(self,personagem:int, habilidade:int): try: conexao = self.db.conexao cursor = conexao.cursor() - cursor.execute(f"SELECT * FROM possuihab WHERE IDitem = {personagem} and loja = {habilidade};") + cursor.execute(f"SELECT * FROM possuihab WHERE personagem = {personagem} and habilidade = {habilidade};") consulta = cursor.fetchall() if not consulta: diff --git a/game/battle.py b/game/battle.py new file mode 100644 index 0000000..6b2651f --- /dev/null +++ b/game/battle.py @@ -0,0 +1,90 @@ +from Banco import * + +#funcao localizar persogem mostra coordenada do local +#funcao pega essa coordenada e vê quais instancias de monstro estao no local +#chamar a funcao de lutar, passando numero e id da instancia, e o id do personagem que vem da main + +#select i.personagem,i.numero, i.vida, n.nome, n.vidamax, n.especie, n.lvl, n.forca, n.defesa from instancia i +#join npc n +#on i.personagem = n.personagem; +#luta(nome: str, especie: str, forca: int, defesa: int, vidaInstacia: int): + +def luta(idNPC: int, numInstancia: int, jogadorID: int): + + inimigo = Npc() #atributos do monstro que estao na tabela npc + inimigoAux = Instancia() #atributos da tabela instancia, especificando qual monstro que é + + i = inimigo.getNPCID(idNPC) # Pegando a informacao da tupla do monstro passado pela funcao + iAux = inimigoAux.getInstanciaID(idNPC,numInstancia) # Acessando a informacao da instancia especifica do monstro + + #carregando status vindos da tabela npc + nome = i[0][1] + especie = i[0][5] + nivel = i[0][4] + forca = i[0][6] + defesa = i[0][7] + + #pegando a vida da instancia + vidaInstacia = iAux[0][2] + + #acessando informacoes do jogador + jogador = Pc() + statusJogador = jogador.getPC(jogadorID) + nomeJogador = statusJogador[0][1] + vidaJogador = statusJogador[0][3] + nivelJogador = statusJogador[0][4] + forcaJogador = statusJogador[0][7] + defesaJogador = statusJogador[0][8] + + + + + print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") + print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") + print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣽⣦⣀⡀⠤⠤⣤⣀⡀⠀⠀⠀⠀⠀ \033[0m") + print(" ⠀⠀⠀⠀⣀⠴⠊⡉⠔⢛⠭⠉⡇⠙⢄⠈⠐⠮⡉⠒⠬⣑⠢⣀⠀⠀ ") + print(" ⠀⠀⣠⠞⠁⡴⠋⠀⡰⠊⡀⠀⢸⠀⠀⢣⠀⠀⣦⢄⡀⠈⠣⡈⢧⡀ ") + print(" ⠀⡔⠁⢀⠎⠀⠀⡰⢡⢮⣇⠀⢸⠀⠀⠀⠃⠀⣿⣦⡙⡄⠀⢷⡀⢃ ") + print(" ⠸⠁⠀⡞⠀⠀⢀⣇⡇⣾⣿⣆⠀⠀⠀⠀⡸⠘⠛⠛⠛⡉ ⠀⠀⡇⢸ ") + print(" ⡆⠀⢸⠀⠀⠀⢸⠉⠉⠉⠉⠁⠀⠀⢻⣿⢹⠀⠀⠀⠀⣠ ⠀⠀⠁⢸ ") + print(" ⡇⠀⢸⠀⠀⠀⠘⠀⠀⠀⠀⠀⠀⡀⠀⠫⢾⠀⢀⣤⢞⠋⠀ ⢠⠃⠸ ") + print(" ⢡⠀⠈⠀⠀⠀⠈⢳⡦⣄⣀⣤⣀⣧⣶⣤⣾⣿⣿⣣ ⢫⠀⠀⡏⢠⠆ ") + print(" ⠈⢧⡀⠑⡀⠀⠀⠘⠝⠾⠿⣿⣿⡿⠿⡿⠛⠏⠉⠀⡜⢠⠞⣠⠏⠀ ") + print(" ⠀⠀⠳⣄⠈⢤⠀⠀⠈⢢⡀⠈⠋⡇⠀⠀⠸⠀⠀⡔⡠⣋⡴⠋⠀ ") + print(" ⠀⠀⠀⠈⠙⠲⠯⠶⢤⣀⣑⣦⣀⡇⠤⠴⠥⠴⠚⠈⠉⠁⠀⠀⠀⠀ ") + + print(f"Inimigo = {nome}\nEspecie = {especie}\nNivel = {nivel}\nVida = {vidaInstacia}\n\n") + print(f"{nomeJogador} | vida = {vidaJogador} | lvl = {nivelJogador} | dano = {forcaJogador} | defesa = {defesaJogador}\n\n") + + + print("atacar/fugir?\n\n") + opcao = input() + + match opcao: + + case 'atacar': + #atacar + #listar opcoes de ataque que o personagem possui: habilidades e itens do inventario que são do tipo armamento + + + + + #ao atacar, fazer o sistema de dano. Decrementar da vida da instancia o dano do personagem + #e ver quanto de dano tira dependendo da defesa do npc monstro + #se a vida do personagem ou do monstro for <=0 parar luta + #se a instancia tiver perdido, deletar instancia da tabela instancias + #se o personagem tiver perdido GAME OVER, mandar pro spawn ou inicio da dungeon + #ao final, tem que atualizar no banco as duas tabelas de qualquer forma + #porque a vida que o personagem perdeu na batalha continua perdida + print("Voce ataca o inimigo\n") + + case 'fugir': + print("voce foge\n") + +luta(1, 1, 4) + + + + + +##def luta(forca: int, nome: str, especie: str, defesa: int, vidaInstacia: int, instanciaNum: int): \ No newline at end of file From ccd32f52802e5b05a052e9d982cbf8bb2e9bd5b1 Mon Sep 17 00:00:00 2001 From: FilhoDoan Date: Sat, 2 Dec 2023 14:59:46 -0300 Subject: [PATCH 07/18] adicionando verItens no inventario incompleto --- game/Banco/Inventario.py | 20 +++++++++++++++++- game/Banco/Pc.py | 13 ++++++------ .../__pycache__/Armadura.cpython-310.pyc | Bin 2616 -> 0 bytes .../__pycache__/Armamento.cpython-310.pyc | Bin 2802 -> 0 bytes game/Banco/__pycache__/Chefe.cpython-310.pyc | Bin 2177 -> 0 bytes .../__pycache__/Consumivel.cpython-310.pyc | Bin 2665 -> 0 bytes game/Banco/__pycache__/Contem.cpython-310.pyc | Bin 2118 -> 0 bytes .../__pycache__/Database.cpython-310.pyc | Bin 590 -> 0 bytes game/Banco/__pycache__/Dropa.cpython-310.pyc | Bin 2801 -> 0 bytes .../__pycache__/FazMissao.cpython-310.pyc | Bin 3299 -> 0 bytes .../__pycache__/Habilidade.cpython-310.pyc | Bin 2651 -> 0 bytes .../__pycache__/Instancia.cpython-310.pyc | Bin 3465 -> 0 bytes .../__pycache__/InstanciaItem.cpython-310.pyc | Bin 2885 -> 0 bytes .../__pycache__/Inventario.cpython-310.pyc | Bin 2387 -> 0 bytes game/Banco/__pycache__/Item.cpython-310.pyc | Bin 2621 -> 0 bytes game/Banco/__pycache__/Local.cpython-310.pyc | Bin 3117 -> 0 bytes game/Banco/__pycache__/Loja.cpython-310.pyc | Bin 2343 -> 0 bytes game/Banco/__pycache__/Missao.cpython-310.pyc | Bin 2330 -> 0 bytes game/Banco/__pycache__/Mundo.cpython-310.pyc | Bin 2307 -> 0 bytes game/Banco/__pycache__/Npc.cpython-310.pyc | Bin 2550 -> 0 bytes game/Banco/__pycache__/Pc.cpython-310.pyc | Bin 3356 -> 0 bytes .../__pycache__/Personagem.cpython-310.pyc | Bin 2362 -> 0 bytes .../__pycache__/PossuiHab.cpython-310.pyc | Bin 3334 -> 0 bytes .../__pycache__/PossuiItem.cpython-310.pyc | Bin 2851 -> 0 bytes .../PreRequisitoHab.cpython-310.pyc | Bin 2757 -> 0 bytes .../PreRequistoMissao.cpython-310.pyc | Bin 2488 -> 0 bytes game/Banco/__pycache__/Regiao.cpython-310.pyc | Bin 2260 -> 0 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 678 -> 0 bytes .../__pycache__/database.cpython-310.pyc | Bin 590 -> 0 bytes game/Banco/__pycache__/local.cpython-310.pyc | Bin 2411 -> 0 bytes game/Banco/__pycache__/mundo.cpython-310.pyc | Bin 2434 -> 0 bytes game/Banco/__pycache__/regiao.cpython-310.pyc | Bin 2260 -> 0 bytes game/__pycache__/game.cpython-310.pyc | Bin 2786 -> 0 bytes game/game.py | 9 +++++--- game/main.py | 2 +- 35 files changed, 32 insertions(+), 12 deletions(-) delete mode 100644 game/Banco/__pycache__/Armadura.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Armamento.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Chefe.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Consumivel.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Contem.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Database.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Dropa.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/FazMissao.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Habilidade.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Instancia.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/InstanciaItem.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Inventario.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Item.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Local.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Loja.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Missao.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Mundo.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Npc.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Pc.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Personagem.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/PossuiHab.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/PossuiItem.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/Regiao.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/__init__.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/database.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/local.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/mundo.cpython-310.pyc delete mode 100644 game/Banco/__pycache__/regiao.cpython-310.pyc delete mode 100644 game/__pycache__/game.cpython-310.pyc diff --git a/game/Banco/Inventario.py b/game/Banco/Inventario.py index 3b9e47d..99f3115 100644 --- a/game/Banco/Inventario.py +++ b/game/Banco/Inventario.py @@ -56,4 +56,22 @@ def consultarInventarioEspecifico(self, IDinv:int): print("Erro ao consultar Inventario", e) 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() + \ No newline at end of file diff --git a/game/Banco/Pc.py b/game/Banco/Pc.py index caa78cf..f50a726 100644 --- a/game/Banco/Pc.py +++ b/game/Banco/Pc.py @@ -38,17 +38,16 @@ 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 ") + cursor.execute(f"""Select * from PC where nome = '{Nome}'; """) + consultarPC = cursor.fetchall() + if(consultarPC == []): + print("Não existe nenhum PC com esse nome ") else: - for x in consultarNPC: - print(x) + return consultarPC except psycopg2.Error as e: print("Erro ao cosultar os PC's", e ) finally: diff --git a/game/Banco/__pycache__/Armadura.cpython-310.pyc b/game/Banco/__pycache__/Armadura.cpython-310.pyc deleted file mode 100644 index 1f50a91b18ea6b3e2b39b7794cb9c3cf17dad377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2616 zcma)8TW=IM6t+E=oh+Lh<<>x9T1sJC$kOz!(2CmvQRyO)(1=LYYBKhcf!Ud0&lWP8 zM6JRPsQOwV5%q~b(8s>;FXpvR`~doZTD9lQWiufG>Xnb}vCpxOzwaDxI67J@%pBp{fRmh-{FAbm0V` zMLSI<(esq?CGbF3!tXsJvId`C-UQKF4*Q}dJ@)E|3KRtISP8;c|2m)$UoV=P6mUD2c~ljh0xy z0t=pK8^DJJatC;_X02O+k+%=&!-@sG;L_Sd(lk2p>DkU)`_{ZY+nK*f8K`M4I=6ELuIeXaLE^aN7+tj z_ncTr+sPGOC!Dt1QifmJDXl*nk$7`y4OGP=CrnLuAXO;Sns_AKK?D~JyY#&%HCCh- zK;!zM5~;PKR^4#r?o2v18${x+^rBTXDw`wH1cMUqU+zJHER&-sCQwX*NGCHN;3()+ zA2<@GRAe;E1qMhuo;xZ_#}QUF1wyA5{Pr=6)@j|G`1=U8eq{eLdO(X0m5ZleQ+APD zWx*2;3Gy=x;!E+df*>qm89}r}%LxJyvnSdnKnycT4;`T|=%Kwvk8?l|qo9YL7@%ux zqld9>Wb}ZxphsaLqesyPdYGN~_?7mJ_I%sEdh6!5Tl84C-oDkgF&yl#?31t9$tp9r z@I~b8V8+>ZG6NMW#E@ffCvqG_)2zU`h2KP>FoaLOj~bXKssQHa83K3+rYivMeLH}! zDQ^Q1HyQ%?2MppnaqE8osO11Ax;mPJNJ%i6=vT=1=9&>fZoo)>U?)Zv`$KRSNN~7_ z|8D?ba|p1x17LIA3>pys(C!2n^2rLgE-ypI>&t87M ziF^o@?E>@)5&#cX{nfkE0ff97_>ohlgADZ|A#BB}+zXqfR!>Ckvg7-59}MMw6bDco z1ktSRN)oHwAf?`}{CKZiFl5LqKMD5KDG+&(BS&;rrxsKbf?fY>!Yso5Rin=Sfsj8k z4EbHmZF~H-h5hfaM|?Z}tY8hi1XX^D$`~Go zulxw-kE7TvY$tcz<9S$G0j2(KP^R7tN~c-JcRzr<-|eRLZnq!ufsg%0xBFn=`1y>) zbf0SY=4e1_iHTo+fZ}5mCs1tVo2-YghSWh|RhYvpVo}DX*x2~kcw>Jy*VJ<2;@_O? Y!){hm>wJEyukjC)LgHBP*JLmI4-+9|`~Uy| diff --git a/game/Banco/__pycache__/Armamento.cpython-310.pyc b/game/Banco/__pycache__/Armamento.cpython-310.pyc deleted file mode 100644 index c59d3f7139c791383533bdf78ffe7799206a279c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2802 zcma)8TW=IM6t+E=on1E9Qi?(ZgUW4NlBMZeLn}yFASzud5*iVyS`A}|Y}lO%_G}@e z32GI7K-Jd@iKtKffj;(ye=)Cp;s?+N)T%vaF1wQpq#pTAFY##{qtmltd^sPj{0P8P{a+N|jkO{9sUgaQ{`Gh$td z&gwy9FNr(?DsR38QD1}k)MeX!Sbz1C6pqb>y(D2XJ8ORZMmwm_T$=fOdS>dTFP$ka zrmp?~i|I+H{s5L$pL0CdulLtDy|EcvtybG>2dx%PO5s#Yicf`x;{(N9$wdV7g6;mw ztI!F^Ho;ZnN@W>7)R;uN#EjpsQHi`tR+0*|kV7D_q0mv4?%G-OfHuj_{sN6~KC~mU zPS)v`5g9Mo4%spz^M%GK>^XzI)>ri%MhT4RFjfi-&bH|?Stg)m?hp#|(n(NSw>B?R zvSm>c4ug&sS-%2jpKIH|-eqzRSiNOEwLBwzKct-FoI3uo0udr)h$;R)PTyX`3<+uX5TziX?WE0pq2SHjO40FW0*r|TA??i2b^K|&A*KI?9n;FovK)rpiA!KAo;ZGNx;?3U8JENp;r0Rn zAN+2&9mK|lYJH8UJwV^g$f8)VSJiOoq;(=@jo9I;5$|+U{@Klb$pX50HZY)^? zOr=kgn2J64#-r&%WnX6$Ow|Mkom%i5WfoAaVvhbjNv$8*zlopd6E|l zp*}%=hE6yap2`TqB9;(Di?oy=05N;6?Eu6ug7nZ4`ivgh9(v3IJ&cSVdSrmDv5OwY zQzM}Vyfb=a9uj(FZJ>wQ49{F^+-fW}?CW=Ke^a2x^3BGbhK)JK{?b1GmYvU;!6C~8 z&OT;bI+Ph`SRjTRfen$k-8HiS=K#Oa%%H#75@Fc~U^<@xfTuvI0O0r`0PZ#41t6xs zK7fBfC%hNd{|A6t3SgwGlPQRlcw>=%jeKuz83E)5jO0glWF)cQ2X~oxC$jke8UQx? z0Gs;&HlLba72+S>`vHc0@=mzVEdt#0OZF%42VCMw@do#@`RX@_Zoh4>z1m6mp==l6 zSC9liR^A?-5+LkVuM;?VN=T5;lENTff)kc2*_05}^8ArHwwO{Awn!Wb=K3?za`PZ%>9=?P<4o(>9( zxlu?7T9OiWpBR`DkTHXlka@wB0E{X0@^*TD9DfI6W+l=?+9;A(J`Jrrmiu8WKgRJh zC=LqW@%=kF2f77d0FuLinS38G%~}O75gyzxTCKR!YIS|y>tMUuYCY;XooqzIlSczu zCuhDqfipgd;w*}DDDak35Xl8Whi_OFo;enopv2&5Hqnx=FsU@Lm6(pDj`AxLBs0WIoE?aJ{CV6tnIv9|BW+v?KFA^wIk6!S8 zi;zF@BVSbbcmOr}7=RH*8>B{NDpR?}G_Et9Ya0eLn0c(#3}&$c^qNwcNtt(cW^@Fv*1|X;#sXo8OH@JsUbqlr?sPj-G8z3e}q)qA&2uz{Xk|HnxsluMa zLbQlCHqMAJ!SvTMKzS={^0M%~7v(>G65Mqdch&@~wXqeJ7yYk!&CdWyCArro+hm*WYi;dBIVJmgTR%}5ZPQCy6@cOeX5& zl#?i>`<;9^OF_hi&%)$pMTpRGL&ujEkxf1;2uxyXdSSp{L5d8o1t}7#$zO4=6>~6z z&88ox`i}4eczKO5;;FS0?RnwO=4`5?UvXv%l&HWgiarF?h`50;2#``P#gGAPAClUg zK;$CO^5!;xMlEpjz?)Dw7EIRNDY%Y-RjeRXP+S(B?`f_}o1Y;fUz5woY$(;f0!v?%IPG?I~Y*}=bVHqj4WQPy`BAQ@|wTq>OP$CZ_elkH;X zE9ZRJnX4{1z1@AOE@S*2_$JSeVm{ybE13*qBJ|AG}>lPl;(jc zMG5bV10^p?y(dxlkL<~gm%G=9@+uSJ4(3B90rT!+a(_hb3wN%9GBY<0_UQdhldNX9L z2Da^b{bkE-WIdt)zf4s;@YE<4VjN?35I#bR74>b$!w;|;pIw$5* diff --git a/game/Banco/__pycache__/Consumivel.cpython-310.pyc b/game/Banco/__pycache__/Consumivel.cpython-310.pyc deleted file mode 100644 index cdcef2d1f99513deb05885f9817c2f22f1f0a945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcma)8-EP!I6rLIXtg~!>2!R%wQqzitZAq4Y)!;BY* z<)BvK0jl0sNJPEj1$x;V-om%N;sM$V)T%wl_GX=CX*#Ppp7G2%J2T&RzHvA_TqRJ> zU%xLFh6wo$JLRH5=Q33FAs9|L^~nn1jB7sa&=pF_4Z?M9JSE)NVJnQ&MN&6k!CcaM zMZwl-YF%?8XVp={#n{#)o(ndX=Jggx8>F@nJp!{zH5emNJ%B=fXgBJKjU#ySSiU!8U_B2UXR;L}Z5~ zqz!8TKiaA@iF;2OUxhvBO89Fph^)Y?-@gXa*a$nKAwBngPn}v?ttG_Cvd|?e`Pb9TdCD1##7ykL?_h)SV5}05H!`hDpalkKD~lRi^yi%`w<%PTx=)g9=S)ijl_7)cFDGx zn9ns%6PmC@OY}8;mr(*^`Yxd)GC13z%Ve3rEEC@>5}ibqd)C$^O13MM#3L|AODaDB z1DP9P`nQtvN7nbb#*3xa;-9yU$=E|)* z&Bb$P)p@&L>lfoQ{qwNBKndyb5d1o}>bgRy@Ju!SqzPvmMAGSm%HEXWsxLZ@vYpUg zb7CQFCwFw6aK>&*8GdG`wEAL5;_0Ooa21c8Fg4*^RVdSncr4s*B;ZBZ>3C6UY)UVH zhwFz*q}Ha|a>LE_*>q$+h{U?|qAd(6>y|_uC1N0tph1qwVKifCj)F<4$QYFyge*Op z?@IRfi4oK(Fgms1H^D4grB!q6&q->1$NpyYgceWsr_US+;3AiL1sAo)iyxp9Uya`@ zc)=2u@j^?qoELyBd#3FIvM>Uy*wzv8f)(1oSaA_pVHB*;69asWeXKB^7#Sz)IPt2eO0szm0P=lbn5%{S^0Df-C{^$_sCFVo-44Br-pF1xE^G#e&qD@Aj7{03gx>jX>fehGly+iP428P^s1MZW8 zU*Lb@JMqT_f8bKcqyQxWu85KZfHH! z)$o$iAPFRjj+{h;M#cUn!)R1>Z5_>>ms>dbj`p diff --git a/game/Banco/__pycache__/Contem.cpython-310.pyc b/game/Banco/__pycache__/Contem.cpython-310.pyc deleted file mode 100644 index dda23fc3006441bd46f546d4c97cfe5cc8b85e0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2118 zcmb7F&rjS&6rS;~^)9SZYg*wn$BT33EyFB?YX} zSYNV2>#-GZ8_oGgftUNxf(-yp+LRG=!K4$?mYK{Irf_u|+%xS&X=|*&bQme*MvANi zBYMs<#L8ePvI+z;9BYfd7xIpcq4Xc@OVAdf1!aJc9Fra~;p?!5Hfxf=UB?o84ACnA zcel@pfaH*W*8u7}euvkEV?V9`{fpq1!ML$0V1w?CUte~@`rH?DU(U|WJo1G#!}!d? z&)f^U!m2;9VBG`Dv;BG+)$HCuted9eIiYE);5xvt$}}3u#`|Nj>iV|j##+Y-0?W5C zy#Av>2Pwqey!s6wdJs+a$S&EXhjLFomCnea(o;@lMtk%RpsptY%73b7Kpu=MXM~ba zWy&$#B3lGzYG`Q@g@lD&{a~JwLzR+f2I>CV)Bk5)dbIXr4yDI`;#0CDG+ue|Z!S8gOFjn`3viz2Lz1_nyqf zDmoVDn!w}<%$^uR7(o~Xh$&A9PeDgZB?}^r9!;j8U|Je$}e z-gw5_R|DQO;QT6Y@LH-uiuDQEo=JTaDGm;->Mr@o-~(En{Q;^?08q z;3Md|p*0|?ln`~1R`DL}QH%k^`Zf>k9m{pa`)Iq3P(`=}P|KLP;G-yb;+pv}b;LMM z!~>b*XJqj8H0|gom;^`}DkVH2OUm0(DP!qPS(V-ZQ`L;AD=uz4X9BAR>UwesGP2po z=fl`~)YxbktLuvktHw7V?a^stp}AzNt+ZMT>u3=bSUpht5_frMG3!F@EV1;HD28FS z_yFO`jw{*3Gp`?a*?yLwlils6qH2)Q-Fcl?z3}cao8`lH9#cgI9AdKEY&Qngten@gc%T z0JXx6M_zo4lde%bv|PK>olfsF{=SqFCDI{G3kG(%GpN% diff --git a/game/Banco/__pycache__/Database.cpython-310.pyc b/game/Banco/__pycache__/Database.cpython-310.pyc deleted file mode 100644 index 6d473fa655585b15da5e6b33a97d6f08777e968f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590 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 C(*^th diff --git a/game/Banco/__pycache__/Habilidade.cpython-310.pyc b/game/Banco/__pycache__/Habilidade.cpython-310.pyc deleted file mode 100644 index a8dc836e66f56d102e6b848f875e63498e1a2d05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2651 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 UI9u(fc-sw;Xgb_eN9lz0FGG(TdH?_b diff --git a/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc b/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc deleted file mode 100644 index cb92f3569ca1a02c26f448b38ac378f647bc6bfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2885 zcma);-EP!I6vt=$y-N~8Kq=*;b%0WqkA$Xog(4_fAZpoGkSgkmYUOwwV({8w>;+$75FTrC z!J3NTLV3cPYJ~~a(}aeiqZppHYzb3XPqe1q>si)BMO5*{5PQT3W|?BNn1h}%u@^m- z7>A+zveEf4PMpy79Uq3dWO47Ix`J{QB_4rD*e2_;7R(oR%qKi8dB{!SZt^ zEBN&L0>sQp)b?hi@7|wz@xAmMTX^<@gdc*HXy&?~%*>vj{djuz+>J;&=Y)6e3i+cW zote81=6wd6qM5#NcJIl=_QNEC7>K6*&B+vIC>G=z8t+M8M7A5X?YQH5aU7*nbtxm;$+e+Z+ON%fUXc`l%ygsBd+bD+;dW#k z$;|W~du}K3@F8lq{Up;@B@D}SH;7^{vsU9ZH(I?rn~lwfiFa4}$r>#tYZXbo&K8C26S3TJ!>LgN;GCs3-qs*nFY z$*u2{e-%EdAYixp_2gkccPL0;1W|4)5OL7_@#{@ZJIXNb%GoGq6tK`Sr zFvAh>gLlbKsfG9fi36=(9W(sn>*7LUkO#12W-WV(yW#|aoJ3Q;L*gKbcOh!l zPQtdivU+P|{INVtGbjrTP<603K;~Rgx+I5u^*O1JPeBxD9RymMQsowk!K<3~$GCo^ zfb7o^OZf+&Z687(8m8Z*cqkJaSfEeaFKDD+r)NsqkcD#EkcWu2oG&Hk3mnFWz=uLy zfG;)YO9NlXN8sy7SIhZQcH!$f_|i+h)UFP`v?0Fq4L#=z?~<=lOUc(j3wGsM4}9s3 z^yn~OeRq;G>|Fn5!Ze+>lsqVP_QUxD8fiT}_P>*dS|pDmaSSJjGC5pA@Qi+PFkVXz z#)gq!E_lD59EQ_DZ4T*Rq5kG%;EOzRJCZ^9O&+Dq)%uR=UpuG-UV;oTc<)SA)AMi5 z1~k!iqFyp6IM|0}YG%Q~Nz{uQq)$XPUe3Daq&NLIcA{O$I8Yche8ew8-N4;J2OM{Y zG5%M1tofvx9_w$A_C39unntZc|6M}-wQ04oYOB?bL?@v7NUQar;{-*Iq^l}ZabwCO zw2u=cJ|ICkW*{r&`H2{klpCnTbYWV|;)-%enHaSuCMWW~nqK5Uy1k@Eg8uE~UAyVa Utc!(dfCx%y2@C(R=r^JK2Rn+a diff --git a/game/Banco/__pycache__/Inventario.cpython-310.pyc b/game/Banco/__pycache__/Inventario.cpython-310.pyc deleted file mode 100644 index ce5ee65e1b453fb71f2247c1663c054c079cfdc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2387 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 diff --git a/game/Banco/__pycache__/Local.cpython-310.pyc b/game/Banco/__pycache__/Local.cpython-310.pyc deleted file mode 100644 index 8fa5560da37835966bd254b80f332bc13ddde15d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3117 zcmb7`&u`R56vt=$YrUJ@5JCt)+JXy(u#jY{^iqlPqd=jkG_6V{)Rn50@l28p-koLa zCB$-~R-u=kdaP7YL3^n9JMv%n+7oBm3u@KAH@36hut4j`Z)ZI7UdHe9zT*+KT7|$h zd-V?AtP=7&c8Zq{or`b>=fN<-s85=NX-xNNhc+q2w&80Xt*NQD>FXW6sZ(-|FpHHQ z5LVjKng*jcN!@-5G05Um3bsxY`-&U7x7~n4+x)cOWda)37ks(x3J+%%FI?qCxPuT3 zCr!#oQ)85A4@grl6Q*;68Qf$h+!lxb%*~|=vsw9p(JbNUlEx}*40<-JvKn}m*|>VT zhfToKO4i%UCZRXR_NlQcwjX*`HVvykkeD}w=lUKlKfkc8!F?I-0P;sdvPELjg5`k= zU94*oGni=XHoTk>aDV9uk!5)F=M6B8717}h+4k-`S+??1JAVx9f?9TGV`RJ+WJ@cDEh2S~f%ua8*?rjiYo@l?4Ta+)Lg$|A_jzzC(q?BOeFls+GYgIS+32v!7t95hHWQ8~I!@5{co2x_ z;73vl#}(PAba=;6)1Q=O3DS|2JkjO%UC5r-mw}K;iQng5KjiR0bUN)YF?$l0k(iz@ z0-o5tVBHhF<%Pt=(6U~U$WCG*NzAkyN3#db1e!@S`@keMwL;GoN;nDSs;E+foRVt# z3Q{c)0|tk|7}SQp({NX4#hCben%duJ|7dhtizd~~`J$VLMU-Dy2^d+?{~j9Ah3IHT zA4n_uzETl zL+&g|Am%H|Yb#uGAea}tbIy5AcMz-j?#mFTqXWcpFT8QxD)1SwsN&=tg?s}hz5pW& zr&4?nCKO;yz5+(kZD`*ag7E{wxD*}BV1W1(41@wwEI_r1GdJkyNO)TOw1b zM24LcJFl=Ix!{JdBbOhc6J3o?{s+0}sa#@1kurglsYo4)O+{+AcrE}bD-(|%TLtl0 zo0bv}{Ju&&PmINAW&|l`gnZ;%@FLPd^EQ}zDb>SCe6Yhn9>*@`bY$)i4yW((jyxB@ zqd)<5f!ovz6poCdFbFe5p{SE*Kf^zWu1EF%Lt&ZR(d6+g^Co_rRGp`)(I2TN>T_kS zmew!rsK$oR-s?89L9{H+8j&-w#L+^K$1tJ8<*y`>YhVW0{ld22n;$F^HvU58p2me`JNX>6 zcUSJHq*d~F|J?fwU1q^V6KNq1h8F8JJcV`PaMo%il~$`GSl`EXwbi=Ycl~rk;=wD? z@gSfFp-hb1LiqAcjC&N#2{fnBoIx{>29JydgFB1F;>K+zKspuFpu|G)Hd>&7>0Y0+f7>R$A`oEO{!W94j diff --git a/game/Banco/__pycache__/Loja.cpython-310.pyc b/game/Banco/__pycache__/Loja.cpython-310.pyc deleted file mode 100644 index 839a213aff75c90f95d511e29d5dcea74630e68d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2343 zcmb7_O>f&a7{^J8l4ZwE)3i&Iy;bdic=Q7NMAZU+=LQLgK)yBN9u%YT=!^;)+r@-31{3mB-}XA>Kdo3q-4H?wxsrw zf|h7(Rh-ay~A?PPHJ#rU4wEPN{|N$$pPt+2FwF` z&{|28xc*q49oMM z&VM#HKYP!Y&MX(Ri$98X*p*KCu><{XIc?W3O zyop&2{x4>0&5j?liqrOEtLljs4C=?mvhO;cYeL7tm4!+Hidx<8P>JqGpY+HU*`m8< z&pgtO$!?~XInp`p(cb`SPXpC^Iwp-K>>O0sryVjo7Hv0E%x}EBanI4R@O-k8XG__P)t*)%u zOSQF!HYULSc5(Te>gvbEh!tn-Vx$#kA{{F_JVsh+p`RyvsT~N}?aIKHaYj57ZZ{MV@LR2B7#khgY{Sj<{6NH3C)jcQ&g1#m zz+q)6D>2Cu_pTg4!Hpv^(Q*`J4CNw7OoiGjeX%eylFSH~g@NE*5JoNd-GGv#IX3ps z1hw|HHyWMLqA|4rQk_n1Uz`U{LjnF3D$(7@P5=W^1sI?rUd-zBhMS zX!h6v0Dd~PPTG?R%Fh9%p-`HzF~Hj=D2+X%od=X~Pf%({S=XyLe&@u2Y15foOCqx}Fe%{3}9WwX+s{ZYW;*iQ#~cG8{W&xP=o+2AcH@B{bZS zQqor$E~x_-vld;g0GGAukcz#2uewsT@wBnOw2QAsi}qrzV&l1^p0(n@auwl;&`Dd4 zt4JTByZ|d602%t_1kJfHMv@UQvq&Ljk;(tINUGB*07&}8B7Y!&2hsHZ1pt81Fpyw5 z4Q4Son<8kKlwH0C5N2W*qi3c-n0uzO3)~aCuv2zPJ;DDdBlWRdd)qE&z(^YwB(I_1 zmrUYeBHsfkWzL>a!<>JBjm~qyl~dce8gzu)+-SP~9CS$e0U=nF(L81QV>I!@eqL98 zc>irb35R!^f}Dh;xlb%jaDW>-k3GY1i@kZzO)VVm%0Dtiw4hr*OhoQE)rR zk5GmNRy90IB?G~tKI9g$=!d$MA0M5_t2ZURe^8)1Rp7iaV(W|koW8<*2IyW3zQg0% EzalXGK>z>% diff --git a/game/Banco/__pycache__/Missao.cpython-310.pyc b/game/Banco/__pycache__/Missao.cpython-310.pyc deleted file mode 100644 index 1485484f8fa5acafd6aae76ab473dc71a898fed7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2330 zcma)-VNcse7{~AIv*UyW7;RZ$)9Q|CG!u}Cz1h@mD=R55l^_8dTBIp5zN3UXHa$C| zSOGD?t9^uRl|Xyd&(Uw;w|mtO&^MFT?s;q{I1$=*);+#E-<|KC-}AroN~HpUH1qI@ zXy*v|6D!%ILghYW|6?$maO#jc;R;tB+M;zz$r9m=YiEROr%GMnbc2-jSJ0Q#UQw`R z8X1dLU~OBzu(3It45-|P?5~3nq)s`(DY$Y*>MB@5*Q;PEyIxCFWYd09dHJ&xmdS;=DPe=ou2)%V29^0w=Rcd9 zpI!E(HOs~9!cW2t+R~~#wqV>hmTP;JWL0zfhmp}}G~H&1hIRZctfH{jV(z^WZJE;F#~dHw?ELSJ@4CW-L0oJI?_r=W5}5E47X4`lh*3+gvk~-J9Pp zJo>J>ac4SIr)SJioiV3FrF^$N3fsXRFaPk&71tNC$*uOg&{&nyGcC_-#*H$b20FdS zOLR??vprWl1E=YBTl$`ia^jh=+kt=vuhnV>k+v_JF1&2V^F?Ir`-ir-|9C#qaAsLH zqz>~))Qd#tN{k&@LNkH}7ZyI ztS6i>-rH zu+y@Zkxh@ul@v;{)|$_{!J-;1N%JRr<8N_{I}uM|MxsFLB)V)U(3L)hivd^gnDP%0s0Dlg diff --git a/game/Banco/__pycache__/Mundo.cpython-310.pyc b/game/Banco/__pycache__/Mundo.cpython-310.pyc deleted file mode 100644 index d6b406630eade47e0c09626e7494b992d208c278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2307 zcma);&2QX96u@W3AM0#3OIbn)p-?La!lEWyg$ocqN(qEYu$Ll5tb{DrGif&U+Ubn9 zNzA4KB_~dtL6wqY{|^2OUpe&;;8KZ}_r~_dn}(KI`R#nXdGls|^PU~g%+v{#t6$$0 zKh+5N3mes9K;t?*>Rk|=a2k>x;fxz09nc=7WP@;%TgQZ3N36#6w9M9`V{lxQZu&mIl22Gp!a5){M#0lK$MZwrX%#%p5d`d*r}ew}cDBE@g#up#CP17EF9;|N0)YUC3IIT}PJXlx0mKLbi;{b>LgZuM!7)365f} z#!=J(htW-EZ{fKl?)w!WYfmnhA(ID!FI^u(DpJER@jq_oVRLrL*};W0URB0wh6 z-tS;B-ALX45g>WOgM_I0K;nZlM?Pv z(kkmf$n2(z7Z5rZGIAbvA>RUVF&lXq$2FEQ5e;Y}bB)=^w^1F>`a&?R$+PW3++G7+ z<$}oJV7OrBGM`;yMdo_iu-H?`Uh@~>K@;8f6u#9Wc-eVgR`=!f}; zoPt#{LnTta0X2!qQeHvfqCmD4ff-ifX9DJVg$daq4rQ#xnhmGXYU;7Jk>68%HR_Iv Z0c}s`Y3GyNq0jI$Kw)e<@Xl=+{{pLm1jzsZ diff --git a/game/Banco/__pycache__/Npc.cpython-310.pyc b/game/Banco/__pycache__/Npc.cpython-310.pyc deleted file mode 100644 index eb94460fa3d24c9f813ce581b0da7473430496de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2550 zcmb7`-EI>{7=~x|&+DHAlR$tL=oX5=DBvpXK_yB>AuUZ+EF>yLwNzP~ok`-b-Ziu9 z{H&aaDyTP6A%WTxq#pJTxQjjQ5f{)Cq?W$l*p8hxRO&|i?#%4Ww=?s+-#GEqREgo5 z|MH=nEi(2yRVFVJm0P%z1&CmRhpfqjAc$0G~TcOc0ng(ZgnXrZPgb8QgXqtjQ zV70<4jAM;g99rYKyXdF>il0c7OZTNp;>cfDJYfiI zN=sPM7B-%abVLD97xf~ZC26fzMOjpySj~c%64MyrieqRsL{%I|Yf;ST+N?N%T1lM5 zH0N@&(G3Ec<>;caf%^{bqykCVKI^jpc4@&x;klwcnYY*4s`rUR~U-)q0qw5RTzKWH9O~`AXZ^|g`DZjqvW87^& z3gSAZbiKQiyRB9`YNxGM0dW%x;&O{;6?#2-m6y5)yO~=NzMU5~+rq!+Z|8*|jzll@ zb2How^MXveGHA=(UX4}Y=Z=u8GVue@Ke%YQv$*xze?uYrHv72GHrNK=E%uAgjOT2( z)Gs{)<39fh9_SlTvu{GJz6G`Wwr+QHdqKCjQ0M9K=Wq>TSkD<}sVxfoe3>mXM02R+ z0kc?I*l>65akg9LEGwgr+b{3KU(4(}cyPD8SB~t#bBk|Hj3qLoI9se%Y-Fd}Q6g39 zwWBolqHf@A`e9EdS2AP%a%Nnf&(6)4ytiMk`Fv*7Ze(+f`**xRwS5tLLEQ0@ULcbs z&St+*D)#&s@$s3q^3bnVR1S7b@4DRfI|$=M z=59CH3F7YBLT*!3RjVlCt;!?>L`{)QlN=+V98t$fW=KwuoP^|DY8wuOu;wn!UBNFD zEV&M`xQoBj+~C%m!*}V8Ym|7&s{T30-Ny#r&KU!*je;CX6Iv@BA=)axppbo&T^d>i z=FnDwJ;*8=yg}f1VU;!Z&`@Uq*VyNrMa90k$i8=Wt<>&Y)bi;3GK)^b49-Sj=QEhW z9-6`I+Y@H6_w1+wGvGNigYnEIBasuxXGW}pIO&C{ue>;+QJ0e!1L9)>io)dXs!W4*KMd7rRMk5q z?~)SLm`F|`V^bPyOpbH1(4QeQex#vs-Es8Y1#1IU13Nt1+vn)SHKhtwWdOye(* ztI{bk8CuZ+641#uy2xe+2!BN-yPwsD2nii!JAjR|{i&%@ni?hYU8D4X(j20+G)fyN zZH@B61j^e$=?qa?ef&}!W zW&rR-EbnN*I}EFic6d*XaTe0X>kP9uoSizbSQ<+K$GJ6u#oDtp z7Ciq47PFCE6v!|nk1aD?j4$g1%XI0Gi0h$tr}#vBEv zH2exa@(Fq;6m5`3RbJr-$@8XS>ExLv6yqU{TA6-~Bm6?QT6w9}>cpZKQn}Ji;=h{M28y+^Om6OjWOf>q9#e*=-oF!%rf diff --git a/game/Banco/__pycache__/Pc.cpython-310.pyc b/game/Banco/__pycache__/Pc.cpython-310.pyc deleted file mode 100644 index 976a3cdede67994cbe932aeb14fcc2d29e284b8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3356 zcmbtWTW{RP6`mo7Txu`MMzIyeXd*ng=}erz<}LrK*jxG5u)~bAqb*%j@hi&oP+YHj+(;!i(S3624aTM&S!;mJGpC%gbp(Ou+QEZ1x zwqr>yt@{ic+e%1*;-I)F6%-F;0i~+MZd2A|{l3_7WJ4}ug)5&yuO*xES@c$l){=Y< zEl*xBV;AKzS_?ELpGS|7EAj>OROKaH)Q-t|C$W-N#IO==$Fl%-Vi@sMd5ZyuJ4I-?a*Ssr*kgT+`o=*FNZ_YwK^V zzkPlE+J~_Yu1R(6<{cHKLmjN`1z7if5QXttC%is5$-Qp37xmI^w}NdG0poGOvl>Px zBYAaj?&{n+9^~RqPX@W&zthh>*^Bm7Psh2l8|yI0U8#0e668)l4ugJJ!-kV*5tZjr z%$>hNCELmVFk%PnfS=YzwTIRtc3L0R9|HOj{}-q+vS96z4J$?h))_g*y0F%$0&9;v z)3ab~71n)l@ezoH{lp{2S?b8j8Q*5x3_H8jbBhUj1R9TE~76;~1RQ(|%{8wV+-2Ft3Dh zq>h6)cf%n9Lgy8AtioZc&=DUV_R`!LXuMtSg#9>Cxi?5o!g#Q^o;$RuZY^qpUK3Ke zh`=jNeAEpx1etz@Mk*>9sIaFr#g=}S%o3RkWG=$wTp50j%>wmQ=q9>jNRYgP9$|Uh z<15_a;_3WSed<|NUKP#nmbrJ&!mMR0tAdQhRx?3F_b2@^g!%%N?4#_pf>5B4ArweN zgff({h!UqD)E>KS>E8f$>x^?2EsX3<_BZ!bq|QiC&u5pnS+oM0xCfP!KY=DrK@)rA zlxX7Ib)q_Gg8zah)6YrNF!kT?cQsJ%Y~1jNTY$qAheO%fB5^i3XO-#Lo^K_lyAtpY_tk7NOuO=aPMZP2t0nh*wqrVljj0!?Ai zbbzK~(0sXs=KDa?EzlGrd}+>u-o5J@H1S`cY0scpYT<1R&PVLA)6QP~A)5ZtzS7E{ zs;2+0pIN~8W!!Eq#wOSi>B`^Q^tF#^`X!iFWegVitc3C_)Fc4rLe(gFduy|WX(h0h zej2RiELdBcGf2(E+n3ll`#8J$E0FR=Vw>W`o(OY+6N&T9Qq+l`iMnEa5p|{3WalHM zU&refl3DU3#fv6X#-T#Yp2o{0RDR(7*J#qb7;*Mg+S&L$hUYlkwW>lqY1&0}d{=i( zba-&MS(ewgHm8J{al3;Z&jaLhG_rTI~XB-H`<`R7K zP^cEC;1J4`5|Y2MP&Ij-pUczJx-bAV0Kjxb?tEm@7RtRQ&kXDTiQepHcBybb=@RJ^ zRLJNPB`lUnUhD_XRHbHMc>A2$6{Iyk{XG#g3RG(0yh4FmP@v`EKn8#T03<5)P3lFO zb73AHPxy_o!n}dI%y4`a9Y5pU#`vU8X#DgE7L**kGS9&zDKm@Otr}&W5i-$kH?MZP zhp`;?sb24PKN|-9@rWkM=Qc7I{X2Ru6Lwdqc9qPVWUiB$eyL22G7n85L%1b$B@ZdB yD=bdg#Jqx>V{x%bzvY@)*%D(85(~`t%Jj}VDEIz2etRSdIE`MwV|BP;$^IU>Khnhj diff --git a/game/Banco/__pycache__/Personagem.cpython-310.pyc b/game/Banco/__pycache__/Personagem.cpython-310.pyc deleted file mode 100644 index 744b34a85b926c207b8fa8885da6c936d1205b91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2362 zcmai$TTdHD6vt;~FJ2o%s0o2mnr_>usw=P~=u>Hk+bfE!o})r(ZRV3Pxw6;LF$wf9D=h`QrGf?YeMI`Fg9QUZl3COljpbvu^dJ= z7|-(p)LK1ngcrff^HEsBm?}IJG7NlYQ?y)MNWb7agXbPRVG&G3PDqC|U~cF~Yh@;J z&x-MNSi2qyZ{r1#IjH*QM=;f`pe3rZ>F!it{vw5Ab74P{usv@psNQcz)rH#&i zZv*Mfb1}dCMEFr#I@L`F`mH#=8&uPkRdx@R)o3*RX4GhyFnowhE7Eu()21I+#Rsdq zgH0)I`O!TWm)bA5MueH{>^FFcm*bfZ*(TfcNb6|N*%>*~JNk2t(+>RuAa)p7?U``~ z7$L4h+;~j0-*{@%5JljJF@Dh}O4^bxYSOO0quack5BRw)Y`UybY zn*^LwfYaR09exft4ZvB549+mxgK0c95}5G62a^rK%y=+kf*D|HwfNmN;R!dgKeIPv z(8@4cQly6|JybakyHM7Kh}*#Q^c~Kx@ZEEkSIj16Qt`YzXp@;(moW z;ydxw+aN()3z9$3bb4xTv$M@yVOG z`sqHPq^l!s(XxMN`#g}N5bjGY$$lvmW3Mgb;Z^6a-sz2#9_k{DlgW1_%y+Dp@7@%R zgu!guymD!PTDgE9KOa7fjfN^T8m)l0J$x@V8hdTW>qcZACQ=%vZhbunJUI=1B6o?G zLVk!QO$NyuCTNMjF7R6s;sz~ZQN~Kl8W|fajVH0P)=fb84NWSp8bw)Oc9(Sre>jAA LO)U68m$d%?J}xJ} diff --git a/game/Banco/__pycache__/PossuiHab.cpython-310.pyc b/game/Banco/__pycache__/PossuiHab.cpython-310.pyc deleted file mode 100644 index 40157ca7b57f15fd09b7d1b4ab6350404888fae6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3334 zcmb`K%Wo4$7{F)t<&8-oSTwvsI)Mr>4GB$e4Im0J5GW>sR1sDyYqK*+9M-#LW({QJ zpjJWZwWnSxB%+@92YT#<{uO)ei9Z0TqNVNkt=IONgvX&9?dO@D_k6$akzi;jPvDuj zd{>+rBIFOOWFH+W7vNRrL2$yUM=FGCT=!_5Rw%`?;c0cPq9tY1)9ZRgr{oIZ7SBB< zJh!P;3{G#8qWuEqAmtYnWRb@9tP?s*juKGLUv-vhUX43Esm%+i0^eB?br*+Z9|I~E z;8jZ?1gTI?DjKI;drT_&0O7hYxFL*XgPYuXY*ft5mmIg@i^T_c9(w08ExY(2wAlD% zS>r=|H`E6B9@zA7JTM<9)vUn|UEF!+!LkPLC3w{!h>&cO7OBF9U>GeIHHnuOYkUa~ zXei+=KO=GgKE0d=F|``h#gweMcc-3zFNMRnU<(rN!&?oeuGGS*=`+)xPfnk{8c63f z7pK3xFZ{46ov9TE#$9xLH<;>fY_hQ)+tq5#uZ7iW4rW)lvq2gadR;oralX;L-8jG6 zy>}OP+j(#f1S2`zk5Gs%Mn_v@jjYiPy`?|Zw#bIjGM?(3w&>3QK}!RvKQXre31~N< z-3(1`Y|=%tNT8>+MJQa1LBiacy*@+9hDAxV3;LKXYZKsEBzFL?4eOERo9*8R^g(7U zUTbHb2c&3~qa$;^5;9~pKMYtSQ4$=7-FLjEP$yr}iAXEXL}R^{8uqX8fVn}PsirHG z3ZjE0DFfyNFb%fK-b~L1B;G@ua|2&Ibb{D&o4}=vbK;?Jo1uUYLA_oJW3wS)6S3)f zffBLZQ0s2cSecG@&-tNPk+pCg7m>xBv|&Ptv`DZvB8O4z1rhH_m!FkEV=ff+n2H3J zwm@CP!)ceUPItjqbqIt(ZTLF?Z=UAO;nyS7{!aT>qa#{$sM~w;&Eb6-$BlJ0{yS8n zZ=&fB*0|Buc*|7dZLL${?`@g0D4Q`vA zW6>aUe9pXJ&4Jo0I`i@v+(P;JF9BN)YHaoSRyr0O0dpPhs8BjQQ2AG%mB1K%sMQ0- z8Zub&MBPz{)Up!^$sFL#S4}T;CK+<@1&e7ug{wz^EWmQHy(~g^)$u&J532Gb6eB41 zgDBc>=g01>5z~kAAdWy+lc8r{r-SSgF@OC4^id~4^awJvJhkDqXx=dX95zSWEd4cT zYySXGW8Kk{J5AW%haz>iN20LO_>6}k$4gC9Oy+7zo8`*fqzklfC3G*4;1MM zMFvm=-UKKbZ5atgTF0kkD7pd^nJGnj%LIyyK8nmoWKAU8l!rq(HguQAKf z!JQ~V5@wno!@>G60ib-|M0ldhA-i9LJ`kD0Wg^Vf#&=g1#BWfy(H6 z6gT=V#r3&@KIi`vEEJXgSLc5|b^dKrx3-!3hlT(!?lZGs+zX|wX@gSIOd_@LUbsUm zFCy<5_!`}brc%2_ zd&TIFSwJ`XKhZOBAMye<2KJkHZ?In@v0umrT4rLutYs$ltM6dH*E47sEkwiYvtL95 zqX7J-_M6U<+Ha-?`%7|;cCPS4YQJ-{J=IUJGUQ+rY(dl;L6wWD1l`FMXM)W-e$Zwr zL(^QjT)M@s-JC149x6A>EYsy2gp=OYQnx21c8wTVE@9^)(yJy?Uzjrgoaxsq?rw_?!wHoKE)q2329+n5I)q73H zYqv;DQDPmEBZ-Jg45{)H6vt7VK+%g+NeKgn#K?iK!ke&(O*O5c6^85rJiC+DqS=m% hI(El@3Z#hw2kkUtY@coK5S$N8i;LKhAmd*_`wzX89Pa=C diff --git a/game/Banco/__pycache__/PossuiItem.cpython-310.pyc b/game/Banco/__pycache__/PossuiItem.cpython-310.pyc deleted file mode 100644 index 0e0af4f5ca9048d1c7b1c57ec60dccc7edc053e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2851 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 Ii8hS?0K-E3nE(I) diff --git a/game/Banco/__pycache__/__init__.cpython-310.pyc b/game/Banco/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index cbf1f0605c28cabde09951f138af1fcc09a01188..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 678 zcmb8r&2G~`5CGtH5(mdLl=6?nq1PZ%qx6aprB!L9wnU}(XzCr3rM4&CwJX7m$Kg4+ z@&t3`!~<|=97Yva*7APiS$S47G#sWz){DbS#EvmP+mC;j1RrbyK~oZmIXw`|1Prq54RDtUeJtAIzxxE0UH*5l7EY zM^8D~^Cj5E0}tA$#HuEa_m}t)Io+o!G^M-7g8LHJSaNazHC#YIjt@Mo9)E;i#Bx=&K{WDxRpl`-MlQFEf z-|r>LmQ-TqU4EH;|LPI8EpDHC>9kl<_RiJW{VvCD{!D)f&Z2*BF8%3Bq98XZ>a@STG@04Y%%e06cNGinIOQ0v9 zdIumwH^2qVz|F}Uc}5g-1RY8pvy#Y|C4H$giUXvi$g=VXTDS|~_o zT0cm|eHUy!j^(Hqn&nugsfe?wAs(6Z9YeH8u0N1kgIRvg0fN39ia-tG+u-v>30C8x zcBx<|Fi6lIWI?zWHXC96Oe$9AqJDHQ(kxdj=rO1}W@#*gVw%QiY&=Q_=^&$&*ezQc z;^6t`{gKksW^quBBC}(UkJ1zxQfkVS4kgbMYgZ_}%ULpus10Z~9ee@S?V7zGd&k;x gdZ^+|SA4AOvzXco6?Ps(j`n|dO-VHSEE=r0==(ybyYV5qi=K#N}TMEbe>VLEt=W$UhFM-5r?|jAB0Rm#gcrb=LsK2R?E>k?m#OiUCKyT zW0Yz8q^s8n)48z>D`Doo0dG@p?pn-db?C3L1{;FA&6==^;miz#?*%?Cqbyk0;F^Og zYJ!Q$9!ZG{uYoDF)6yiaAk)|qEYgU0u>6$BIy60B0n=U;ecoom3zvJrs%Rg6FS+M1 z?tCR-huCsI2;4crc>C+l?A(|04;I?9Ug(SHz4r9&>G!9mCqEU^n`C_Q{ss@@f%Mud z9=KG4+G@R1>)V;_y1lR$yRHQ;Q^h_WE!VYt-peuYZ%dGc;b z*2o&&u~O@ac0hJ&Y3+&5Xi9$pq^Sm0Pj#?HYN!?ytoeB8fKmc8447fZ5a>O+NEQjq zwGIe{SQ#X)t=Zf2lC-XZ;uX88jd37OUS7WW4+hX&E__u|Z4m#~b?^aBy` z%wCVSeX+hWotfxbwi*(|L$Zc1gk(JQnD^%pG%z0dvUm9V;cp@{LdX$`xg||BBWTWn z$%fUUeNQ|@5oDCB#L5k#%bNMFq*^n!M3=!B)P~jH3i-PsCofjKL!2+0B;uHjnu4w zH+M}19_|JBVy*&T)B(KNN#15W;4ycWB|ubLaW+@Eez%x(2wRQkTYV3h3A6-ZdrA6%&l9>t;?LUwda}|=J4oLJ)GPZzmiJhAjC^Ii! zFNFpAi3UOJ$sAXqtK+!J^RTbXUgojC>IH!u#lXIXW(>^*FeQ+RE=sQ|)EV76lgCIo zDwoG~a1~tzlgp!_MAD$vX^D*G5;-~fgh=pYI1xaA5-zU zl$wgqY02CJK2{+aJ+&&5v34yb8MwbvGDatvID^kwqLEi%Bk~#=2TZG$A6#~+tO_!W zqK*7gv+v}qyo>)QB5bnZ3yr@~`VWoZFfafB diff --git a/game/Banco/__pycache__/mundo.cpython-310.pyc b/game/Banco/__pycache__/mundo.cpython-310.pyc deleted file mode 100644 index d041c9e5a03afa35d43eeb2f645ea756b00a4c76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2434 zcma);&2QX96u@W3AM0$K5QVg)X`yZpq(&qQK|(Ye2bM!X5i23f^-PkDymmVF zHi_j_p!CFvGpJH>%-_LZfv=qU2XLuG%X{PXex%FCto%IVdGqyt@4eZ0YN}44{C-u4 z8x|pdU}Lyw(6|jx@-_%gI1NdQaK^Qec36v1a*uGG8&3!~PFPFhbd$K|Gtec?XB4DM z3v0tq{Re&`0{lE&7&LCflb{f!MLB6PPC0u*TG|BRTEC{2XzASKHRv{MZNx)F~9+;dg1j?1jWlgxm~X-+(nGmx;{COM}~mlb*xcSK>U@f#vZ+fnRl zg`S9TTbeLR){TsYrII4gd+6NcV;%thnd z=Gyw#8+SJwYkm~O$@`6!_f|ewURk;yOMi)rr8|#Aly;@x*zsXXrPNRxS>8V?EYE94 z?bP#d1Bnj8q;;B2mkL#9fTper*84}cp^=gkQXN+s@WEvg?NTuQz@-wfmj_d)ljsj} z5(ExSa3Y(Im=t${O3I`^LnT|wZsuf2?!_W?Z^ z8jB#Sc@Dq4hgnk{^V4g*S{+lERIcbudf zh$M-#`MXlaj$idkM|2#eem)`5G(|0lBXQ`*g&A~Z63e0{4n@#S1$>A*opxFn`x4eK zj3A5?QCR!QQ4sI%tP}=LE!|pa`o4e3X_!{NhI3D;Ed_q8RxGF}*`WI=K!siIS*m{Y z>tq3hPA&M&!&9eqede#r)cS$FWb`u2W;=M)<>6rg!mSGKqEGcFXk=ex*LzffprVR& z`&6H5iYHS%bzr6Scxo4Tegr&?9#1`oG|}g2JT??hc=ver#wwn@I`A}_8H83SQsHb% zK%|c19PA1y91L9NGiUKRTkP{xy8b`$EPDq$7X*|7fj|Jn5CA~4LB2PS0YnagMajcUxvs*CUBH3iRpDU& zfulE8;po)?ht|yIHqkDr^Ue^E)#ul$kSPPfmyQo16(!v;^*?dTuo*bHM7J%hZIK4M zei+JGwC?LD=1^P$QBfHHv8wqBdN`KHbfr*+#x0m7c?(1t8g&&QbqYyzG(6_Y@E9FD z5+EaK?-!UcyO%ltBS6Z82MJN}fy4(kM?P1!NHh;A&)lmWeLR%%v{zD|J(BXYQw!52 zGJ)hd)T-)0NN;90#}K*@GV%(XLZZ)(XCvRleubq^L;)JfTzxhY%`C5@7#AqBqqc2A z+yc=TO_PmE( zKP-FHg(l~5Z&y*^qVfg`l~M;n-F|q@;ysz**)3u*roqE3X4#f)PfP4~b>*go#e4s5 b)Rn5b#?4t+pO!oO9IxjDgWQ6PbyoWuPz@M7 diff --git a/game/Banco/__pycache__/regiao.cpython-310.pyc b/game/Banco/__pycache__/regiao.cpython-310.pyc deleted file mode 100644 index d1119ac575e867f51c620b6b2d1bf0a5a78fd1a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2260 zcma);&2QX96u@Wvwa#X@DQO$h4^abB!y=M}zyT3HnlI4{i$p*XDNA$n&l~ex!E|n0xH}-CJH!Fl!elzyGd4BVL^WLne*Q*4s z@JGh~s1WieK8#*EJluslx&wj{Mg!6&Ok;XLdsCAu@j57;blU0}vt;J?o z71|1$g-_LTOY;4$Cw%PlVHFh8TGa?@BJtGp9 zPyXtFXm&)8H<|Fly>8GE&F4Qz?m3J*UrSgAzF7|fcT+Il{HC?B`Q_I3PIJQxeG$Fa zTzz--{gu__dqR54j4!W0A=nr zz;C6uoNgF#8AB5br&x~j&%z2 zUEG#ZINo4XI=tt6k%UYFsKc`MYyZ9YFz$%f!g0||7dhUORpC3SQ(q>Bm2RH9t|1)1P|$F>Fts+ z@KlVE^^oxsUD4GPT?5GJC0%`j?uS6vEa@5==cvOacQA;~C(hDKZD}pNS%d`A2DCjU#=u@5fGtK9*g{|8${Uu#BCkMy z1Vo|=$NYcs7@Ig&O~!cq3?|d{Va`F8DIUlLc#LoWLR;iJ zs}DRf$TmtIT+0lVbJ_%zk4h?4Ag7^bnQ<4Hlrt5RvJXu3R(fp*BNIDsk5XBCIX?(9 zq)C(nu_v7}bIzkG>#(BS-s7>~@q$3kVL&gVcm>5ghyjlC#F!fzECQX=<7qhLYcTsZ z+!1z)q^PRYs8UNM#?|x0Sdc2oRwhi3rN&tK`xR`a+v%PEks3wegTkngKmml!k4Ua( zrb05AD4&*P5RpJK4Ut?dg45H)Xr*sXLo$&lauJpwZ=%3jSXQHnZLfkTF^bbdoL`xU zR|}GG8I(stj{6=f(S?xTm>zO8(Q4RuJcV#5)x&Bj@tDKYOr6O#0k3qsX4h($)JVfnTQ0X*`F}wj(rRd$wcP%=@Cjgn MNz76k&d+)JFJYwv82|tP diff --git a/game/__pycache__/game.cpython-310.pyc b/game/__pycache__/game.cpython-310.pyc deleted file mode 100644 index 99edc40b2057a548726f4ad5598d19b4825295b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2786 zcmb_e&2QX96rb_edcC_z1Et?cZjmasQko`ddq|m4Rhs`GjK%k-q^dFG~$L=elzcR-kUe?<2M_%S{{Mt zy_GFN8if3g%+bdH=3{u1$3QsYv_~EjL3hbhLzqA;9U$oyEyBpR@;=r8yepWWz7 z3f9`Dvco}~rOJo{Wp_oow%9h5wa&JMsy&aoj7Rb{kr;4QZ(9t~OtP6S13e_ylsV@C_eb<;1`i#!EA@@x#;`J!H>}bmZFzW!f(*H)%SKV8?JA=eC>PpeH40cy*|7`%3{t^ zu@>mXZBLnTlqh3`EBCXEaS1)8Y<*H?>q978yRJ-dSWTgG$(KA#;%E?Vi!f1kKjTa) z8tOhQ3BVLl6AuPK1bZ{Nj!F|COKt+O=tT9isB4@uuF|()M0)PXylJ?G3mw;_#y8gA z@-is?C-z7LA!z|=oBF7#4u?vzaG7nWOW;J3^-?C+hO)I0+5nuK-eenLFXW7iv0Qm$ z>6_=euo@;{4Q!uKyMcbRkX!|F%wO~l!9(N38car534H~%Oo4~K2kZdk2Fx&^j|sQ1 zf(vuc0u-R!2DFA=Dhyu3ao>YV2W+Q+`cUC+C!Z`4wSq=}A)o31A|l9+MW-Jmu?WKB z(ucaH4>|aCh_%vo$~YQpf%3-StR@2)LLf)+Q?*hMs77B5GC)kklNnP-Wm2xS$ILE5M}=RKX>{UpWWzV^PJHMg-PT9l&H1)zJ-}(mBIK}}^0UP}iteR=+hGpN ztK{eJ6gTn1lIRJ5ijlZg+|ni@gdGkgEC!BIOn2ZGB0| zDb&EEY8ckordv^as?8s%3GJl50NfAy5zl(!E@nG91H>hc;ecBXbxqfHufSVxy8i;< Cr-b?d diff --git a/game/game.py b/game/game.py index 0e9f9e2..192d355 100644 --- a/game/game.py +++ b/game/game.py @@ -60,10 +60,13 @@ def criarJogador(): menuJogador() def verJogadorOp(): - IDdoJogador = input("Digite o ID do jogador que busca:") - jogador = pc.getPC(IDdoJogador) + NomedoJogador = input("Digite o Nome do jogador que busca:") + jogador = pc.consultarPCNome(NomedoJogador) + """ + for x in jogador: + """ print("\n--------------------------------------------------------------------------------\n") - print(f"\033[1;32m\nNome: {jogador[0][1]}\nVida:{jogador[0][3]}\nLVL: {jogador[0][4]}\nDinheiro: {jogador[0][5]}\033[0m") + print(f"\033[1;32m\nIDjogador: {jogador}\nNome: {jogador}\nVida:{jogador}\nLVL: {jogador}\nDinheiro: {jogador[0][5]}\033[0m") print("\n--------------------------------------------------------------------------------\n") menuJogador() diff --git a/game/main.py b/game/main.py index 0a59464..cab43d2 100644 --- a/game/main.py +++ b/game/main.py @@ -61,7 +61,7 @@ print("Opção escolhida: ", opcoes) print("\n") - + if(opcoes == '1'): game.menuJogador() if(opcoes == '2'): From f688b48fd5e2b83672a587e59cbd6409a66f16b2 Mon Sep 17 00:00:00 2001 From: FilhoDoan Date: Sun, 3 Dec 2023 01:38:52 -0300 Subject: [PATCH 08/18] adicionando consultar habilidades de personagem(PC) incompleto e estrutura arrumada de Personagem consultada por nome --- game/Banco/Pc.py | 4 ++-- .../__pycache__/Armadura.cpython-310.pyc | Bin 0 -> 2643 bytes .../__pycache__/Armamento.cpython-310.pyc | Bin 0 -> 2829 bytes game/Banco/__pycache__/Chefe.cpython-310.pyc | Bin 0 -> 2204 bytes .../__pycache__/Consumivel.cpython-310.pyc | Bin 0 -> 2692 bytes game/Banco/__pycache__/Contem.cpython-310.pyc | Bin 0 -> 2145 bytes .../__pycache__/Database.cpython-310.pyc | Bin 0 -> 617 bytes game/Banco/__pycache__/Dropa.cpython-310.pyc | Bin 0 -> 2828 bytes .../__pycache__/FazMissao.cpython-310.pyc | Bin 0 -> 3326 bytes .../__pycache__/Habilidade.cpython-310.pyc | Bin 0 -> 2678 bytes .../__pycache__/Instancia.cpython-310.pyc | Bin 0 -> 3492 bytes .../__pycache__/InstanciaItem.cpython-310.pyc | Bin 0 -> 2912 bytes .../__pycache__/Inventario.cpython-310.pyc | Bin 0 -> 2844 bytes game/Banco/__pycache__/Item.cpython-310.pyc | Bin 0 -> 2648 bytes game/Banco/__pycache__/Local.cpython-310.pyc | Bin 0 -> 3144 bytes game/Banco/__pycache__/Loja.cpython-310.pyc | Bin 0 -> 2370 bytes game/Banco/__pycache__/Missao.cpython-310.pyc | Bin 0 -> 2357 bytes game/Banco/__pycache__/Mundo.cpython-310.pyc | Bin 0 -> 2334 bytes game/Banco/__pycache__/Npc.cpython-310.pyc | Bin 0 -> 2577 bytes game/Banco/__pycache__/Pc.cpython-310.pyc | Bin 0 -> 3273 bytes .../__pycache__/Personagem.cpython-310.pyc | Bin 0 -> 2389 bytes .../__pycache__/PossuiHab.cpython-310.pyc | Bin 0 -> 3361 bytes .../__pycache__/PossuiItem.cpython-310.pyc | Bin 0 -> 2878 bytes .../PreRequisitoHab.cpython-310.pyc | Bin 0 -> 2784 bytes .../PreRequistoMissao.cpython-310.pyc | Bin 0 -> 2515 bytes game/Banco/__pycache__/Regiao.cpython-310.pyc | Bin 0 -> 2287 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 705 bytes game/__pycache__/game.cpython-310.pyc | Bin 0 -> 3021 bytes game/game.py | 20 ++++++++---------- 29 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 game/Banco/__pycache__/Armadura.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Armamento.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Chefe.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Consumivel.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Contem.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Database.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Dropa.cpython-310.pyc create mode 100644 game/Banco/__pycache__/FazMissao.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Habilidade.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Instancia.cpython-310.pyc create mode 100644 game/Banco/__pycache__/InstanciaItem.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Inventario.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Item.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Local.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Loja.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Missao.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Mundo.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Npc.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Pc.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Personagem.cpython-310.pyc create mode 100644 game/Banco/__pycache__/PossuiHab.cpython-310.pyc create mode 100644 game/Banco/__pycache__/PossuiItem.cpython-310.pyc create mode 100644 game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc create mode 100644 game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc create mode 100644 game/Banco/__pycache__/Regiao.cpython-310.pyc create mode 100644 game/Banco/__pycache__/__init__.cpython-310.pyc create mode 100644 game/__pycache__/game.cpython-310.pyc diff --git a/game/Banco/Pc.py b/game/Banco/Pc.py index f50a726..8572e82 100644 --- a/game/Banco/Pc.py +++ b/game/Banco/Pc.py @@ -45,7 +45,7 @@ def consultarPCNome(self, Nome:str): cursor.execute(f"""Select * from PC where nome = '{Nome}'; """) consultarPC = cursor.fetchall() if(consultarPC == []): - print("Não existe nenhum PC com esse nome ") + print("Não há Personagem com esse nome no banco") else: return consultarPC except psycopg2.Error as e: @@ -90,4 +90,4 @@ def updatePcLocal(self,Personagem:int, Local:int): print("Erro ao cosultar os PC's", e ) finally: cursor.close() - \ No newline at end of file + diff --git a/game/Banco/__pycache__/Armadura.cpython-310.pyc b/game/Banco/__pycache__/Armadura.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c5c729b7ea67ad3ded3332a6ff9d3026a60feb2b GIT binary patch literal 2643 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 literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Chefe.cpython-310.pyc b/game/Banco/__pycache__/Chefe.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..756196109e54a61d022fd721a715f2a86b3bc196 GIT binary patch literal 2204 zcmbVN&rjS&6rS<#T@0Z>2&5Hqnx=HCz_#=hrL6+&HbF|32uM*^YAwez3yZuq8GB2x z7DNSqLl3Pg!4avq{t5jreC;Xcs28Lpeb3%y4Wd1Ctob~CGxI#}ec#LkgM&o^<=!7# ze9$1|FZ{?C89p9B4L=58gi(*w36q%Y(H5;!N*)rXF!hKq^-!uyjINTB_6o+5+A9iJ zqKQ#)BImgiau?0{qQS=lsNoL)oYW~J=z>W{q%Jd=D@@@kQ@PU6n8x%YrLHl96`)tY z)LUc&&}&?>nrslP1vUhWx|XPmo4mnYTve}NTY|a>H8cSta!5MFhK0ZsS}REc6Oc&k zIRv7F+-sZ?p@Zq~4S@1y(BfqlIDVt)Z3g8(e-hlW7`N601dNt>&$AZ;#>>xY3yaH@ z>S}qx@!cT&ygc{W+!wQRGmiq{%rHJP|0DOKws6WD4!BGQmDBakZto_BZ8!a9WZNqI zG{gm)G#<*jdtHfEYqz)vlA;fbdeRI-2ii}$2m{~Q;4N2yX}y9GAnzFW>z@JQYJ8_d zw#XLUQ##7AbVByjj(RLJ+M&M!-yI21?#O`3Z~6)F4x^M4LP-P!9ny8OPGG!-mQ|vV zNZ&GczoukQqa+@HF`hr4dDy)l=l=vSQT0@W)p zi(&u)dHS zxw{A4sVR3Fun&9toI7=2^-bUo-d*mb;{x)I+<^*mU%fUkDc9n$)#~Hw;+plT_07ui zlZ=l0XE%B@0U=@Ai<}-&#gwRiM#Xy&p%?*3j0TU~O~>=ZDB7+gj3bNzl(dYQJ{1MQ zQ_n0&Xj4q!K->U1YKG2#o~9h#gdYNAB#zb+d^< z@QSj&Re@xzRdcDZ)*n?@s#dm(t*@-JQER?dvHH6iY}03>)2X$;uW=+jSAT_jJaY2t zXQ`!|R565c-$1yO0kb~vBh)G6I>VI2oE&_?za)?A1Pt) A_y7O^ literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Consumivel.cpython-310.pyc b/game/Banco/__pycache__/Consumivel.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..63480bade9d2f38272b978b9aecedbc0651884bf GIT binary patch literal 2692 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 literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Dropa.cpython-310.pyc b/game/Banco/__pycache__/Dropa.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b88ca6da2d88da62ea778eeba5d36a650e67cc1 GIT binary patch literal 2828 zcmb7`TW{1x6o6-Z&ys{BlmH>6riF@aAq%Pc(56K|vOq*xC>KRtsahG&Y_gHpv&?vb zSPp6x{zX9|>J!hE`UiOHPw*>G{D4Xoy`E!xgF}K)ZO!pq&Wy+BeCLeC$Vi32^~Eo% zd;)4Ouu;BrXq!wCyFO}_F9#aupeP1{lO|=PsWHm5 zN2I9_5vFs48Bk0p7B|}tvzhbAXj)q%L)>Uvtitv{ug!+p2+VZYXfZDz-OI*cbcl_^ zPA5`xL5iN|<5mY3)-@>eP}DGph-{FAv|u|hg*K|1L~ErQyMv#ic+h@Eij((Mt$kkmOWT9Q>tbAo$0NmPOH@kJ5j5JW>dJ~VH%I-!-FAdKzCXR z`&}*t+B~%u7xJgS0`KI$2?~P?KVc7)?86^JCB7V=NXRN#rR!#5KGinKx|LW@bw(5V z6A+PTnbb3BfYhH1Z2~KxYk;mDnatRrOJs?_ENhccFrYyqd(~MxPszGNNxTPi%*5FM zs+P!iK;F9Z&@ zZT^7!{fI+{=yp3%YW5^-BQ^a%D4se!wdRZ7@@zV~7)E?qcA_iEzmg z6r(7{QA~hH_vSm5xRuOZlxKkD0wXycFR3hWRKnHN6bOSla36zGp%ruN?@8+Xp#7`S zNi9BrD|$0K<{}qpA|HVnT*w2yE92oesKl-K^MVH>F)|*Ii|st<3G!e(u}dTXHR>38 zdIRVP#}jLTd~YEiiH$vXKThn75_3Sw5(y6%quTFFt_7=Zf%Ypj;@k131!$0JGSDE|AZQs>T9#e_G&KcKXa!Vy29*I&LDB)JrV}HB zO4|jhO8}J#=?9_G6Eg$043+uN3=t}L7D=dBrGTo`f_-JF4WKd`@q4>KHP=55-?R-7 zv`l8$H!zX!gQh%!0->r}dA8Vco;->}AEMaJbNhC&^+`}J`3*ewF25amtKU*R?D^Yr z1SYdB*FA;?oEgXeXO1v3cUpOV*q#SUr-fa(%S!AWIlz8sXJ-aH3wOOW>W?fy)ZeP_ zjCuGnjOXzkF<*pyhhc&Ql~;5wM;p$SfJYGC<@4ldB|iPmP{)bBCkBz8JA4eRS9NlS zBQW{#@J8^C6;m&I@zst}p4gRxiF{{S{CapcT)%?e)Hi4uluU!}uK^p*V&D(?==W z-~l6%9*G$M4_bu>p+g+1X;a$dh_i2MA{(okd4khX8P6z*KQ7tOZtJDaSNRUl;?JDI MS2*x{g!hF0AHz?b%>V!Z literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/FazMissao.cpython-310.pyc b/game/Banco/__pycache__/FazMissao.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9fbedb98e2fc93aeea7917dcb5cf981dcc2e952c GIT binary patch literal 3326 zcma)8TW=Fb6rS0eHzrp%O=$?QP#~B~T+*sio3w}irnN!nPo*jUmKGx3$V0}KFH^_#d_W&E_I;sxDUb1)ji2Yo!OS-H!Rt5xRm~}{Pu-1#NG>p-SDN=6#k0K8@9A;AKh|c;e1cF z+`yi)%0l>`STW5%?GqUCI0s|=f$hhJ(}DntIL9AwrxkGM@EeVK5bI4*_u%EYzT~ml zlpBuUT%C>wuXzDq74={Por`)$@U%F@1h%1o@8CyAZqb& z`;4MHrw@8xjDyjr3BQ73(mc%@!~aZB^Lyn#g^sD=cz5>H?&S`qRHxwn_R9+;Qj)w- zBek6ufUWXaeFE4*59Wo2n5TK6?vWRInipE6!&-euUg!_?Bro8d=0)lu$&0iOd0|wx z&&-#vmlw;{XE?u%$nR*CTF%g$-%hG1ABLJhyge=3L_CiV2VZt zq#iWGxHyZ9co$coB4n{?|3wd*gE)Q&OcsINlN^+qPC<`d1b%`>SPqY;%*4neGm)VQ zGZBGE0joaNGdSpggO=i;?ZV-6;HQz|phpI*HFn@&JTwv<;GN=-dPs0c>wrV9A|`Nm zqm$NbW!^%)N%;w37l&a;96_@yy17hr6AE-gERN#zy`nn4J78tm|nv~@E76j@N9|!=wX5ZvH>tiqOK&_59rA8wlY%UjYR4^`Nlv_ zM1Tb)cPAok3H46tAhJZfL#b+B0aQBdP!o3SR83?@Kd5Gp9jO;YrROujC>?2Q=)ncx z%G{!LW*1v#TJOQRD$jle3H0k$)0eV-kGqzQl4+wN!UvtZcD@H-s)s$j5(RJ(n>8Ld zYqsl(QD};{(Tt&a2TX@eU6f<9qqH%t?}>JyGoi<#kHC{W4W_Mdc~Ch`0Sk`-N~irj zY@}MZ-Je(f1-+Z-Vg9na9g3Ib+lxQoKf*g)z*h_@NP2j^kd0v z%j4c!t6^IywHYJ_&q!=0JH&BtQOwf2i@7)fL*gWwz34shGD2TOkz?+8B+#_3Pa}5;Amkq8851BIl+%)(vfkJ X_(V^!`DuHn@OcAwDBvdClMBlKL*Ngh literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Habilidade.cpython-310.pyc b/game/Banco/__pycache__/Habilidade.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d49ccc1baeaa3d192a1cda57c29b37dc1daba33f GIT binary patch literal 2678 zcmb7G-EP!I6rQoiUT3oj$+rA9q%JLmtwNTjS3rw^Y+54Gr6N>OBULNonN2qJ+F|TX zh~-37;iB)*B7xc)q~7%rcnjb5iU;ToQk$MLyIwmGDmtq@~OXgB*ejgPX$SCCDvdv@Jfu z%a7Pf30vA4ALSJ&S%cCTABWNiKLQh(NXs{!dmXRC9WGp)PL}Xnga17I!wQ&)?2&}D zUIaEJ4*@9+>)C&=qwaIDWh1tp)YxKT6@)T-bLdtQ2dm zdtPfk;G+I*^Tzz`#==tlhU2?I_-TFa;@oGma~Ey~(z(FJh3lKbk9yLnuR0J?Io0z? z&u(m|R;$(VJ5j4;!pI>5V^K!qcM4va$ALAXJA$j$_#1r0x8k!2StsjshbHui_LS^s ziS|V2^eF%dUkqyWL|-L8XmTntxV8uN{z#%X$oJ+Bi;RR}&Hd?R;-6q7GS^GnS1H*s zD2YeGUr&Gplq{3)fGRu2uHjeu`4-)RS{T84N+`4~y;90rwn&XN+YL5W=TZYh%hYha zAQUxI;zr9+G{~fMGMkPX4=0n-2PqYbK7E74Ppg@q96BOg;YVN?wcuCItX8J%;RHQK zt%usa_OPOB{~Xie)A@pCUyqem78`5BtxK5?lugGY(cK6d;*M|~x$2~hJAUBeR%8i8 zfZ$pbYkq-`_-1^5z#1bl6l=`HMAjtqXOMzK0}HGH%Mu3Gcs!!`WGFtBfEVT-T}H&s zCnn;*M1VV`b!+=NaK{>Or<7O)?pV8)Zvb~7A8=>T7rB$g0k&ApczV$fg^X;#C@65n z-gLa42+zmb%(-~_+)UYib9zZ7mgh52aaTmX8pQ3Lma zXjK1OGzzqRMKsic78?fuM`aiS{u319tMT!-09@TAcoV35!dN%AF9MiMfms5zUmDa{y)Hkdt#;mU`FEYpp@_9?1#4k$F2&deBbyvFn}l5!gBK0t#KQBV`5D|kCed}ko~>UCtnlfz=CCdbFC6RM@A_csI|Nvh(o V7^(Gne@^g5fIz5s7OBvx{x1$Mc_07) literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Instancia.cpython-310.pyc b/game/Banco/__pycache__/Instancia.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..39a6c187aab7e85993cbeb01637830910aa598ec GIT binary patch literal 3492 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 literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Inventario.cpython-310.pyc b/game/Banco/__pycache__/Inventario.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b846134960f2950d14b7e68b86aedbe668807ad3 GIT binary patch literal 2844 zcma);&u`R56vt=$Yn^2ilF+7vLU4=tu`Stc(@QHz3uL#jh;C>S8Z~NV8P6n`dhIZF z0$3YF6;AyFdT50dj{F_`1Dt*BiF4HpYN7AVdSfRfrC#}Y=FRi$%zWN=#^K;#nZWh2 z{}X=>r9ZGzyi}-MfIB(`h7m@6vP77|RG)U}5~buaVH(pP5vFe{OA4d&q-wl?Skit$ z!B%N%Hk{bG=|tQ`ckwcyaslq>2QZv0QAV%}raU4`DpR?}G`MxHEgQ^WrAOM5&P+A{ ztp>I(E3C{8fVY&@Dr^vHCL5A%2iY*x2G|G;X*4ajf^{Cmj_^Vk2iCu^tiU}3cT@or zlTFekHjD+{qwT69a1Bz0-GsSl5%-s$5>W!zUp|=nt+2!EEOdfp&%YJcpZzSjV=-;f+x7x4wrw5$Il@s_XmY3!({E4pR>KR{)5^CC4V!V>i+K>GRT$KUHUuF?=Ae@xTc5-t#WK zTX+`{^!vF>s-<=^(Q3~(=N7D1dtuhfCvJUr@!E~%{Fy{OYn@Ki(`T(jsh%q?4FpGA zcq~kgG=&H)C$v225ruA^4hUS?wB&{XzvqOh;jY1oiL}J;ad$1|;0QY%FHZGU;RWz; z{V?LGxfjYk+I}SdpyCT z1ASoKAU_%#T5NQ+P2hcJe31l)GqPU*SzVGfAU9wi*e0t#(1Qw)g=a=q*&4vCK(de{ zg<8K1oYi(RKHt37oLR6wvc8_1{icBE+{>eVegG+2^Fh&t=BH&zFkfmh409DDU{Z6L z$L=l1_r)ms-a+#&nnPf!Mh{ueXh3k;JquIni7^aBp%j=M+8#lU0eg);1kM+&Wn=k$JZ+672Vz=Q-IiQ+Jt zaWH*l$jvNY`}eVZFI61dBbA%cDtEnQ&kbwvT0tKO!=xImQ0?I`&GhlGqDp<7$rcXIoJ>MO?zd=|HwV%a)^6gUpP1$I9{+i!JNwY^#mOMGVKZ=d`5Lv1Y;7 z51+PLPQRQ*_rEQ0FOsn`0Ll;>tYa{gWo&*3Ti0bIG#7l+)^&)^XOj`y<(#(u3l(O3 zVGG8MpWt)XcnA<>OGR@EV_hc^039Wlg2}V&wHw)9314aUvHT7x!2^=rbtuP~8F%ghR^1KVCxfb@kCJ&u{*ALdh=9BM* z=h)n{mjz@5TjqkGGaquVd82({{@Oxosd>TayP-VOoIO4J$*I|y%b{>)xHmKRt=EqR z!fD=iAfy`9#MPhL*i5ZX$M5@5r-Lh!m{pTjX*{9&i#`|OC?528w^@TqM7Bw>MNxqU z*d*p6W&Boy3JYAdt;`^2#5fo%5(CxfNE$H$4pM3S5uA7~KAezsvQD?OM0><`$d;by zk2Fpp!K}-67$wlIL%R_foNdz;vO-{lxkD(VT_;gx-P$}$$(Bh;JPBj8#QYh^_fXpg z8m^F=K+i4nzS%dj_g#9o6ak?tqTMA8qaE9e?WNZBWq2)Lvwg^<{ngx+8?B|2$K}WN zaoIQ*AH@9GeqVaR=b`O}JzEZ3Ps;FUH9peEvQR@@@-1+QguuQOTg$<)fH__yUQW?olg;1zdFEtG<-*chq|c#B@B{ zp1`f*RCxf5PA&LNGYeQ$HK+ePM6K`G-;D0p;%UXH(j*trFCOIIF6=)+CB6_J$zf*+ zQ?Mia3U&aGJ=AspJm^8-bp$mBUV91na{#=N1Ft6r%r!=UH|`q>czEZ)=Mfa}xevgb z?fB?I>q=|6Wna90?P>=6%H`JemhE%Jg3s*}FW89!eeMNbtV?nRq00l=S+4k@DSm*+6J7D+P@*e-utMr3eq1WaT~l%&J?ByG$d94i^C&2H z;76%e_}Qty_f>wJ6Ys*71j;E>DKeu_=`IrDDE7aH=5@lH7|Gup3@d>E>37><8rx)@;fPSshxifHryhnqJLS4q<9bDZZG{?}qk7js)C{Nwo_=SK) y*1=e$&X{H~#_DWxYI3T!Phej|%eaXj0jlA3ky7ikY*Am}2ZcnQSnw%OXa4|Cc1?x= literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Local.cpython-310.pyc b/game/Banco/__pycache__/Local.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e611d2ba67ec1f9426174178ff660273f66099c1 GIT binary patch literal 3144 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 ZQw1&>Bep*4&FKrwXMpat;5$63{R?A@2KE2| literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Missao.cpython-310.pyc b/game/Banco/__pycache__/Missao.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ea6b73c1e3cfac5c45eb21c9ee623dc88f275d9a GIT binary patch literal 2357 zcma)--A>#_6vt=$wcceHC`o9bRpXSZWUIio^rlhLHUzeTDl8I9in>x|8P5BKSQ&bYS*yYZp;cl-;K*=dEVaYX30!ogcVS(DG6y9rgNeuy=@J{h4s&Ru zstDY5qOf)FUJJRm@q!2l4tc!^rnVVu^BM~rf1~Yf2DO(z3GP^oTdM+gi9NHPXU_$U z*B&<>%q`E?o3#gy?*`##wV6+6KA)bMS_p(Q#rV|hkKB(s!l^xRU`aWsmO4DWvzM5* z-S*p&ZR_yW5Iru_cqn_{dzWZFxRdDaCg0#mk@3(KZPy8slHhKzy~F*`adCm(g)tw1 zB6t5ARN{sBR+ns%ExNCF^%Lck>>FLWg@b~xr_Wuwo12Radh6_x zYM~Lox7cXbS5~dX#_F<_?%w)t_R-^d^VVdnPTsa+^|mz`E7iN5Vb~6ic=>x^E&3rB zZRT{|h0eMVf#n2NTXqV$3=Dcv6d0PM;08W_20=62jtB#h6!jZhDQ8#d?Vw9oKTNI1$m`(&^)K59cWU0@XTmsbEW#SI`GjO@y&VQvs%y7vDOyqD|M@}yi~Wo zv?l*jCi|5)&pjSF7nH|j=NUpV2s^FnIoX^sxs*aBo1X?0!=F>i$iFG2Z(?8M`;>Bm zk^eTH`2UdyCa4&Qte8NxFm;TeVsd)9m(z>(A9_*y^pb1AcchY19ut@8dRl$d92^Z_m`#pl?yrBfKz4~2Io>A!){WImZ^3)OtaKKEUPm0$1hKP zT&7VSz_ZPVGtah@l5KAXtm9$5Y}-#ej+ed>MfhBzhLK3L^&s#P75>2DIy(FT8Vk)$ zGr7g`o^FT}(KF HN0fg60cZ~* literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Mundo.cpython-310.pyc b/game/Banco/__pycache__/Mundo.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..227784289b6ca3128c87d2e48f19416d33291eca GIT binary patch literal 2334 zcma);&2QX96u@Wvwa#X0?axwx+eDYG*)3Y zv@ABos-RiPd#70qdTllXF4R-=%VEeOAAKka)-`z6;gK~EF*zn9;=-~pg?3t+!0o0Q zy9aI?k_WxVM8K(#Kes`&ccKArv&aj3{a`0*|Nf)kp2N8FwSetm&#fSE*CWQ;-*nd2 zzuLIH*zfbo|bMcf5JNs};I?4RqP;wDF{V~wHT@uxJhk`ap&#vSucRiL7Ojdv3!P@KkBlxboK=wSUl_YjjRa8cK7yJk7@o zP!x1!O!X&dB%dYMa;iX3QAN6As*iNVQ&T(*V5R3g^$R>d1fFKj(-=W4k9nF8O~n)b zbDsHJ#WSx1PqULiFa$j2PEP=$0bWgKe}@b1;AM3_aTcFyi({Tj*ZU`)+2}b>f$`e1 zN-)kj)KIy=Am%{v1rWJ8b-buh0@3&v5anqTsbm7gh46xaQXmirfG7a~G#lhQ>j*%M zAh0O8|LVw4;iX-`f#Fr)(EbBQK3Cz$>wrV=B(s}%F0u1&3CQZxt3}9Uf#3(MB4iWEGBmn=YIr9mhd1UDn5|-;LMTF>susjLdvst zD~C5qDNlbP<<%xqo_=a$x7f1_#3hGneuFik4@tXEjrM2HC5586GszX-(l< zErgey>!wxL9YkyxV7=zL_lI7Pjfg2&CDmmt#A{F!m@LIL6b=exTN0RI1%5$bo|l-A vZDLbRYiRYFU2D|USWD0DDZUz2N6CP)r}DJ@apusc_=O-bwrzOlHuS#%!>SH% literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Npc.cpython-310.pyc b/game/Banco/__pycache__/Npc.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6361863efcd24d87c90208e8de38144fc917b827 GIT binary patch literal 2577 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 THQoZQZLCH=;IlenvE=+02kzBt literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Personagem.cpython-310.pyc b/game/Banco/__pycache__/Personagem.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5f1633e194eb8ddd279977b85eeaba3d65df45e5 GIT binary patch literal 2389 zcmai$TW{P%6vt=Am-TKoY1lMP2%#9L5R01KlJG>JYAzKN!BQzj6)Pdj@ysThdhKNF zZL-#;3Q8V$LcF6&jd-fWx9GRpaH|h~+TS zU_8$YP;2zPFnTcYLQLIwrj89Zz71Vu0*IVN3V!Q9Y~*2+xc zo@2&0VeM)l+{SYvb5QlS3#Pj5w?viuw%2I7+kW-M&r;YX7v=*Ad&HU**R|GsE~-D& zR@c5?zq?UgwLQlVKCLd^T3o6uE`04vdx49EmB+#h+tRLX*)U|%sG2UivfGIb%W8Vf z(6V%xIlxsHX*88-Gl<8NADYF8v+&b{SaZsdfs4A+ADPdq})lm4w=k-dUpLP^Tms3v*oU>c@ppUSacM)8zkw62M)Q4?053ra z_z-0Rk0tN`@;doRKU71ls~!W?y=lNX132}aT<0^usR7PHsBwnTK1}V2mcWGneVA+n zX2ydV6U+cpsYP#Z2v<0v`H9((ek;RhIVOEf>7mL=*hOqKMCfeWt}CyCD@$mm&`g6V z>pdhXh$(;^wB0a!%rQNXGuQ>Mdx}HOgNvgCCYTd)w4)eirXTOm^9(o6+Ct?-&GS#8eq~AOds@B zhnQA}s?*-6I%Nb@#)H)iK!NHi{|Cz4-xgAs*|cJQX}+S%?RQ|CwHJSYNc|vaH%$=) zB11U3F;M7`P$mkUBn9+%>M4+0;;6WjpP!&~a(H5ed1 z8fxvRs3eHZbl}RRlZ`+gQQR*uM|3-yc@tzvr-|}VOT)BztFJRmn+gC<)8<8`WspG< z&3J=%P?}ncZgNmsD9-Eba(wbSu6}j^DCufTQ?$(Q+8+1iID`jMOR`@IMcZo&*}3fe zoG#Mmsn4l&8@W5|HfEzT3K^ZGCV{BrgG?~Q8 fN-qK7H#DiZY?RpeqPMKu_?sfYYhu6$x}^LEY4kDf literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/PossuiHab.cpython-310.pyc b/game/Banco/__pycache__/PossuiHab.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..93eb2bbc9b550bdb412db2d67effb6bb11fe40a0 GIT binary patch literal 3361 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 K_Y?lcw0{AmY_%2u literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc b/game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1aaac13c9f1b4df721cec1c0d5597b5c29b5b1d5 GIT binary patch literal 2784 zcma);&u`pB6vt=$JL!fdDTJs^E00IVG2`yx@PohgUl55`h;g?wWiXtADZ=-EAUmjtsKiH&V@|5Hj1 zbV`zA&|Xb}2}&K3;*COm=mz^Ta5%lzY z<}jX|UKJv=ov_jaK=FJJYp*^X6FS7tOo+!HIALbET@i&MGx-DVc4MAdn>=>69N*9M zj_`swvpUhf8+Pt3WIBcxneO^w#OsE@6o_MJkhW~9_(u6Yd|gH#WRy$9a${k;*`l2o zN;IZ3dKZjFE%=QWRvD+-qe(hLtw+jB~i3q!r<|0`@(ySXCgM@~UDR?eJ@ z%b~b%9h5x%2!-T&@=lK@phohfr5f^-(w{&xQU$E~vo7gUC0#mD0u0^7{A-U5q@hKC zBy-!^Uj&kj9!Yv?R7f%&8i5WZ!M#UPuP>5R!~u4UW^(Rk5OERPke6_n9Q(fGcX@Q- z1-+Ok^~Gc!=Ep9@qJ%_Fg6#^=VGb~|V@F+=M^TuZD#3v|G00dw$EKfbF#$6K@Ps=% zUM!A7K}@5WL^B1ZZsvHrjgDC~eNd)79EIzkg7v@@Z($S6K?Rf(vYjW&K|uRc&?Gtu zCTC<;ax$(>{?(&{0vYFq$rur5Aoqx6nfu?MkhGGEubq1>&wZ*(WjU8KAeBXz%3^@B z7*bizSCnNHcrZ&I%nA?YLsKdX+)Ey+%A)mk2I!DAIUQG8+~;l#%CadSv7JF>vG=w> zY3%A+us^Y1OxaGr`f7qMx|m!pVJLM6aVnQiE;u<$olrp3WUlCvD+wTkeC4WjRp9j2 zt^Z-7Xj)<7P3SWcjI%}KVFl^YbaUkbbgf7UVj=})w3J*P2IiIV2k;r#ihe+RmXedN zjgOQL+*ahKqi-AgSISMtWZEk>oeB(6bV^VvXz0!4;tHS<^Bj!67>;H_oW_Yig99md z6Ndd|PWuV6N6Ui1<=Iz)zB&|J#t2OqndTF{msZ#RhY)*U{nu!@GrX*6a%cG0`X3Re zSs%mmM*s(ub~_tyw|7F;_3^pZZtr#-Kd%vRh$LbLOs0b9ia9LWXwIVP3zmFB9T9kr v!97+U!7Mn^SlaZ|^u)}htf{N{%;44|9iw7o*2nqh!0`hDAzv1$(P{M`6TYsI literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc b/game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..11d6af20beb9d695848a8fec9ad3a709b4d17b21 GIT binary patch literal 2515 zcmb7G-ESL35Z}EopB?9e03oIbt^s0<8XLk3QTS*QyKSV#L2*iiC3L!aH_b(7U$S>5 z&B>{Pl0SfF5K{7j)Mx$#-uM&lm8U*eyi}rP=KOVuogmKI@!st0-0b{*Gk5OjXo|qK z@cSXj^^`F6M5;=RR!B~J2DYU9 zjDpP3P%m1(_0aNo4b|~Wft%YfybTbXR4F6qf=Q>ODl?fYOySBlxM$j_QdL=k>9C?j zE6Hdj#YSKy5wlIRQPAjY3<4PsC%+MVgYP$O&-UFl+w&~9hGBItoJ%lPV0dW|J~<&R zVnQUapO$lyzzl>Edk7~{Jnn2iB_aW;zdaCz9kxuqX?!*2?!@W=v}kx`)+ zd^h&|-eIVlrrof8(^Me<4}(wB;6~51cg}p*E}SSslyQS_{Bln4kljmz36cVH^86|wf%oU4`O=}jjo>qAXqubu9hpMjZI^< zyt!_~&(;Rn_;%_3gHq+AY@lRs8QDP2<`#z~$yjZ8T-eMFW=cZ1hUFS|q!B}$K1~YD zd6=lV4gT12L#@^no-4uxf6Qx5pM%1!*KI#k_k`VmznbHEJkf_PD#P7 z!EN~~9bPDnI1Rj?;VHr0!06BbfRAVZ&?5~Z;AtCp(5OHVAWD&ZuN^7A)&e3>vY*)^ zjp+^r7J3xWfIgQgkiI|x=`4x#K?(qwVt3s+5JD~oH!G$4rIk(NW8==o`q~im7GHeO zg&6SjnvQP`1vwRg+=oO=z}dxXAVPhc`?Vd*al|C*-azptiq}DOQSD=y6g+wib3z=VRnmK)h`}~2-X2 zisLvfN5%2^AllazNB<$^ToT{54R|4&W|%U~y33jl&eNv3-?W_eibz5*q3roWyoINF z7e&OU_i@%Q`DlhsTi}Nej_8v^Cpw*!_4MS}R61J8$?evH+=>*#e1!TJ?Qp)rqP;yaCN)@ literal 0 HcmV?d00001 diff --git a/game/Banco/__pycache__/Regiao.cpython-310.pyc b/game/Banco/__pycache__/Regiao.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4debda6f207e35d134bf847414c1d1fd8c9b732d GIT binary patch literal 2287 zcma);&2Jk;6u@Wp%Nxf|z)eH?A-c3ugAs{KxB%g!`4SZpMj}NOme6XuGmagtJ?ZSa zNmlC$l$Mx1))KcN4`UODv-;8F>}d$ViDb}Yn1^LBRT&GVc0oA)-NTrLu5 zAO612|0odhC%%j}9bWE24{w8DgwcRB2-BDz&<<@-Nm}%t z`b!G3N>h8=i@b+k$bFn1Z3evDg&uwZf|CYi1WhpQlr(gvbAuV&Xo7iWof-`jXPO!- zFdN=1Hp7abSIB2)SqWxsRt5*=QtNBJ*Y<>uE({uuHRxN=!xD&yoREaL@T;(g)~lMt z)214G2woc@51P-3grJbWS|DmI(cv{Fyl%4{v_$R250ZNh zXcV-*g}c$Wo>*Nodmhrmk-Zq;ft^FRANBaU)9!{`M(~J)BNZ&?u^04s`1W$FFTabT zy574E{^QAC{3fy;ZRR!clu^uq zNaxfcd{1O>Qp(kJ$%Ks>Wu?)UnF87fuYxeB4S!3}i?nFG_V*&Szt{fJ=%N-cWU8xU z8-2V5gNE)50sjau@n`Xk95BFCfD!Z%@Kar()f8F-u<1EkeFE(VfY!{>8VMxy5Uu&d zRA}Luqs{j!wD}m&n)UcC#seO4rzruG%*Y}Z^G`I&_f(#Nl{d(QKXhijD_>WSjIat}kz7ekg=8{OKFw<&B7tNYBDq)rr>BWgk8e#w;*2MXT!JIWYbdY~j+LTe zuvHM{4OE(T<1bCbs}4zc2b4!bj`tob(S?v-ogQ*DQLoP6hpG!7FxO3suGudyZ#=eVHM`X9CIOG|=L)eA1i$Kse+TD+1HRo4o>ZX1JUG8K z6dPhwY>AQB7Vn9%*bx))zPKfJ#RuZH_)y#tABnr-WATajRD32rXB%fhulYOVmU^KN zUrl>2d_1%TsLF!x)KP(^Bp;2Ic!@q4k#SX_uQ2y*j!P_jJcbf3z@d-Eme%~+N4P%G z&H?%42rhK46)5zbiE$;Exdz|83nz7jWMZy(6|kCoYm9n%VYTZ%;|l~LrI z)AigpW^JoD!P|NJQJQ7i=rYUp*I#}7t{_$A_`W^}H{dA_;_!d2t?)0{ CXu>xD literal 0 HcmV?d00001 diff --git a/game/__pycache__/game.cpython-310.pyc b/game/__pycache__/game.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..46af5dfa95c477218908f262000fa62b0f0b57cb GIT binary patch literal 3021 zcmZ`*&2JmW72nw}E-6y7(zLeY6xb$!TN;pLNl6ZjtHhyP*nvPRpqoQJkc@Yx^g1MW zJ|>DbTww{Tt?*lg?=`1&Z|dW|!0#y2Q@RdpqyVoA>d1 zOgf#Gh398?ERV7Jk%-fe4dQLQ*+&?JCD_<{U`h7W`oNYBMpt?mec8Ym2wON`Ssyfo zD?H3C;fn_5B@u`w=C){wCCnYs79GsXVp*(UUJ;juR(JInCsO@b>Zk z^b&>{ta!=}trc-<_#6_ZhuoSuJ-=AXG zc$7@!hDiAIPx1Isvhn;&C3z@h_(1W8oH)0~<4^jDkQ;v-ywktGduO=u4xdIzwz;u& zb8CBjYwd2L_?nPww-4lWmMgw7;!sJ$disTK_qkGX#MQgWC~4xvpL`4fYq5Z-HkJ{& zWd4v{^qt(3{RKA??9iTBN367jeTCfPR8(0}?)=+j`sU5Q8Ok47hm9G6_>?iLbcB^N zb+@!i`&X8_3%(1UcNHgGwf<@ezox(e)%eykQjH_$g#V26xJJ(-$Ol-TmanLb@(aF^ z_l*44bf3${7U6y7sIQ@~S$b#mRn$d&3%=3k8-0I+e5>@&$XC=w`30ZkXYR}sOHU~U zgR-$}eSGP#SvJeyGh6)=I@{!hnSazMSs6UDnf2r!0;$>U42~&m$CPt<7ek$=!<=Vf zl0N_b`QK$mX><_t$8r*8&%aB0l%=g=1=E|`Z%ppX3>p3V(By5=2{*!iqJ*4s!NbBk zyLXT%vv(o9R|^-NTH7!mLszj=+p*6T51-_G9A`JBne+!({vTVY*IYnx$8`-VJL zRSjvY8)$nR=>V0pmqdK5y;Q~1nf7^_%Bj!}2<73ziqcef@>KAd+>gxWZc969l4<*% z(7}5-7YgO3J#$m-nM-KTn64cdtXIjn>=O}ZX)=uuWSnVlk_)ahi%p4E!xEjedo4a*q7|<>;=p;UOBaH+kqXR;@Zsqv-@B58wmbiSW<*f%Ei!i z%vE(0m&)?^E`O+Bh7nmlo^iE5=j|_m2uSndBmOWR$ASxa!q=@6?)iJYv=?X42Hh9L zZjv1x8m?nFV=q}p;9+oLABzQyqOOq33^eK<*a2_{X4t4>OSqK5rE}y01(@&v=%}UA z77d!8wUFt6e}=|@3=amyN(HtxYKFaHbpWs={5@g4cqdC`6rbh(!Q}L@fL+IwD_y_x zqrD&L)(LLwl}N>Kfdr`hL z&mT$*2d}vT)koD5sILn2)vplvU0mhRE^UCFPpMIw2JvKhhJOHc@SVXKrQ{PT!Xe(Q zhhb!u*2h<&lJcnPA2wEw=^ZZRR^3yWXqZ*-ZSx!ZiH*E!7G8-i-m74*8I~d4z89($ z=q(zc_uk*@9n(FEB~W#wd&hL^|FF`y2Zd&@-_-2$^UiAB8l#+|WRmXO!TyXa?^(sG z=RCiDYfRvl?O-wA-*qcUTRExlKAEO|0UcGS+$vPNi%?NN*ZwR|fk>Ktan2gGjn5_! z)Ye;oDT*1QM*Ilx;-LsGqV_3>s+>`frku@eq6FGCiD(Japh5eFrZPuRT(oYquIrFk zq^h81wtf;_Q{K%%ehuf;?IOH?s%6#5R{XkdE#+p3*3zd^J@u!nSS`1R|GrdnI4CZc z+r+v(L*t1HY=2zkZSl+UHTtkC#}Zh#V0X&bjf#Zuw58dmW?Kk@ak%L*RG}uvyX;>C zgk&aPc%Qslxtx;Igy>x?GOFCF)a!z`ZJYe=<8^;F`v%=h+B5&-6m{<^@~smjQa8ZW z%>~A*SBUmZms6`GLFjAxhyiDVCB{+{Tyw^$Y%rFZHWu8PBqATn9SV7N1w&x@wh!BU Q7C3~HM*si- literal 0 HcmV?d00001 diff --git a/game/game.py b/game/game.py index 192d355..e5232b7 100644 --- a/game/game.py +++ b/game/game.py @@ -5,7 +5,6 @@ possuiHab = PossuiHab() lc=Local() - def CarregarJogo(): Save=input("\033[1;32mDigite o ID do seu personagem: \033[0m") jogador=pc.getPC(Save) @@ -58,18 +57,16 @@ def criarJogador(): personagem.criarPersonagem(pcID, False) criarPC.criarPc(pcID,pcNome,0,100,0,0,pcEspecie,5,0,0) menuJogador() - + def verJogadorOp(): - NomedoJogador = input("Digite o Nome do jogador que busca:") + NomedoJogador = input("Digite o Nome do jogador(es) que busca:") jogador = pc.consultarPCNome(NomedoJogador) - """ - for x in jogador: - """ - print("\n--------------------------------------------------------------------------------\n") - print(f"\033[1;32m\nIDjogador: {jogador}\nNome: {jogador}\nVida:{jogador}\nLVL: {jogador}\nDinheiro: {jogador[0][5]}\033[0m") - print("\n--------------------------------------------------------------------------------\n") + tuplas = [f"| ID:{x[0]} | Nome: {x[1]} | LVL:{x[4]} | Especie:{x[6]}|" for x in jogador] + for y in tuplas: + print(y) menuJogador() - + + def menuJogador(): print("\033[1;32m Opções de Jogador") print("\033[0;36m|1| = Criar personagem") @@ -87,4 +84,5 @@ def menuJogador(): verJogadorOp() - +#verJogadorOp() +#ListarHabilidadePersonagem() From 5ed925c49d9990adb13430a81f7217539086094c Mon Sep 17 00:00:00 2001 From: Dyetrix Date: Sun, 3 Dec 2023 11:10:32 -0300 Subject: [PATCH 09/18] Fanzendo updates no banco pra vida de monstro e jogador --- game/Banco/Instancia.py | 19 +++- game/Banco/Pc.py | 17 +++- game/Banco/PossuiHab.py | 16 ++++ game/battle.py | 197 ++++++++++++++++++++++++++-------------- 4 files changed, 180 insertions(+), 69 deletions(-) diff --git a/game/Banco/Instancia.py b/game/Banco/Instancia.py index d71bf8b..6e1b600 100644 --- a/game/Banco/Instancia.py +++ b/game/Banco/Instancia.py @@ -107,6 +107,23 @@ 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 @@ -123,4 +140,4 @@ def getInstanciaID(self, personagem: int, numero: int): print("Não foi possivel fazer essa consulta") finally: - cursor.close() \ No newline at end of file + cursor.close() diff --git a/game/Banco/Pc.py b/game/Banco/Pc.py index 1024879..06c0696 100644 --- a/game/Banco/Pc.py +++ b/game/Banco/Pc.py @@ -53,6 +53,21 @@ def consultarPCID(self,Personagem:int): 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: @@ -95,4 +110,4 @@ def updatePcLocal(self,Personagem:int, Local:int): print("Erro ao cosultar os PC's", e ) finally: cursor.close() - \ No newline at end of file + diff --git a/game/Banco/PossuiHab.py b/game/Banco/PossuiHab.py index ec009bd..c51ed27 100644 --- a/game/Banco/PossuiHab.py +++ b/game/Banco/PossuiHab.py @@ -38,6 +38,22 @@ def consultarPossuiHabPK(self,personagem:int, habilidade:int): print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n") finally: cursor.close() + + def getPossuiHabPK(self,personagem: int, idescolhido: int): + try: + conexao = self.db.conexao + cursor = conexao.cursor() + cursor.execute(f"SELECT IDhabilidade, Nome, Tempo_de_recarga, Dano " + f"FROM Habilidade " + f"INNER JOIN PossuiHab ON Habilidade = IDhabilidade " + f"WHERE Personagem = {personagem} AND idhabilidade = {idescolhido};") + 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 consultarPossuiHab(self): try: diff --git a/game/battle.py b/game/battle.py index 6b2651f..5d4b5c7 100644 --- a/game/battle.py +++ b/game/battle.py @@ -1,4 +1,6 @@ from Banco import * +from random import randint + #funcao localizar persogem mostra coordenada do local #funcao pega essa coordenada e vê quais instancias de monstro estao no local @@ -10,78 +12,139 @@ #luta(nome: str, especie: str, forca: int, defesa: int, vidaInstacia: int): def luta(idNPC: int, numInstancia: int, jogadorID: int): + - inimigo = Npc() #atributos do monstro que estao na tabela npc - inimigoAux = Instancia() #atributos da tabela instancia, especificando qual monstro que é + while(True): + inimigo = Npc() #atributos do monstro que estao na tabela npc - i = inimigo.getNPCID(idNPC) # Pegando a informacao da tupla do monstro passado pela funcao - iAux = inimigoAux.getInstanciaID(idNPC,numInstancia) # Acessando a informacao da instancia especifica do monstro - - #carregando status vindos da tabela npc - nome = i[0][1] - especie = i[0][5] - nivel = i[0][4] - forca = i[0][6] - defesa = i[0][7] - - #pegando a vida da instancia - vidaInstacia = iAux[0][2] - - #acessando informacoes do jogador - jogador = Pc() - statusJogador = jogador.getPC(jogadorID) - nomeJogador = statusJogador[0][1] - vidaJogador = statusJogador[0][3] - nivelJogador = statusJogador[0][4] - forcaJogador = statusJogador[0][7] - defesaJogador = statusJogador[0][8] - - - - - print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") - print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") - print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣽⣦⣀⡀⠤⠤⣤⣀⡀⠀⠀⠀⠀⠀ \033[0m") - print(" ⠀⠀⠀⠀⣀⠴⠊⡉⠔⢛⠭⠉⡇⠙⢄⠈⠐⠮⡉⠒⠬⣑⠢⣀⠀⠀ ") - print(" ⠀⠀⣠⠞⠁⡴⠋⠀⡰⠊⡀⠀⢸⠀⠀⢣⠀⠀⣦⢄⡀⠈⠣⡈⢧⡀ ") - print(" ⠀⡔⠁⢀⠎⠀⠀⡰⢡⢮⣇⠀⢸⠀⠀⠀⠃⠀⣿⣦⡙⡄⠀⢷⡀⢃ ") - print(" ⠸⠁⠀⡞⠀⠀⢀⣇⡇⣾⣿⣆⠀⠀⠀⠀⡸⠘⠛⠛⠛⡉ ⠀⠀⡇⢸ ") - print(" ⡆⠀⢸⠀⠀⠀⢸⠉⠉⠉⠉⠁⠀⠀⢻⣿⢹⠀⠀⠀⠀⣠ ⠀⠀⠁⢸ ") - print(" ⡇⠀⢸⠀⠀⠀⠘⠀⠀⠀⠀⠀⠀⡀⠀⠫⢾⠀⢀⣤⢞⠋⠀ ⢠⠃⠸ ") - print(" ⢡⠀⠈⠀⠀⠀⠈⢳⡦⣄⣀⣤⣀⣧⣶⣤⣾⣿⣿⣣ ⢫⠀⠀⡏⢠⠆ ") - print(" ⠈⢧⡀⠑⡀⠀⠀⠘⠝⠾⠿⣿⣿⡿⠿⡿⠛⠏⠉⠀⡜⢠⠞⣠⠏⠀ ") - print(" ⠀⠀⠳⣄⠈⢤⠀⠀⠈⢢⡀⠈⠋⡇⠀⠀⠸⠀⠀⡔⡠⣋⡴⠋⠀ ") - print(" ⠀⠀⠀⠈⠙⠲⠯⠶⢤⣀⣑⣦⣀⡇⠤⠴⠥⠴⠚⠈⠉⠁⠀⠀⠀⠀ ") - - print(f"Inimigo = {nome}\nEspecie = {especie}\nNivel = {nivel}\nVida = {vidaInstacia}\n\n") - print(f"{nomeJogador} | vida = {vidaJogador} | lvl = {nivelJogador} | dano = {forcaJogador} | defesa = {defesaJogador}\n\n") - - - print("atacar/fugir?\n\n") - opcao = input() + i = inimigo.getNPCID(idNPC) # Pegando a informacao da tupla do monstro passado pela funcao - match opcao: - - case 'atacar': - #atacar - #listar opcoes de ataque que o personagem possui: habilidades e itens do inventario que são do tipo armamento + #carregando status vindos da tabela npc + nome = i[0][1] + especie = i[0][5] + nivel = i[0][4] + forca = i[0][6] + defesa = i[0][7] + + #pegando a vida da instancia + inimigoAux = Instancia() #atributos da tabela instancia, especificando qual monstro que é + iAux = inimigoAux.getInstanciaID(idNPC,numInstancia) # Acessando a informacao da instancia especifica do monstro + vidaInstacia = iAux[0][2] + + if(vidaInstacia <= 0): + break + #acessando informacoes do jogador + jogador = Pc() + statusJogador = jogador.getPC(jogadorID) + nomeJogador = statusJogador[0][1] + vidaJogador = statusJogador[0][3] + nivelJogador = statusJogador[0][4] + forcaJogador = statusJogador[0][7] + defesaJogador = statusJogador[0][8] + + + + + print("\033[1;32m\n\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") + print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") + print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣽⣦⣀⡀⠤⠤⣤⣀⡀⠀⠀⠀⠀⠀ \033[0m") + print("\033[1;34m ⠀⠀⠀⠀⣀⠴⠊⡉⠔⢛⠭⠉⡇⠙⢄⠈⠐⠮⡉⠒⠬⣑⠢⣀⠀⠀ \033[0m") + print("\033[1;34m ⠀⠀⣠⠞⠁⡴⠋⠀⡰⠊⡀⠀⢸⠀⠀⢣⠀⠀⣦⢄⡀⠈⠣⡈⢧⡀ \033[0m ") + print("\033[1;34m ⠀⡔⠁⢀⠎⠀⠀⡰⢡⢮⣇⠀⢸⠀⠀⠀⠃⠀⣿⣦⡙⡄⠀⢷⡀⢃ \033[0m ") + print("\033[1;34m ⠸⠁⠀⡞⠀⠀⢀⣇⡇⣾⣿⣆⠀⠀⠀⠀⡸⠘⠛⠛⠛⡉ ⠀⠀⡇⢸ \033[0m ") + print("\033[1;34m ⡆⠀⢸⠀⠀⠀⢸⠉⠉⠉⠉⠁⠀⠀⢻⣿⢹⠀⠀⠀⠀⣠ ⠀⠀⠁⢸ \033[0m ") + print("\033[1;34m ⡇⠀⢸⠀⠀⠀⠘⠀⠀⠀⠀⠀⠀⡀⠀⠫⢾⠀⢀⣤⢞⠋⠀ ⢠⠃⠸ \033[0m ") + print("\033[1;34m ⢡⠀⠈⠀⠀⠀⠈⢳⡦⣄⣀⣤⣀⣧⣶⣤⣾⣿⣿⣣ ⢫⠀⠀⡏⢠⠆ \033[0m ") + print("\033[1;34m ⠈⢧⡀⠑⡀⠀⠀⠘⠝⠾⠿⣿⣿⡿⠿⡿⠛⠏⠉⠀⡜⢠⠞⣠⠏⠀ \033[0m ") + print("\033[1;34m ⠀⠀⠳⣄⠈⢤⠀⠀⠈⢢⡀⠈⠋⡇⠀⠀⠸⠀⠀⡔⡠⣋⡴⠋⠀ \033[0m ") + print("\033[1;34m ⠀⠀⠀⠈⠙⠲⠯⠶⢤⣀⣑⣦⣀⡇⠤⠴⠥⠴⠚⠈⠉⠁⠀⠀⠀⠀ \033[0m ") + + print(f"Inimigo = {nome}\nEspecie = {especie}\nNivel = {nivel}\nVida = {vidaInstacia}\n\n") + print(f"{nomeJogador} | vida = {vidaJogador} | lvl = {nivelJogador} | dano = {forcaJogador} | defesa = {defesaJogador}\n\n") + + + print("atacar/fugir?\n\n") + opcao = input() - - - - #ao atacar, fazer o sistema de dano. Decrementar da vida da instancia o dano do personagem - #e ver quanto de dano tira dependendo da defesa do npc monstro - #se a vida do personagem ou do monstro for <=0 parar luta - #se a instancia tiver perdido, deletar instancia da tabela instancias - #se o personagem tiver perdido GAME OVER, mandar pro spawn ou inicio da dungeon - #ao final, tem que atualizar no banco as duas tabelas de qualquer forma - #porque a vida que o personagem perdeu na batalha continua perdida - print("Voce ataca o inimigo\n") + match opcao: - case 'fugir': - print("voce foge\n") - -luta(1, 1, 4) + + case 'atacar': + + #listar opcoes de ataque que o personagem possui: habilidades e itens do inventario que são do tipo armamento + print("Voce pode atacar com habilidades ou itens: (hab/it)\n") + atacar = input() + + if(atacar == "habilidade" or atacar == "hab" or atacar == "habilidades"): + print("habilidades disponiveis:\n") + print("ID | Nome | Cooldown | Dano\n\n") + + consulta = PossuiHab() + consulta.consultarPossuiHabPersonagem(jogadorID) + + print("\nDigite apenas o id da habilidade!\n") + + hab = input() + ID = consulta.getPossuiHabPK(jogadorID, hab) + if ID is not None: + danoAtaque = ID[0][3] + randint(-10,10) + defesa = defesaJogador + randint(-10,10) + + danoMonstro = forca + randint(-10,10) + defesaMonstro = defesa + randint(-10,10) + + danoInfligidoJogador = danoMonstro - defesaJogador + danoInfligidoMonstro = danoAtaque - defesaMonstro + + print(f"jogador -{danoInfligidoJogador}") + print(f"monstro -{danoInfligidoMonstro}") + + if(danoInfligidoJogador > 0): + novaVida = vidaJogador - danoInfligidoJogador + jogador.atualizarVidaPCID(jogadorID, novaVida) + + if(danoInfligidoMonstro > 0): + novaVidaMonstro = vidaInstacia - danoInfligidoMonstro + inimigoAux.atualizarVidaInstanciaID(idNPC, numInstancia, novaVidaMonstro) + + else: + danoMonstro = forca + randint(-10,10) + defesa = defesaJogador + randint(-10,10) + danoInfligidoJogador = danoMonstro - defesaJogador + + print(f"jogador{danoInfligidoJogador}\n") + + if(danoInfligidoJogador > 0): + novaVida = vidaJogador - danoInfligidoJogador + jogador.atualizarVidaPCID(jogadorID, novaVida) + + + #if(atacar == "i" or atacar == "item" or atacar == "it"): + + + + + + #ao atacar, fazer o sistema de dano. Decrementar da vida da instancia o dano do personagem + #e ver quanto de dano tira dependendo da defesa do npc monstro + #se a vida do personagem ou do monstro for <=0 parar luta + #se a instancia tiver perdido, deletar instancia da tabela instancias + #se o personagem tiver perdido GAME OVER, mandar pro spawn ou inicio da dungeon + #ao final, tem que atualizar no banco as duas tabelas de qualquer forma + #porque a vida que o personagem perdeu na batalha continua perdida + + + case 'fugir': + print("voce foge\n") + break + + case _: + print("\nDigite uma das opcoes!\n") + + if(vidaInstacia <= 0): + print("\nVoce derrotou o monstro\n") + +luta(3, 1, 4) From cbd1a40927e2032dc5dad803d88071afa58b84cc Mon Sep 17 00:00:00 2001 From: Dyetrix Date: Sun, 3 Dec 2023 15:55:20 -0300 Subject: [PATCH 10/18] =?UTF-8?q?Op=C3=A7=C3=A3o=20de=20usar=20itens=20e?= =?UTF-8?q?=20po=C3=A7=C3=B5es=20e=20opera=C3=A7=C3=B5es=20disso=20no=20ba?= =?UTF-8?q?nco?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/Banco/Inventario.py | 73 +++++++++++++++++++++++++++++++ game/battle.py | 93 ++++++++++++++++++++++++++-------------- 2 files changed, 134 insertions(+), 32 deletions(-) diff --git a/game/Banco/Inventario.py b/game/Banco/Inventario.py index 3b9e47d..dcd468c 100644 --- a/game/Banco/Inventario.py +++ b/game/Banco/Inventario.py @@ -56,4 +56,77 @@ 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() \ No newline at end of file diff --git a/game/battle.py b/game/battle.py index 5d4b5c7..1482464 100644 --- a/game/battle.py +++ b/game/battle.py @@ -1,16 +1,6 @@ from Banco import * from random import randint - -#funcao localizar persogem mostra coordenada do local -#funcao pega essa coordenada e vê quais instancias de monstro estao no local -#chamar a funcao de lutar, passando numero e id da instancia, e o id do personagem que vem da main - -#select i.personagem,i.numero, i.vida, n.nome, n.vidamax, n.especie, n.lvl, n.forca, n.defesa from instancia i -#join npc n -#on i.personagem = n.personagem; -#luta(nome: str, especie: str, forca: int, defesa: int, vidaInstacia: int): - def luta(idNPC: int, numInstancia: int, jogadorID: int): @@ -72,7 +62,7 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): case 'atacar': #listar opcoes de ataque que o personagem possui: habilidades e itens do inventario que são do tipo armamento - print("Voce pode atacar com habilidades ou itens: (hab/it)\n") + print("Voce pode atacar com habilidades, itens ou usar poção: (hab/it/poc)\n") atacar = input() if(atacar == "habilidade" or atacar == "hab" or atacar == "habilidades"): @@ -87,11 +77,11 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): hab = input() ID = consulta.getPossuiHabPK(jogadorID, hab) if ID is not None: - danoAtaque = ID[0][3] + randint(-10,10) - defesa = defesaJogador + randint(-10,10) + danoAtaque = ID[0][3] + randint(-4,3) + defesa = defesaJogador + randint(-4,3) - danoMonstro = forca + randint(-10,10) - defesaMonstro = defesa + randint(-10,10) + danoMonstro = forca + randint(-4,3) + defesaMonstro = defesa + randint(-4,3) danoInfligidoJogador = danoMonstro - defesaJogador danoInfligidoMonstro = danoAtaque - defesaMonstro @@ -108,8 +98,8 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): inimigoAux.atualizarVidaInstanciaID(idNPC, numInstancia, novaVidaMonstro) else: - danoMonstro = forca + randint(-10,10) - defesa = defesaJogador + randint(-10,10) + danoMonstro = forca + randint(-4,3) + defesa = defesaJogador + randint(-4,3) danoInfligidoJogador = danoMonstro - defesaJogador print(f"jogador{danoInfligidoJogador}\n") @@ -119,23 +109,68 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): jogador.atualizarVidaPCID(jogadorID, novaVida) - #if(atacar == "i" or atacar == "item" or atacar == "it"): + elif(atacar == "i" or atacar == "item" or atacar == "it"): + + print("\n itens disponiveis:\n") + print("ID | Nome | Dano\n\n") + + inv = Inventario() + inv.consultarInventarioArmasID(jogadorID) + print("\nDigite apenas o id do item!\n") + item = input() + IDi = inv.getInventarioArmasID(jogadorID, item) + if IDi is not None: + danoAtaque = IDi[0][2] + randint(-4,3) + defesa = defesaJogador + randint(-4,3) + danoMonstro = forca + randint(-4,3) + defesaMonstro = defesa + randint(-4,3) + danoInfligidoJogador = danoMonstro - defesaJogador + danoInfligidoMonstro = danoAtaque - defesaMonstro + + print(f"jogador -{danoInfligidoJogador}") + print(f"monstro -{danoInfligidoMonstro}") + + if(danoInfligidoJogador > 0): + novaVida = vidaJogador - danoInfligidoJogador + jogador.atualizarVidaPCID(jogadorID, novaVida) - #ao atacar, fazer o sistema de dano. Decrementar da vida da instancia o dano do personagem - #e ver quanto de dano tira dependendo da defesa do npc monstro - #se a vida do personagem ou do monstro for <=0 parar luta - #se a instancia tiver perdido, deletar instancia da tabela instancias - #se o personagem tiver perdido GAME OVER, mandar pro spawn ou inicio da dungeon - #ao final, tem que atualizar no banco as duas tabelas de qualquer forma - #porque a vida que o personagem perdeu na batalha continua perdida + if(danoInfligidoMonstro > 0): + novaVidaMonstro = vidaInstacia - danoInfligidoMonstro + inimigoAux.atualizarVidaInstanciaID(idNPC, numInstancia, novaVidaMonstro) + else: + danoMonstro = forca + randint(-4,3) + defesa = defesaJogador + randint(-4,3) + danoInfligidoJogador = danoMonstro - defesaJogador + + print(f"jogador -{danoInfligidoJogador}\n") + + if(danoInfligidoJogador > 0): + novaVida = vidaJogador - danoInfligidoJogador + jogador.atualizarVidaPCID(jogadorID, novaVida) + + elif(atacar == "poção" or atacar == "poc" or atacar == "pocao"): + print("\nPoções disponiveis:\n") + print("ID | Nome | Cura | Usos\n\n") + + inv2 = Inventario() + inv2.consultarInventarioConsumiveisID(jogadorID) + + print("\nDigite apenas o ID da poção!\n") + + IdPocao = input() + teste = inv2.getInventarioConsumiveisID(jogadorID, IdPocao) + + if teste is not None: + novaVida = vidaJogador + teste[0][2] + jogador.atualizarVidaPCID(jogadorID, novaVida) case 'fugir': - print("voce foge\n") + print("Você fugiu!\n") break case _: @@ -145,9 +180,3 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): print("\nVoce derrotou o monstro\n") luta(3, 1, 4) - - - - - -##def luta(forca: int, nome: str, especie: str, defesa: int, vidaInstacia: int, instanciaNum: int): \ No newline at end of file From fe55d649ce1669bd6c29fa7bfb4a21e9304681d7 Mon Sep 17 00:00:00 2001 From: FilhoDoan Date: Mon, 4 Dec 2023 03:15:59 -0300 Subject: [PATCH 11/18] =?UTF-8?q?adicionando=20vista=20de=20habilidade=20p?= =?UTF-8?q?or=20personagem=20e=20adi=C3=A7=C3=A3o=20de=20habilidades=20bas?= =?UTF-8?q?icas=20por=20especie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/Banco/InstanciaItem.py | 19 +++- game/Banco/Pc.py | 27 ++++-- game/Banco/PossuiHab.py | 18 +--- game/Banco/__init__.py | 1 + .../__pycache__/InstanciaItem.cpython-310.pyc | Bin 2912 -> 3541 bytes game/Banco/__pycache__/Pc.cpython-310.pyc | Bin 3273 -> 3572 bytes .../__pycache__/PossuiHab.cpython-310.pyc | Bin 3361 -> 3301 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 705 -> 715 bytes game/__pycache__/game.cpython-310.pyc | Bin 3021 -> 4211 bytes game/game.py | 87 +++++++++++++----- 10 files changed, 106 insertions(+), 46 deletions(-) diff --git a/game/Banco/InstanciaItem.py b/game/Banco/InstanciaItem.py index 5747460..de07395 100644 --- a/game/Banco/InstanciaItem.py +++ b/game/Banco/InstanciaItem.py @@ -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 diff --git a/game/Banco/Pc.py b/game/Banco/Pc.py index 8572e82..a4df035 100644 --- a/game/Banco/Pc.py +++ b/game/Banco/Pc.py @@ -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("\nPersonagem criado com sucesso") except psycopg2.Error as e: print("Erro ao inserir PC", e) finally: @@ -44,10 +43,7 @@ def consultarPCNome(self, Nome:str): cursor = conexao.cursor() cursor.execute(f"""Select * from PC where nome = '{Nome}'; """) consultarPC = cursor.fetchall() - if(consultarPC == []): - print("Não há Personagem com esse nome no banco") - else: - return consultarPC + return consultarPC except psycopg2.Error as e: print("Erro ao cosultar os PC's", e ) finally: @@ -69,16 +65,31 @@ 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: diff --git a/game/Banco/PossuiHab.py b/game/Banco/PossuiHab.py index 6b4663a..154a90c 100644 --- a/game/Banco/PossuiHab.py +++ b/game/Banco/PossuiHab.py @@ -14,8 +14,6 @@ def inserirPossuiHab(self, personagem:int, habilidade:int): cursor = conexao.cursor() cursor.execute(f"""Insert into possuihab values({personagem},{habilidade});""") inserirDropItem = conexao.commit() - return print("possuihab inserido com sucesso") - except psycopg2.IntegrityError as e: print(f"Erro ao inserir possuihab", e) finally: @@ -31,9 +29,7 @@ def consultarPossuiHabPK(self,personagem:int, habilidade:int): if not consulta: print("Não foi há possuiHab cadastrados\n") else: - for x in consulta: - print(x) - return x + return consulta except psycopg2.IntegrityError as e: print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n") finally: @@ -49,9 +45,7 @@ def consultarPossuiHab(self): if not consulta: print("Não foi há itens cadastrados\n") else: - for x in consulta: - print(x) - return x + return consulta except psycopg2.IntegrityError as e: print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n") finally: @@ -71,21 +65,19 @@ def deletarPossuiHabilidaed(self, personagem:int, habilidade:int): finally: cursor.close() - def consultarPossuiHabPersonagem(self,personagem:int): + def consultarPossuiHabPersonagem(self,nome:str): try: conexao = self.db.conexao cursor = conexao.cursor() cursor.execute(f"SELECT IDhabilidade, Nome, Tempo_de_recarga, Dano " f"FROM Habilidade " f"INNER JOIN PossuiHab ON Habilidade = IDhabilidade " - f"WHERE Personagem = {personagem};") + f"WHERE Personagem = '{nome}';") consulta = cursor.fetchall() if not consulta: print("Não foi há possuiHab cadastrados\n") else: - for x in consulta: - print(x) - return x + return consulta except psycopg2.IntegrityError as e: print(f"Encontramos problemas ao fazer a consulta. Erro: {e}\n") finally: diff --git a/game/Banco/__init__.py b/game/Banco/__init__.py index 597f9da..bce9385 100644 --- a/game/Banco/__init__.py +++ b/game/Banco/__init__.py @@ -8,6 +8,7 @@ from .FazMissao import * from .Habilidade import * from .Instancia import * +from .InstanciaItem import * from .InstanciaItem import * from .Inventario import * from .Item import * diff --git a/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc b/game/Banco/__pycache__/InstanciaItem.cpython-310.pyc index 86143f2906c4f226c6b2e22b2363f894657add97..5b7c5a47437a0af16971b71848e7ddc2f27a3504 100644 GIT binary patch delta 730 zcmZ9Iv2W8r6vpq)XZvttleiENA>}GcAr!&F23=@_>WU_zsT9%8%DGh{Vk0L65jhlz zN^D4#M--`A$=uP(Y4n}(P2LpGrox#N!g818z0#|?KH0W@|KHUYo`>vtvWcN6ySz41x{LiJd-$SVLpI=bB2 zN^!mTUj{S7Jlu9TBjth=E@d_gTF^o!5A#xNDbume^7r%gz;8c(2wVR1YpcPwD}wMU zfbAt|S z)-KAg&&4Tr1K%3mX791hWs(6Y=!aVtV$~?&wRpo=!A3kVZl*6uKJ TScVuTv;~7RJ)eQ(0XYH(PQ_GjhuTjVO`_5ek#zxkMS2CNJQSoji$4oKb7@ zDz5E}LSQ*TpaM~a!%&vHQ`nP39Et#jmZmn#ifeafNT&h X<^vKO3>=J1Oj1ljyc|N4n|Ol(-gzaT diff --git a/game/Banco/__pycache__/Pc.cpython-310.pyc b/game/Banco/__pycache__/Pc.cpython-310.pyc index df269c53588b1dc5a227b80c06c26a555368699a..12674e5a8a0615a0a22dbe5853a3cb314325f6e0 100644 GIT binary patch delta 1205 zcmah{%}>-o6z}Y|-R`zsHtPbrd@NnQmI^{bh!;bQSxrbFq=o}x4BE5>mn`jOTEuM- zNHpqEG9HX4H1XiUi`@0(!GEC_J$vzhClkRp`vt5dw#l2B-+OQ7_kQnv&HU<)JF*;O z;QOhsTQB6jI6*J>-g-lAmbk*2X*2VLy)BtZi#59}7LabU2N2opU0~Ggfr>66;S*&0 zOa3HT4&A%6$k=I?@whd@1P5Fh7i}-# zjFRJ8sObTt@;E~G&743o9NXO}c{-lg3ITeE`>0=Nnkei7u^FTl(g3)FU|1x;A0s(_ zF6ur7z@PSe$pe1u)*{s-yw6c}78p>LUyD>OgR)#zS-}i%ai^5!wmF*vWnrx=ThFD+ zHtqo}S(1(9Z{i$0rA9Fi%Sj#8+HpU{Xq~6ZrYbbb9zL5hM2~&sOJpE70$Z2LRI4fp zmGLOXCjQj*M&yDpg_l!#jEa5~ zNs}MK=eB;+Dp{VTtYBwdDH}u=+UJ|oR`uz0+HeZ4QMp?4)w2Z7Yk0Jtsuix2nb?3V zX~uXHBD=8+IwY@S??l^Kx0Gom@3-gS>D1ld=!)Oj7qbN=#w#D8rCZadHfg(aLCR{(WnrrD*a@%w?A; zI1a{7oVs+*G4#^B8YkbyiGGEK&_M~pu7`1+9_g^)i#5#hNM0I2<3y8&Q*t~Jm*R<} Q)Dg!V_*E8X$aCr1U)-enwg3PC delta 1006 zcmZ`%&rcIU6rO2!+uiN%TKQ4hV#*K{SVWA*1Cgj9#DqjbHfbV(gK^m%pjvjC*{w)} zV#EU{6EY`nqVYhy$v;5C$&>f>pD@9LF;SdpX$wYolecf@eeZkkdvCt?e$JW1Ff_oQ z`5%w*8-2%Q@a4|CurrILCCSTq`B&0H%Ihrx>%#s7yaJU2j;$@!Zn8@3;e$~2l3Q>N z%z+L4ZDJQdPy`YPlaG}3A_UJ22x=*gQ8tXN804sV;PKPvhA%h1YjEvUuE(>RJZr#G z*=T(FMnSVN4T$e7<5lF+lH(ENl2sH`T^t0Y)^V3of*gWMet>C-B74eW+i|NPS7^x( zBiSvJ07ptCSa(Tf`FbRa1j@d|?n@u3M+9pT8?!}kQO9PXmiQ{v;{ zv%#ni_X%2be3wwf;d?4g@K3wRx-i-=&gz;(3vFRdO_v%uCXaOsSM*2=Y%w_?TiiWj zGpfb*lGh|U2msqw?hhh?7~-Z$A&G<5Y?=&XYEB&&5kbR3^}rnPa2bafEm5w*XOmjb zW@mH7^^ijmALoCB^a!r@URshYxv`wfXS?{KS267%n*uX~--2MlB^i44!KKbaAZ-Z@~ySgf)CggjQdrrQ5^Eufp{K%&psgy3^ z;oqw}lg9hBOfo4aF)!O`yW=UntJ~(RWOZ&2lYYY2u`j$57T^N4z~$QgvgGEd6sU`A z^Nt4rR38^mh0*6?or! z&Qp8~d&1e!!f&{w@JNLhG*71BB_D=QdK$ja4_4Dgcy*%0eBKGF4=S~qmlb>6LNY>* z!IMNb+v<*awc+{?YeB`!!7sIBiBA6{3MCxR99~q`36ph7cTA!)ZmnMILu0RB$N-9^HW9YI!5b8%9K6$tRuOOiiLd`R{x;!*gcM*XF*h!(t%Rou zo4>Atqt_**9m4)rV{F<^&8b!z)0Ob{g6~%vm}NULN+#fYVv5JqZPcBr3@*#@w`dpM z35zhTpC989JwT+iL39-nsecgBNJT^{?6KqUO&=l8K}|lJ7zyQ(i(aqDcZ3gX@;N0+ zt(1q5J|@RcU&o4HLTS#J5n0i9Ii;lSoJ+%v-6GDcBh`%IO{J`^y@YCpl XEu+UwaOuSwg~O6@k*S}z_dNd3V-EJ)E1sfU`RG$kf=Hx*sB zRZuK=65dfO_9$K~1y7rPs_Eij55k}xGA5>dFNosI}%5Q9a&$BDSD{!|Hk(sD8RximP2-Fb^} zr`?0_RkvV*b`_!?JFZ;jOS~boBt*G3;PJeYS3LTJuPH>C!f`E4m4-eqZcd_=j#gpc zN`I)7_^Kv%<&}a`!nI|+7HYlW5#7Al$_-=MortEGEjNmDGu5iyCFf!iaft-N679`! zsVR!}nzLAK%rwajI|VP<&`1*JogoAz0-q#ysv1OK=ft4&TZCm=$FLO=VDd2t8m4%G z8{7+S4yO3%MAXxKcZ%-Rch7j#cURlEpG0@I?XGzY-6`BN`rref&Gq1K?OusKgvDDX zzwP_w(r$?qOzVRq!#LcLJf{7hlSQ)p|Qa2;<*Xiucy!{c~4<6uWaHq2m-UMTr_BB<1#8r0?*7XcL4;tE}Wk5VM l8tax32PF1L3`*>U^-uz?hY}G}bYctJ9H%X2$6+;e>KE_d#-9KH diff --git a/game/Banco/__pycache__/__init__.cpython-310.pyc b/game/Banco/__pycache__/__init__.cpython-310.pyc index dbcb08406996fc9f1e8347282c7fcc59afc18e75..feeabb19514124b7ee4a9bc3ee35a472fcd77e18 100644 GIT binary patch delta 41 vcmX@edYY9tpO=@50SGRo1U6qsinRCSw*3Mjl20>k0}^ delta 47 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 I*k-Bl3!=6e&Hw-a diff --git a/game/game.py b/game/game.py index e5232b7..cb4fc69 100644 --- a/game/game.py +++ b/game/game.py @@ -4,6 +4,7 @@ personagem = Personagem() possuiHab = PossuiHab() lc=Local() +instanciaItem = Instanciaitem() def CarregarJogo(): Save=input("\033[1;32mDigite o ID do seu personagem: \033[0m") @@ -44,29 +45,58 @@ def EncontrarSalas(pos, Id): pc.updatePcLocal(Id, mudar) -def ListarHabilidadePersonagem(): - habilidadePersonagem = input("\033[1;32mDigite o ID do seu personagem: \033[0m") - habilidade = possuiHab.consultarPossuiHabPersonagem(habilidadePersonagem) - return habilidade[0] +""" +def ListarInventarioJogador(IDjogador): + """ + + + + -def criarJogador(): - pcID = input("ID do jogador :") - pcNome = input("Nome do jogador :") - pcEspecie = input("Especie do jogador :") +def ListarHabilidadePersonagem(pcID): + habilidade = possuiHab.consultarPossuiHabPersonagem(pcID) + tuplasHabilidade =[f"|Habilidades que possui\n|Nome Habilidade:| {y[1]}\n\n" for y in habilidade] + for x in tuplasHabilidade: + print(x) + +def definirHabilidadePersonagem(pcEspecie,pcID): + possuiHab = PossuiHab() + match pcEspecie: + case 'Humano': + possuiHab.inserirPossuiHab(pcID,1) + + case 'Povo fogo': + possuiHab.inserirPossuiHab(pcID,2) + + case 'Povo crystal': + possuiHab.inserirPossuiHab(pcID,3) + + case 'Vampiro': + possuiHab.inserirPossuiHab(pcID,4) + +def deletarJogador(pcID): criarPC = Pc() - personagem.criarPersonagem(pcID, False) - criarPC.criarPc(pcID,pcNome,0,100,0,0,pcEspecie,5,0,0) - menuJogador() - -def verJogadorOp(): - NomedoJogador = input("Digite o Nome do jogador(es) que busca:") + criarPC.deletarPC(pcID) + +def verJogadorOp(NomedoJogador,pcID): jogador = pc.consultarPCNome(NomedoJogador) - tuplas = [f"| ID:{x[0]} | Nome: {x[1]} | LVL:{x[4]} | Especie:{x[6]}|" for x in jogador] + tuplas = [f"|Caracteristicas personagem\n| ID:{x[0]} | Nome: {x[1]} | LVL:{x[4]}| Especie:{x[6]}|\n\n" for x in jogador] for y in tuplas: - print(y) + print(y) + ListarHabilidadePersonagem(pcID) menuJogador() - - + +def atualizarJogador(pcID,pcNome): + pc.updatePc(pcID,pcNome) + menuJogador() + +def criarJogador(pcID,pcNome,pcEspecie): + criarPC = Pc() + personagem.criarPersonagem(pcID, True) + criarPC.criarPc(pcID,pcNome,0,100,0,0,pcEspecie,5,0,0) + definirHabilidadePersonagem(pcEspecie, pcID) + menuJogador() + def menuJogador(): print("\033[1;32m Opções de Jogador") print("\033[0;36m|1| = Criar personagem") @@ -79,10 +109,19 @@ def menuJogador(): match OpçaoJogador: case '1': - criarJogador() + pcID = input("ID do jogador :") + pcNome = input("Nome do jogador :") + pcEspecie = input("|Especies: |\n|Humano|\n|Povo Fogo|\n|Povo crystal|\n|Vampiro|:\n") + criarJogador(pcID,pcNome,pcEspecie) case '2': - verJogadorOp() - - -#verJogadorOp() -#ListarHabilidadePersonagem() + pcID = input("ID do jogador :") + NomedoJogador = input("Digite o Nome do jogador(es) que busca:") + verJogadorOp(NomedoJogador,pcID) + case '3': + NomedoJogador = input("Digite seu Nome") + pcID = input("ID do jogador que você deseja atualizar o Nome:") + pcNome = input("Novo Nome do jogador :") + atualizarJogador(NomedoJogador,pcID,pcNome) + case '4': + pcID = input("ID do jogador que deseja deletar :") + deletarJogador(pcID) From a1f43fcb569fc3f2e52e93493490f2b20a1d5236 Mon Sep 17 00:00:00 2001 From: FilhoDoan Date: Mon, 4 Dec 2023 11:53:40 -0300 Subject: [PATCH 12/18] =?UTF-8?q?adicionando=20algumas=20altera=C3=A7?= =?UTF-8?q?=C3=B5es=20e=20sistema=20de=20criar=20inventario=20incompleto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/__pycache__/game.cpython-310.pyc | Bin 4211 -> 4439 bytes game/game.py | 13 ++++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/game/__pycache__/game.cpython-310.pyc b/game/__pycache__/game.cpython-310.pyc index ce91f82c0e9781b4b7c0f883674f621de19ccb9e..d739a607756dcfba11e5f21631b9eee3871fcc16 100644 GIT binary patch delta 948 zcmZ8f&rcIU6rR~%oo=_?@}txM0tH1@O2nuL5rQHnl$c7?10j)Q(^*Ip=r*s#6UHe1 z17wa~)M&hFxS8n1|A33hM&n=LNfR$dd~Xo}ce39%`|W!(-+MFP`#$w&!gShZ`2763 z9^A`rXS(_0?O|^@NNuqtM`}`k!j{s~kS1~_$)qI{ICG_tN#v}wWeT}PIx>yiDl^hW zZj)Krg4`}!WgBu%w#yuHhwQk+y!_jjInM2!cf6!?R~cscp@tSre6Qo%=tS7$l3!*I zc#}QjG~Z;;bRWGcYxe1D)=Gi>M z1-H4e2SueP_IN@4PUcmoILW8gxahSmVo-%|zd4~c#5w%?N({SY%BCGG%!Uc|Rs7T|Nta|%TmCOGaG22s1Ky6kygR4aCW8##dlLS!{J>T7-jPOGPOU;Z{q4QkPWF)|0! zYS$j`p~5^JXyZt1)TQ4H7Ai1Fss;r$lq!xa;YaMup|lzNs^|y@52e!L@lnmIN2w{X z$+kFWO-p@9b?XTjQ(sbN7pZ6%Ac$8t;>N)>5-t#o6CAHFaw<^uVLn{-WeCd{5SL+b zhj*iwxQw}-Md!V?Fh|+b1Y{8CEIji^8tGR3<7+?syT<>UPEqjjO=Ej2DsZPp$!OWj zN9K%QtAsE{!EvYT!`r5*8Sa7O%=_mG~xNQr|>LP684b{OXs+1IF9bc*C zQj4kbXaIIT*YsyQrzb;d`$urlxP$U>z+iJw^rEYs!ayICR+7JaK8TEkZYWg zf5G91ZE9?Wofb#Cjlw*&-9H+P%sOY|o!s8gOh!ljN5eyNlhrkb2w#S4%ZA;UGDDpq mUSWfye_mp1ZFI7iYZc1Kgs=oGUTMjc6-g Date: Mon, 4 Dec 2023 12:55:21 -0300 Subject: [PATCH 13/18] Trigger para instancia morta e polindo o jogo --- game/battle.py | 182 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 142 insertions(+), 40 deletions(-) diff --git a/game/battle.py b/game/battle.py index 1482464..1b38e26 100644 --- a/game/battle.py +++ b/game/battle.py @@ -1,5 +1,18 @@ from Banco import * from random import randint +import sys, time, os + +def print_devagar(str): + for letter in str: + sys.stdout.write(letter) + sys.stdout.flush() + time.sleep(0.041) + +def print_um_pouco_mais_rapido(str): + for letter in str: + sys.stdout.write(letter) + sys.stdout.flush() + time.sleep(0.005) def luta(idNPC: int, numInstancia: int, jogadorID: int): @@ -9,6 +22,7 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): i = inimigo.getNPCID(idNPC) # Pegando a informacao da tupla do monstro passado pela funcao + #carregando status vindos da tabela npc nome = i[0][1] especie = i[0][5] @@ -19,6 +33,9 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): #pegando a vida da instancia inimigoAux = Instancia() #atributos da tabela instancia, especificando qual monstro que é iAux = inimigoAux.getInstanciaID(idNPC,numInstancia) # Acessando a informacao da instancia especifica do monstro + if iAux is None: + print_devagar("\nInimigo já foi derrotado ou não existe\n") + break vidaInstacia = iAux[0][2] if(vidaInstacia <= 0): @@ -35,25 +52,25 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): - print("\033[1;32m\n\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") - print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m") - print("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣽⣦⣀⡀⠤⠤⣤⣀⡀⠀⠀⠀⠀⠀ \033[0m") - print("\033[1;34m ⠀⠀⠀⠀⣀⠴⠊⡉⠔⢛⠭⠉⡇⠙⢄⠈⠐⠮⡉⠒⠬⣑⠢⣀⠀⠀ \033[0m") - print("\033[1;34m ⠀⠀⣠⠞⠁⡴⠋⠀⡰⠊⡀⠀⢸⠀⠀⢣⠀⠀⣦⢄⡀⠈⠣⡈⢧⡀ \033[0m ") - print("\033[1;34m ⠀⡔⠁⢀⠎⠀⠀⡰⢡⢮⣇⠀⢸⠀⠀⠀⠃⠀⣿⣦⡙⡄⠀⢷⡀⢃ \033[0m ") - print("\033[1;34m ⠸⠁⠀⡞⠀⠀⢀⣇⡇⣾⣿⣆⠀⠀⠀⠀⡸⠘⠛⠛⠛⡉ ⠀⠀⡇⢸ \033[0m ") - print("\033[1;34m ⡆⠀⢸⠀⠀⠀⢸⠉⠉⠉⠉⠁⠀⠀⢻⣿⢹⠀⠀⠀⠀⣠ ⠀⠀⠁⢸ \033[0m ") - print("\033[1;34m ⡇⠀⢸⠀⠀⠀⠘⠀⠀⠀⠀⠀⠀⡀⠀⠫⢾⠀⢀⣤⢞⠋⠀ ⢠⠃⠸ \033[0m ") - print("\033[1;34m ⢡⠀⠈⠀⠀⠀⠈⢳⡦⣄⣀⣤⣀⣧⣶⣤⣾⣿⣿⣣ ⢫⠀⠀⡏⢠⠆ \033[0m ") - print("\033[1;34m ⠈⢧⡀⠑⡀⠀⠀⠘⠝⠾⠿⣿⣿⡿⠿⡿⠛⠏⠉⠀⡜⢠⠞⣠⠏⠀ \033[0m ") - print("\033[1;34m ⠀⠀⠳⣄⠈⢤⠀⠀⠈⢢⡀⠈⠋⡇⠀⠀⠸⠀⠀⡔⡠⣋⡴⠋⠀ \033[0m ") - print("\033[1;34m ⠀⠀⠀⠈⠙⠲⠯⠶⢤⣀⣑⣦⣀⡇⠤⠴⠥⠴⠚⠈⠉⠁⠀⠀⠀⠀ \033[0m ") - - print(f"Inimigo = {nome}\nEspecie = {especie}\nNivel = {nivel}\nVida = {vidaInstacia}\n\n") - print(f"{nomeJogador} | vida = {vidaJogador} | lvl = {nivelJogador} | dano = {forcaJogador} | defesa = {defesaJogador}\n\n") + print_um_pouco_mais_rapido("\033[1;32m\n\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;32m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣽⣦⣀⡀⠤⠤⣤⣀⡀⠀⠀⠀⠀⠀ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⠀⠀⠀⠀⣀⠴⠊⡉⠔⢛⠭⠉⡇⠙⢄⠈⠐⠮⡉⠒⠬⣑⠢⣀⠀⠀ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⠀⠀⣠⠞⠁⡴⠋⠀⡰⠊⡀⠀⢸⠀⠀⢣⠀⠀⣦⢄⡀⠈⠣⡈⢧⡀ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⠀⡔⠁⢀⠎⠀⠀⡰⢡⢮⣇⠀⢸⠀⠀⠀⠃⠀⣿⣦⡙⡄⠀⢷⡀⢃ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⠸⠁⠀⡞⠀⠀⢀⣇⡇⣾⣿⣆⠀⠀⠀⠀⡸⠘⠛⠛⠛⡉ ⠀⠀⡇⢸ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⡆⠀⢸⠀⠀⠀⢸⠉⠉⠉⠉⠁⠀⠀⢻⣿⢹⠀⠀⠀⠀⣠ ⠀⠀⠁⢸ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⡇⠀⢸⠀⠀⠀⠘⠀⠀⠀⠀⠀⠀⡀⠀⠫⢾⠀⢀⣤⢞⠋⠀ ⢠⠃⠸ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⢡⠀⠈⠀⠀⠀⠈⢳⡦⣄⣀⣤⣀⣧⣶⣤⣾⣿⣿⣣ ⢫⠀⠀⡏⢠⠆ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⠈⢧⡀⠑⡀⠀⠀⠘⠝⠾⠿⣿⣿⡿⠿⡿⠛⠏⠉⠀⡜⢠⠞⣠⠏⠀ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⠀⠀⠳⣄⠈⢤⠀⠀⠈⢢⡀⠈⠋⡇⠀⠀⠸⠀⠀⡔⡠⣋⡴⠋⠀ \033[0m\n") + print_um_pouco_mais_rapido("\033[1;34m ⠀⠀⠀⠈⠙⠲⠯⠶⢤⣀⣑⣦⣀⡇⠤⠴⠥⠴⠚⠈⠉⠁⠀⠀⠀⠀ \033[0m\n") + print_devagar(f"\033[1;35mInimigo = \033[0m{nome}\n\033[1;35mEspecie = \033[0m{especie}\n\033[1;35mNivel = \033[0m{nivel}\n\033[1;35mVida = \033[0m{vidaInstacia}\n\n") + print_devagar(f"{nomeJogador} | vida = {vidaJogador} | lvl = {nivelJogador} | dano = {forcaJogador} | defesa = {defesaJogador}\n\n") - print("atacar/fugir?\n\n") + + print_devagar("atacar/fugir?\n\n") opcao = input() match opcao: @@ -62,17 +79,17 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): case 'atacar': #listar opcoes de ataque que o personagem possui: habilidades e itens do inventario que são do tipo armamento - print("Voce pode atacar com habilidades, itens ou usar poção: (hab/it/poc)\n") + print_devagar("Voce pode atacar com habilidades, itens ou usar poção: (hab/it/poc)\n\n") atacar = input() if(atacar == "habilidade" or atacar == "hab" or atacar == "habilidades"): - print("habilidades disponiveis:\n") - print("ID | Nome | Cooldown | Dano\n\n") + print_devagar("\nhabilidades disponiveis:\n") + print_devagar("ID | Nome | Cooldown | Dano\n\n") consulta = PossuiHab() consulta.consultarPossuiHabPersonagem(jogadorID) - print("\nDigite apenas o id da habilidade!\n") + print_devagar("\nDigite apenas o id da habilidade!\n") hab = input() ID = consulta.getPossuiHabPK(jogadorID, hab) @@ -86,38 +103,78 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): danoInfligidoJogador = danoMonstro - defesaJogador danoInfligidoMonstro = danoAtaque - defesaMonstro - print(f"jogador -{danoInfligidoJogador}") - print(f"monstro -{danoInfligidoMonstro}") + os.system('cls') + print_devagar(f"jogador -{danoInfligidoJogador}\n") + print_devagar(f"monstro -{danoInfligidoMonstro}") if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador jogador.atualizarVidaPCID(jogadorID, novaVida) + if(novaVida <= 0): + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") + break if(danoInfligidoMonstro > 0): novaVidaMonstro = vidaInstacia - danoInfligidoMonstro inimigoAux.atualizarVidaInstanciaID(idNPC, numInstancia, novaVidaMonstro) else: + os.system('cls') + print_devagar("\nHabilidade inexistente\n") + danoMonstro = forca + randint(-4,3) defesa = defesaJogador + randint(-4,3) danoInfligidoJogador = danoMonstro - defesaJogador - print(f"jogador{danoInfligidoJogador}\n") + print_devagar(f"jogador -{danoInfligidoJogador}\n") if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador jogador.atualizarVidaPCID(jogadorID, novaVida) + if(novaVida <= 0): + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") + break elif(atacar == "i" or atacar == "item" or atacar == "it"): - print("\n itens disponiveis:\n") - print("ID | Nome | Dano\n\n") + print_devagar("\nItens disponiveis:\n") + print_devagar("ID | Nome | Dano\n\n") inv = Inventario() inv.consultarInventarioArmasID(jogadorID) - print("\nDigite apenas o id do item!\n") + print_devagar("\nDigite apenas o id do item!\n") item = input() IDi = inv.getInventarioArmasID(jogadorID, item) @@ -131,52 +188,97 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): danoInfligidoJogador = danoMonstro - defesaJogador danoInfligidoMonstro = danoAtaque - defesaMonstro - print(f"jogador -{danoInfligidoJogador}") - print(f"monstro -{danoInfligidoMonstro}") + os.system('cls') + print_devagar(f"jogador -{danoInfligidoJogador}") + print_devagar(f"monstro -{danoInfligidoMonstro}") if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador jogador.atualizarVidaPCID(jogadorID, novaVida) - + if(novaVida <= 0): + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") + break + if(danoInfligidoMonstro > 0): novaVidaMonstro = vidaInstacia - danoInfligidoMonstro inimigoAux.atualizarVidaInstanciaID(idNPC, numInstancia, novaVidaMonstro) else: + os.system('cls') + print_devagar("\nItem inexistente\n") + danoMonstro = forca + randint(-4,3) defesa = defesaJogador + randint(-4,3) danoInfligidoJogador = danoMonstro - defesaJogador - print(f"jogador -{danoInfligidoJogador}\n") + print_devagar(f"jogador -{danoInfligidoJogador}\n") if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador jogador.atualizarVidaPCID(jogadorID, novaVida) + if(novaVida <= 0): + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") + break elif(atacar == "poção" or atacar == "poc" or atacar == "pocao"): - print("\nPoções disponiveis:\n") - print("ID | Nome | Cura | Usos\n\n") + print_devagar("\nPoções disponiveis:\n") + print_devagar("ID | Nome | Cura | Usos\n\n") inv2 = Inventario() inv2.consultarInventarioConsumiveisID(jogadorID) - print("\nDigite apenas o ID da poção!\n") + print_devagar("\nDigite apenas o ID da poção!\n") IdPocao = input() teste = inv2.getInventarioConsumiveisID(jogadorID, IdPocao) + os.system('cls') if teste is not None: novaVida = vidaJogador + teste[0][2] - jogador.atualizarVidaPCID(jogadorID, novaVida) + jogador.atualizarVidaPCID(jogadorID, novaVida) + else: + os.system('cls') + print_devagar("\nPoção inexistente\n") + if(vidaInstacia <= 0): + print_devagar("\nVoce derrotou o monstro\n") + case 'fugir': - print("Você fugiu!\n") + print_devagar("Você fugiu!\n") break case _: - print("\nDigite uma das opcoes!\n") + print_devagar("\nDigite uma das opcoes!\n") - if(vidaInstacia <= 0): - print("\nVoce derrotou o monstro\n") -luta(3, 1, 4) +luta(3, 2, 4) From f803343842a9a986e6319458e48057da455bbfb8 Mon Sep 17 00:00:00 2001 From: Dyetrix Date: Mon, 4 Dec 2023 14:30:48 -0300 Subject: [PATCH 14/18] =?UTF-8?q?Ajustes=20e=20formata=C3=A7=C3=A3o=20de?= =?UTF-8?q?=20mensagens?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/battle.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/game/battle.py b/game/battle.py index 1b38e26..f3e3abc 100644 --- a/game/battle.py +++ b/game/battle.py @@ -105,7 +105,7 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): os.system('cls') print_devagar(f"jogador -{danoInfligidoJogador}\n") - print_devagar(f"monstro -{danoInfligidoMonstro}") + print_devagar(f"monstro -{danoInfligidoMonstro}\n\n") if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador @@ -141,7 +141,7 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): defesa = defesaJogador + randint(-4,3) danoInfligidoJogador = danoMonstro - defesaJogador - print_devagar(f"jogador -{danoInfligidoJogador}\n") + print_devagar(f"jogador -{danoInfligidoJogador}\n\n") if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador @@ -189,8 +189,8 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): danoInfligidoMonstro = danoAtaque - defesaMonstro os.system('cls') - print_devagar(f"jogador -{danoInfligidoJogador}") - print_devagar(f"monstro -{danoInfligidoMonstro}") + print_devagar(f"jogador -{danoInfligidoJogador}\n") + print_devagar(f"monstro -{danoInfligidoMonstro}\n\n") if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador From ae7af460c4dfd718a83e996a46fcc4786a390f3f Mon Sep 17 00:00:00 2001 From: Arthur Miranda <121466324+Dyetrix@users.noreply.github.com> Date: Mon, 4 Dec 2023 14:45:28 -0300 Subject: [PATCH 15/18] Update battle.py --- game/battle.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/game/battle.py b/game/battle.py index f3e3abc..1c7bf74 100644 --- a/game/battle.py +++ b/game/battle.py @@ -279,6 +279,3 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): case _: print_devagar("\nDigite uma das opcoes!\n") - - -luta(3, 2, 4) From 39ba084f8a292548d07cc6645d5654b628ae1159 Mon Sep 17 00:00:00 2001 From: Dyetrix Date: Mon, 4 Dec 2023 16:42:01 -0300 Subject: [PATCH 16/18] Ajustes --- game/battle.py | 78 ++++++++++++++++++++++++++------------------------ 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/game/battle.py b/game/battle.py index 1c7bf74..b29ee51 100644 --- a/game/battle.py +++ b/game/battle.py @@ -87,7 +87,9 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): print_devagar("ID | Nome | Cooldown | Dano\n\n") consulta = PossuiHab() - consulta.consultarPossuiHabPersonagem(jogadorID) + habilidades = consulta.consultarPossuiHabPersonagem(jogadorID) + for i in habilidades: + print(i) print_devagar("\nDigite apenas o id da habilidade!\n") @@ -110,29 +112,29 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador jogador.atualizarVidaPCID(jogadorID, novaVida) - if(novaVida <= 0): - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") - break if(danoInfligidoMonstro > 0): novaVidaMonstro = vidaInstacia - danoInfligidoMonstro inimigoAux.atualizarVidaInstanciaID(idNPC, numInstancia, novaVidaMonstro) + if(novaVida <= 0): + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") + break else: os.system('cls') print_devagar("\nHabilidade inexistente\n") @@ -195,29 +197,30 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): if(danoInfligidoJogador > 0): novaVida = vidaJogador - danoInfligidoJogador jogador.atualizarVidaPCID(jogadorID, novaVida) - if(novaVida <= 0): - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") - print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") - break if(danoInfligidoMonstro > 0): novaVidaMonstro = vidaInstacia - danoInfligidoMonstro inimigoAux.atualizarVidaInstanciaID(idNPC, numInstancia, novaVidaMonstro) + if(novaVida <= 0): + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⠀⠀⠀⢀⣴⣿⡶⠀⣾⣿⣿⡿⠟⠛⠁\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⣀⣀⣄⣀⠀⠀⠀⠀⣶⣶⣦⠀⠀⠀⠀⣼⣿⣿⡇⠀⣠⣿⣿⣿⠇⣸⣿⣿⣧⣤⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⢀⣴⣾⣿⡿⠿⠿⠿⠇⠀⠀⣸⣿⣿⣿⡆⠀⠀⢰⣿⣿⣿⣷⣼⣿⣿⣿⡿⢀⣿⣿⡿⠟⠛⠁⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⣴⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣹⣿⣿⣿⣿⣿⣿⡏⢻⣿⣿⢿⣿⣿⠃⣼⣿⣯⣤⣴⣶⣿⡤⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣼⣿⠏⠀⣀⣠⣤⣶⣾⣷⠄⣰⣿⣿⡿⠿⠻⣿⣯⣸⣿⡿⠀⠀⠀⠁⣾⣿⡏⢠⣿⣿⠿⠛⠋⠉⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⣿⣿⠲⢿⣿⣿⣿⣿⡿⠋⢰⣿⣿⠋⠀⠀⠀⢻⣿⣿⣿⠇⠀⠀⠀⠀⠙⠛⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠹⢿⣷⣶⣿⣿⠿⠋⠀⠀⠈⠙⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣴⣶⣦⣤⡀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⡇⢰⣶⣶⣾⡿⠷⣿⣿⣿⡟⠛⣉⣿⣿⣿⠆\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡎⣿⣿⣦⠀⠀⠀⢀⣤⣾⠟⢀⣿⣿⡟⣁⠀⠀⣸⣿⣿⣤⣾⣿⡿⠛⠁⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⣠⣾⣿⡿⠛⠉⢿⣦⠘⣿⣿⡆⠀⢠⣾⣿⠋⠀⣼⣿⣿⣿⠿⠷⢠⣿⣿⣿⠿⢻⣿⣧⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣴⣿⣿⠋⠀⠀⠀⢸⣿⣇⢹⣿⣷⣰⣿⣿⠃⠀⢠⣿⣿⢃⣀⣤⣤⣾⣿⡟⠀⠀⠀⢻⣿⣆⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⣿⣿⡇⠀⠀⢀⣴⣿⣿⡟⠀⣿⣿⣿⣿⠃⠀⠀⣾⣿⣿⡿⠿⠛⢛⣿⡟⠀⠀⠀⠀⠀⠻⠿⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠹⣿⣿⣶⣾⣿⣿⣿⠟⠁⠀⠸⢿⣿⠇⠀⠀⠀⠛⠛⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀\n") + print_um_pouco_mais_rapido("\033[0;31m ⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁\033[0m\n") + break + else: os.system('cls') print_devagar("\nItem inexistente\n") @@ -279,3 +282,4 @@ def luta(idNPC: int, numInstancia: int, jogadorID: int): case _: print_devagar("\nDigite uma das opcoes!\n") + From 24f8952b662ef231c393e9985fb45a4b41c8a98c Mon Sep 17 00:00:00 2001 From: HeBatalha Date: Mon, 4 Dec 2023 17:21:15 -0300 Subject: [PATCH 17/18] Muda o Carregar jogo para game.py --- .../__pycache__/Armadura.cpython-310.pyc | Bin 2643 -> 2616 bytes .../__pycache__/Armamento.cpython-310.pyc | Bin 2829 -> 2802 bytes game/Banco/__pycache__/Chefe.cpython-310.pyc | Bin 2204 -> 2177 bytes .../__pycache__/Consumivel.cpython-310.pyc | Bin 2692 -> 2665 bytes game/Banco/__pycache__/Contem.cpython-310.pyc | Bin 2145 -> 2118 bytes .../__pycache__/Database.cpython-310.pyc | Bin 617 -> 590 bytes game/Banco/__pycache__/Dropa.cpython-310.pyc | Bin 2828 -> 2801 bytes .../__pycache__/FazMissao.cpython-310.pyc | Bin 3326 -> 3299 bytes .../__pycache__/Habilidade.cpython-310.pyc | Bin 2678 -> 2651 bytes .../__pycache__/Instancia.cpython-310.pyc | Bin 3492 -> 4534 bytes .../__pycache__/InstanciaItem.cpython-310.pyc | Bin 3541 -> 3514 bytes .../__pycache__/Inventario.cpython-310.pyc | Bin 2844 -> 5029 bytes game/Banco/__pycache__/Item.cpython-310.pyc | Bin 2648 -> 2621 bytes game/Banco/__pycache__/Local.cpython-310.pyc | Bin 3144 -> 3117 bytes game/Banco/__pycache__/Loja.cpython-310.pyc | Bin 2370 -> 2343 bytes game/Banco/__pycache__/Missao.cpython-310.pyc | Bin 2357 -> 2330 bytes game/Banco/__pycache__/Mundo.cpython-310.pyc | Bin 2334 -> 2307 bytes game/Banco/__pycache__/Npc.cpython-310.pyc | Bin 2577 -> 2939 bytes game/Banco/__pycache__/Pc.cpython-310.pyc | Bin 3572 -> 4149 bytes .../__pycache__/Personagem.cpython-310.pyc | Bin 2389 -> 2362 bytes .../__pycache__/PossuiHab.cpython-310.pyc | Bin 3301 -> 3874 bytes .../__pycache__/PossuiItem.cpython-310.pyc | Bin 2878 -> 2851 bytes .../PreRequisitoHab.cpython-310.pyc | Bin 2784 -> 2757 bytes .../PreRequistoMissao.cpython-310.pyc | Bin 2515 -> 2488 bytes game/Banco/__pycache__/Regiao.cpython-310.pyc | Bin 2287 -> 2260 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 715 -> 688 bytes game/__pycache__/game.cpython-310.pyc | Bin 4439 -> 4954 bytes game/game.py | 19 +++++++++++++++--- game/main.py | 18 +++-------------- 29 files changed, 19 insertions(+), 18 deletions(-) diff --git a/game/Banco/__pycache__/Armadura.cpython-310.pyc b/game/Banco/__pycache__/Armadura.cpython-310.pyc index c5c729b7ea67ad3ded3332a6ff9d3026a60feb2b..1f50a91b18ea6b3e2b39b7794cb9c3cf17dad377 100644 GIT binary patch delta 62 zcmcaCvO|PBpO=@50SI*5vNv*TFsk?i+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEwoVKI8xZ_Zbp; delta 75 zcmdlXa#@5spO=@50SGKNXKm!xU=+>*vh_3ab5r$G@)PsYGIKKWCp$6pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%wPH0A^V2G0_e delta 89 zcmew)+AGGL&&$ij00fqsvo>;1V6@K$vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!sLXEf#n0J3u&I{*Lx diff --git a/game/Banco/__pycache__/Chefe.cpython-310.pyc b/game/Banco/__pycache__/Chefe.cpython-310.pyc index 756196109e54a61d022fd721a715f2a86b3bc196..e423cb07ec4d8b4adc55b9eb67911b6869d9e7e6 100644 GIT binary patch delta 62 zcmbOu*eJ-I&&$ij00cU2*&Dg_8C86MZ2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb O`TFjeC7UZ5mDvH>(-Bet delta 89 zcmZn^oFmAc&&$ij00fqsvo><;Guo#E+4>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq n5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fF>X7?s%pZeJR47&&$ij00cU2*&DgF7*zs+Z2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb O`TFjeC7Vka1vmlj!4Z=H delta 89 zcmaDU(jv;8&&$ij00fqsvo>;TG1}(<+4>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq n5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fFpzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%{*er5vz`t=f& delta 89 zcmX>m@KAs|pO=@50SGKNXKmzGVYJTxvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!piGk#_R0G$LJIsgCw diff --git a/game/Banco/__pycache__/Database.cpython-310.pyc b/game/Banco/__pycache__/Database.cpython-310.pyc index 624aed639c83487e52680ed995aa1e67f54de195..6d473fa655585b15da5e6b33a97d6f08777e968f 100644 GIT binary patch delta 61 zcmaFKa*l;NpO=@50SI*5vNv+;F{=0j+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& O^7Y*_OD0z^egpvMGZK0L delta 88 zcmX@d@{)x+pO=@50SGKNXKm!xW3zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!5oGJXUAfe0KR diff --git a/game/Banco/__pycache__/Dropa.cpython-310.pyc b/game/Banco/__pycache__/Dropa.cpython-310.pyc index 9b88ca6da2d88da62ea778eeba5d36a650e67cc1..79792cb43b248ac8080a1a5e1474791ea5cab3fc 100644 GIT binary patch delta 62 zcmeAX`zXqt&&$ij00cU2*&DfI7*%|LZ2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb P`TFjeC7YKqrf~uQ{74d7 delta 89 zcmew;+9SrD&&$ij00fqsvo>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq n5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fF=^8Phlcq1_w+ diff --git a/game/Banco/__pycache__/FazMissao.cpython-310.pyc b/game/Banco/__pycache__/FazMissao.cpython-310.pyc index 9fbedb98e2fc93aeea7917dcb5cf981dcc2e952c..2d47774de0eea63ea7f7be970cc993eda30bce8a 100644 GIT binary patch delta 62 zcmew-`B;)WpO=@50SI*5vNv+OGO7ds+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE&j2=5qr861Ebi delta 89 zcmaDX`A?ENpO=@50SGKNXKmzmWwg%*vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!rIFy?au0KkSEOaK4? diff --git a/game/Banco/__pycache__/Habilidade.cpython-310.pyc b/game/Banco/__pycache__/Habilidade.cpython-310.pyc index d49ccc1baeaa3d192a1cda57c29b37dc1daba33f..a8dc836e66f56d102e6b848f875e63498e1a2d05 100644 GIT binary patch delta 62 zcmew+a$AHupO=@50SI*5vNv*TFscLs+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEwoVvTy)vh_3ab5r$G@)PsYGIKKWCp$6{fd_*}W=S>xo+uk!mC{509Qrh|0y#1z zr)p-nRou?BpKy~BW|B2dH)y5gWNusT`#Jo%1HJVx^t1hQJ)gDgnoI4XMbA6!de!7k zK5%HZvrF$;j22~~?())L7HSt^)ZPIacN$ZkRF=x9DSL7YpGZx`Q(7U0ywG!rVGjXA z9tO%U!Y2qxo>G>Zsy8dQloJV-DpR&GpK?{E9>VszWG7|G4VSgY3rK2)k<`#(FYJX6 zvHwvY+E-c~B92L`@Gcw`tp3=0Qd(PXjNDzxF0AE9P$F5)t&v?Qh|H78hA~OjmvV(1 z*)e&|vFVms6@ES}Y6?x>BpiWN&jXg*uN+cppAbfwQ?rOoiAy)k3MG%~CMi0co3$Os zX0%G$Em+&kYQGUN@bRfzrxmL~e>rCAlaMaQxkD&Cms_0B-?BiN5Zit!8ge5Y@o#BH zfjfIer*6AE0inE4pkH8AzyPE*9u@XAff<2}K({~-;JmY9*(F+gNHweqevAq){uPAg$$$};2-!P8p7WV+!znyX8xDXPbq`i<$sd) zv-*5m^OSYbIJu>YHi{M^yQ1mz?-5{##VT7e=U&3?gU#O|zVi`Df83eOjD& lU0~K9h^2;;U~1AR#;S%f9>+aBT0Gv{lQ0rSw_k`AegbP{{RaR5 delta 154 zcmdm{yhNHWpO=@50SGKNXQh_#P2`)%IBDX7$t=MPnj(|q84ucL1LgEH@^e%5Q}Pq@ z(lT>0^7Ril7NsUCq@*f@6eT7lfpzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE&Ljl;QyZ1k@5u delta 89 zcmdlbeN~z}pO=@50SNliayN1pGTP?@+4>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq o5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fF;~FiP8c54Djn`ve`9^tD5QCl)s zav&Oqp##&0{sDd1mYJ}9Df`fu{t5gSdhOFbGkwW^&~vUNOAb!Rv@=ykC->v%=-&G~ zzjKc4j*jLfxGtS>tbe{IN&mu5_EMm86>jf+5KLmEC9O$JW=e~+$r>Tj4T-5tdnz&Q ziM%E=vMiPKuRvF-e?>r+NN7|{-@IdbRuhM_mkyn)aC?6RVM%L*Noaz}Po*`5DVEAq zxHU^%*O|_8Pt`Sz8Egb*b(~$7S)Lt%(Oldsuu z=O@{_&^sdLr^Nhw>==v`*tB?lh8>6AC_4dLIvM6`&Zgz~Cb!)tZY;U5EyH~sZm$5s zm!3#HsR4U|=SaOIb3DUPW_RE$RL^RyzmRwihW>pE#Qa^iZOwDL`TO~of8dr$nMGGP z99QeEJAcFW=NCR)xKv)a_=(HSi_E%s4Hwbn=KO{U&wXqMJ*Cx^eoOYoGnPx_lu}=ICso%+Aq3E?v$Z4JdmSx0xHvR5^F4=~7#a z@Qj%kBOFgQ%r#xddT6?#-t5AO@i1pSw3=Ptf&sVPw*64+aNB`@&6ev~q0#ZSnr>%f zA=J<~FXcG;KgUDmM^K>m@FI$LK!n5+ZW0LtN5lPNhkk*b&9FficDxSl@7pF=0O5zrW8KviH2xFW^^PZHq?BO0I&SXZRq>D#KW z_tYnV_xnrpF`it8)f0cpg^6rTQKLE+=wt%*o=@)r{V0zSi4ED;$L4?M-#gCm}hQCY(9mGNR$j_NBb*CVL+?i_drCbdZ*II%0o;wk>JUNe%Z(GPtXZ|9-NNxL)?&~fKtlQXNtg4?((RFrtfemke^UVzn&a zWM;}qCPuP|@=@4qNy`wb57AIi#$yxd*&-SlB2B!FNN*Sz03u7IS33yAr@`670|5{r zq2QqTStJuvrX?g)hE7*9bW-0!CuM+6nI61H5G{gdc0W4p0f?W14ROqS{1}R95D7Cx zFiX$=IL;4a#mOPAT=hCu(_XimZW$iS@B_gxh)N1XeLO~DempKHf*%)B42SU}H5%qS zX=cl^CY#w_{R3Vd+zMt70hWTSi9qV9BJycIWIz%5jyo!3Fkq7a?Ks3h{a$YCI)H}R ztq5~!PlwE?J&SevISwNsIlC**UhXcy*)EyfYFhMu*P@$l^W~S+dHFY&ip600K^b)H4!$6M zRetxQDik@6&&{^$(GGX-w5+!2VRBwK1B+9WCeBo*81{ckLz0iP^xhbcsWOf1VX@}; z)&{rzEs>H%kbe>9WsC^vE5rOcwjAm;hRr6{n8}rOXzvRc4SpG%i5(ilKc)dJ*&vNa zrCOW@M0tiq96!_3Rx$Oe7>BStgUFLO@nYYJ4Jhx>iPg6_acm_{=b2t&KZ-xk|7$1y ze|a%K2Zzbeqj(?0K|Y4%LR39mz!nx0Nx>%^3qxG$T^yZbs8>yHSbpjWG3ra8Ek4Nh z`jZZ|pZfKf9Q#sIL!3@6l!w_H$X!|Q;b(E(dVTlHH?irsae#paRKVsOg+|u{j*4pR ze~UDNOKp48YJt_gp$6V_K&TNQbuYof4;yQ)V~r?YmQTUuvj|BE1)fNzqU(p74AJ{0 zY@oY|`WHb2-_IQUknk|@RG6!=CAVq1`*Zp4XtN%iJBZ8CXV)_={ooReK6e14uVxs1 zxU`hva2h2X0a+0x^`Xvut5}Gib8C#@Fpq=g}uJrZ{F4BWa zz8?;PwQtEcv1xJGpW~(L|09Bgk#sPQ?OW@eOdl=3X{}x=;*TE=lqiixm~S-NF6*|i zU1&7!cgF}QJg_BhvGvNSg!CNp!gArGzy3oetC2Jfdp?4 zYg|Jz$dqCfip3(_6O+a9iOGp^p;J<#T!2|x3=Fdt8dstf!;c_f5}nC_-)<)4{{WVk B$4USI delta 169 zcmZ3gK1Yl%pO=@50SL5nvQsZ`P2{U&jG5RG!zviepeZz2lQG0T2PmnZk)NBYpOT-L zmzJ56k*|Nau_!fBAthBIq$n{d5hUW6lN0ZppOUH{>gVL_@8TM)@06IAoL_9Xc_E`W zJ2Q``%jCBl;*pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%A9+{Xa`03Z^r delta 89 zcmdlhazlhWpO=@50SGKNXKmyTV6;yIvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r|Gw$O60HuH&Qvd(} diff --git a/game/Banco/__pycache__/Local.cpython-310.pyc b/game/Banco/__pycache__/Local.cpython-310.pyc index e611d2ba67ec1f9426174178ff660273f66099c1..8fa5560da37835966bd254b80f332bc13ddde15d 100644 GIT binary patch delta 62 zcmX>hu~vdRpO=@50SI*5vNv)UFsk?f+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE&Lf?BfCe04oxx delta 89 zcmZ20aYBMSpO=@50SGKNXKmyzV6;yMvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r=XYAtw0H%H%P5=M^ diff --git a/game/Banco/__pycache__/Loja.cpython-310.pyc b/game/Banco/__pycache__/Loja.cpython-310.pyc index 10ec0353e985602152ee323daecccb30f4443f1c..839a213aff75c90f95d511e29d5dcea74630e68d 100644 GIT binary patch delta 62 zcmX>kv|NZgpO=@50SI*5vNv+;F{*e2+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEy<9o?-_8?pzW? delta 89 zcmZ23bV!IhpO=@50SGKNXKm!xW3*2Lvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r&GM-`w0E;CX>Hq)$ diff --git a/game/Banco/__pycache__/Missao.cpython-310.pyc b/game/Banco/__pycache__/Missao.cpython-310.pyc index ea6b73c1e3cfac5c45eb21c9ee623dc88f275d9a..1485484f8fa5acafd6aae76ab473dc71a898fed7 100644 GIT binary patch delta 62 zcmdlgG)ss(pO=@50SI*5vNv+8Fsk?h+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE%{*9%lyt=9Ur_ delta 89 zcmbOwv{i^ZpO=@50SGKNXKmzGVYJTxvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!piGahFL0Ds9Fy8r+H diff --git a/game/Banco/__pycache__/Mundo.cpython-310.pyc b/game/Banco/__pycache__/Mundo.cpython-310.pyc index 227784289b6ca3128c87d2e48f19416d33291eca..d6b406630eade47e0c09626e7494b992d208c278 100644 GIT binary patch delta 62 zcmbOy)GWlE&&$ij00cU2*&DfK8C86MZ2gS<+*JLd%;aqS!;M9$i3%yH3L!;_Nr^cb P`TFjeC7aV3x3dEP+6NKH delta 89 zcmZn`nkU4a&&$ij00fqsvo>pzxvBao`H6XHnK>Ex`iC2fQWF(YQWZjq o5|a`^B91vZ@y_`vsrsRQPR{-=uEF|FiFwKS#fF=G7`L+n0BwjHZU6uP diff --git a/game/Banco/__pycache__/Npc.cpython-310.pyc b/game/Banco/__pycache__/Npc.cpython-310.pyc index 6361863efcd24d87c90208e8de38144fc917b827..2b4e490ee0d12739999d56691c36753776bda793 100644 GIT binary patch delta 406 zcmbOz@>`5ApO=@50SJs0^HR;ZC-O~ZESR_`Nti#CC5{8J(AU+42-~_U6aiph~_yst7x_}+30u*9lB(=|9t79yX?bVoX&$eg(;TFs*)?Jd=GmUARHIi_}1b`sDkZ;*-~MatZMP Yxf~1}j9M%lynF(D0z%xAk8^qf0KDW;7XSbN delta 159 zcmew@Hc^BxpO=@50SGKNXQc{rPUM@+m^5)w602x1gQnPIaYkSJRG_4OMt*LpeoB5~ zURq{OM!x>x#-h|jg_Klg0c1iUK@9CIM z(kk>$3Ii#Den2O}yt?hxT%VPh{G$Bq!rT;8RYw5|iolabs+i>nQVx1i3Pld&Gx@*>$-h%_kjUHP{~gf! zsvRLT+j`P7fzUYrY>e`^x{eC1Q@w=H3XdCkG{IMm>7hHqU{)Xju+($!iV&utZen;# zEGGd$FLbJHQ{p>$d(pE=Wyy;3Gh=4trr2^z;I=>x&K~rwBFQbor3eY6|jQreG{gnK~ytK@mjC}pWjYX-6 z3Mr`yAw`Kvi69ZjoSb;){FGGvP(LSUe;3zaeW%2{HCVTP)FltYp#b?T>Gx-9a6r(;!;bdNZKDIcZNkw{-75T*(`6gTP+exW|1T;W| i7Ld5bT%1}`qzmF2OrFNC$f!4Y2frp0AJ62c`~d)M5l}n; diff --git a/game/Banco/__pycache__/Personagem.cpython-310.pyc b/game/Banco/__pycache__/Personagem.cpython-310.pyc index 5f1633e194eb8ddd279977b85eeaba3d65df45e5..744b34a85b926c207b8fa8885da6c936d1205b91 100644 GIT binary patch delta 61 zcmcaAv`dI9pO=@50SI*5HgYL5sssX=`WgATsrp5k$=Ujc8;epC6;e_aLW&ZT5_2;0 O_1!Z|Hs>(DWCsA>yAlfk delta 88 zcmdlbbXABepO=@50SJCqZsbyCw9f%D^)vEwQ}t8w6Z6tCb29Sv4>uO2CMu+)Dufgz nCMAMI9CLEwo%2&t^+Wxfoc&!~gY}&f^OEz64L1iezGMdgoMIe0 diff --git a/game/Banco/__pycache__/PossuiHab.cpython-310.pyc b/game/Banco/__pycache__/PossuiHab.cpython-310.pyc index 68ac98474bd40156b59d31e19c849528239e51d5..de3427c28344189a5f2c24d079343fc0e082e1d2 100644 GIT binary patch delta 716 zcmYk3&ubGw6vt;alikhk=10>ctx1g=8>4H$99jhh(SoQTgg^?xc-nNf&1#yJ*%dLQ zs2J%*gfd4jtrxv`kj0bUJZk@e+&z0&+Bz@NA2ZB{_kBNR-eZ29dS6U<@wkS>S}66M zndDaD6Are%UAqx+2#q;pl~9f9Bhpr=LE|ITRw+ctB$A*>5sA^1qpeDGil&9q>2woW z89tAj<%YPn*7eq%8go}3)xN)Ej%`xMTxNF1?sdJ|9XANS;A{j}`43VoK6aSz_3brh z-Mnu8Nti8>Ouj^8e?<#rqqj+UdAC&oT#kxwi$qw3x z4x_9*jJ8k<4as(N2Vv9{cE3PSAU{-|-Na}^#%PcTR7!^OJ4B;=L`s!OCY|IS)`2>- zpCU`H4>tL(w)uRJF_-GMOqU)vD4J#k(F{8cC<<6HrhuIUqySR@6OaQ;12TZDfTb`M zYy&V4I4&%KoCU-H4<>|<8z{0zCaamZAQ&>M5f}P<@N*0%ROR3^3;VWeUD=ZI96!=f| zJ}&Y~>QSvcVMX#o|fSd!9GT2H6=Tch<48EKm$ delta 412 zcmZ1^_f(QEpO=@50SJntb5kvOCi1OiOq#gIN|!T*tA!zoJ%u@yC50uGC5 zN~%IgQDRaeNW?KGC*C+nUk542y~>aLXp&D zChkZ^*~u~7J&b0XUve*J)RqS6L^GKUVzMfx@e-3S^U5;1O#a9l#mGI`htEV*5u`{7 rM5q9XTg=5JMMY|p-|>k{6tMvXK)4v>It~U7MkXd9CL!+0r}@GG#`a?k diff --git a/game/Banco/__pycache__/PossuiItem.cpython-310.pyc b/game/Banco/__pycache__/PossuiItem.cpython-310.pyc index ae130491ba547bd649e5698f2ba6b9625e7e1ddc..0e0af4f5ca9048d1c7b1c57ec60dccc7edc053e3 100644 GIT binary patch delta 62 zcmdldwpffipO=@50SI*5vNv*PFscLs+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEzy}?BN6e`LGg# delta 75 zcmZ21woi;ZpO=@50SGKNXKm!pU=+>)vh_3ab5r$G@)PsYGIKKWCpR(*OFHJ{#5?Dw cr0R$IIXU~gxCZMxCFUjP7aMM#&e+2V00xd0EdT%j diff --git a/game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc b/game/Banco/__pycache__/PreRequisitoHab.cpython-310.pyc index 1aaac13c9f1b4df721cec1c0d5597b5c29b5b1d5..010f9cae41873227692641681985ec9a68548f3d 100644 GIT binary patch delta 62 zcmaDLdQ_ApzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE#A?W^w`m{^Jrb delta 89 zcmX>q`aqOBpO=@50SGKNXKm!xWwb8@vh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r&FlKTB0Hd%Q)&Kwi diff --git a/game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc b/game/Banco/__pycache__/PreRequistoMissao.cpython-310.pyc index 11d6af20beb9d695848a8fec9ad3a709b4d17b21..01a8354e60ec4abc4854231b5a4350723a05a053 100644 GIT binary patch delta 62 zcmcaCyhE5fpO=@50SI*5vNv)YFseiV+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OEyzN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!r&Ge&X%0Gg~DuK)l5 diff --git a/game/Banco/__pycache__/Regiao.cpython-310.pyc b/game/Banco/__pycache__/Regiao.cpython-310.pyc index 4debda6f207e35d134bf847414c1d1fd8c9b732d..813cc3df83de9e5d45fa7e89cd62a1bc50fbaea2 100644 GIT binary patch delta 62 zcmaDactwyqpO=@50SI*5vNv+eFsk?h+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& P^7Y*_OE#x5cCrHi|HcwI delta 89 zcmca2_+F4ZpO=@50SGKNXKmz`VYJTxvh_3ab5r$G@)PsYGIKKW^$#}|r6ww*q$-3I oB_<_;L>zN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!q>Gj_5A0Hh}y-v9sr diff --git a/game/Banco/__pycache__/__init__.cpython-310.pyc b/game/Banco/__pycache__/__init__.cpython-310.pyc index feeabb19514124b7ee4a9bc3ee35a472fcd77e18..8c142dc9768c8fa0fe29dd27c9c79d820ad5bb8b 100644 GIT binary patch delta 61 zcmX@jx`CBDpO=@50SIgq@-}jFGpYCk+4>pzxvBa^naSDuhZ~Dh6BSZY6+(& O^7Y*_OD2ahl>q?IkP&VG delta 88 zcmdnMdYY9xpO=@50SGRozN+;+^wTQuRaqoSgk#T!ZzU67!Ptiw!4RF_i%TdHEZ3 diff --git a/game/__pycache__/game.cpython-310.pyc b/game/__pycache__/game.cpython-310.pyc index d739a607756dcfba11e5f21631b9eee3871fcc16..5ea9d418bdc75495f63b169b893030fad65450a5 100644 GIT binary patch delta 1971 zcmb_dO>Epm6!v&+uh-e1Bn>}pQgBoCXIr(Kq$z|=)4!0GRv|333efU5wVl+h*LKI= zNUR*CRc=T~MAJ(tky3HsN8I4Rq2fS}2)F^Vgv2!xf(!IU;l0_UX@a<6X`bJ_dB5Mh zXaCrn?k)y}f+4}f27M>#TqyRC>kIpjEqJfbDImq8QCQK}Kw`-z^JG?v$&#E%cgQTs zNpWULNr;`b@fEsD&3asY$6LiUF>qJyVjYpx&t4e*|wOQCzHa( znyb8UDa}i>nIxk~cHyebUIqKYFWfsYcb*X_ zr}>g`;D3IMX14oc|L~!K`ih948{>gRy{fq)L%>E6i1Dm57g@|*{%HBbplUV?#%K^Q z+wrMQVXJgs?5j6V03AN`R6XfW%n|eXhE17iJ7z>ZY9s?Fn+&`dgdt_r49vRYH_VW^ zzU7A0Ll-IOPsu=YfA_^h{lopkgLPrx+X0x&{fA9Co2srKHsVwctyG@KW3DjgQTLek}BuujFV=s1k=Q05Z*44`L4dzg+?L4EGsCPN2oOWY=lML-PK~pCNkx3`f$w^o`(O_qg9(e0S zA@U!ri~mHnlMg<>M`Ch#%WN*mB|6;tH?eHzliY1-Q5JopEoBpu=y#wmu6>D}P%ca` z>~EIgw=&0?2GO(6EHD_FUB>*rHSSk>&nq{5gAf);l4lIvbjfSD)+i3;>VOjL1 z^P9?>U0A57mTf_<0HlX^s)I(6ii<7%RmF-9JP{y!LyKQI6 z^L*!*|QP;e(tvkk$2Wi%<;+bDjS5urjeLqQRrB%Q(e(e zkVzh($o7JORgi3~i0uQ}8~g{O(xU^HmY~z42F_b;bOJh8+&*BnqpkO>K&6CQTHFX> z5?J})4%7UMvzGV^;cK7};nl1GkKnUW{%+gQtIvSAoM9rY-Uw|PJ2i_PN2$yNK3Zsr z95$w$w$r#lJ-7J)ARBB1Kza0jia(LRL8^Qyzi(~`PS_qK$AMsfAU}rWX(UIGY;vC$ zx3Y@;Wl#_WXwc6+;9e9k4pIx&gGU7pZ%8!SFTk|^AN)*#6Uu)sZ0{h6jGt;8NV@~Z z*5`%dXDUNOez$l@Wq4(LN9l`g2v=*wFbqSN>=cp_{(I^1y_+gHfhQX)5VeN9(mrsy zC_W!~qTCn4iSlEqdXmEDj8)N2U~jCqFvA{Zhmm0Sr>gi8GJ}8Ie(=Ih6n7!PDQ}_L zhnxU;1iAHGMe4^Ve(xoTK>Xh7%Q6y90?jW-+H2@0q`)J~cNIj!TwHC2B?qsBy(DoP9~NK^`C<6WoQu05;g zbtEcBrSyo92qSSot;Ej(A;GCVA|ccZC$5OOfO_i%F8rMMd2iB`#JierXWqPd?|a|O zteX6BEF%U7Ed!swer|bdx$Vqh_U`tvc{6QnUt24gI1$5E!`3;75E(AJ&9;n)ePZ^E zPuUjhG1oj`tQy6byu(U2fuUD1rV@TT>_*BA8!EBkMfFy=+yUZ}0SxVTzgaM}&g znJrglDkr8Zr3(U_k}IRw)Kn59a%M5kfJ$pn6}t}^XkJ(J(Y=SUh-GtI>0Y|Wubc3F zWV*Jzo;Z+tM2j9V`Cj6Ok}`^1nL$HwtYk?voIoW)@Y|6}I$`LwT@}LtkWdhppCzy4 zsW4p~q_L+mi%1nc99VS%r<0WEnwn>}l&R{OzJ-VUcE_y~9L@)^x17!0$v2 z(F)I!BI$OFfHbtQ+ zHUtbvVZBlqMOS!^U{53*sza{V^xOW2=@B+B|FrU~DxV%$I!pd4)d1gtdaZv=#`OXZ z3%|H?W|q-c*PKKya9Z9S_%*9pqzb*l((6lSU`BpyADp1fMH9yH1IGyVQ-MjeU6Mc9 z<-;VP%Hr;Hx&h{?*Ou`l0ttdejt`Dq)a9heD;ae|+&!3}$^8M9z3J_8TnS%AhYr!& zRg6@FdHKQMsW)iXiZRe>c{g;O$g4MCj;tnVDUxABbLh*EbE2*j_&1(tahbAE9Gjvq z$kEI#c2a(xnOdl#5snh*xVW*@KTmLi;1oe$cw2A4W0~KS+3ZOE0=hM@J$Vw?qlEhI zJe0NU9kwoi$v*p3yvKUx?HDs${1LcAc#(w6l)t>d>MCx`A|*0SnrLa||< zV1a!$HUpGG2 l5^gu}&N1}pj3aO(X(o~E&dW`nFvoZt-z3i>avnEr{vXAtHst^S diff --git a/game/game.py b/game/game.py index 2d20b1e..d773950 100644 --- a/game/game.py +++ b/game/game.py @@ -10,7 +10,20 @@ def CarregarJogo(): Save=input("\033[1;32mDigite o ID do seu personagem: \033[0m") jogador=pc.getPC(Save) - return jogador[0] + while(True): + posicao=lc.getLocalPc(jogador[0][0]) + print("\n"+80*"-"+"\n") + print(f"\033[1;32m{jogador[0][1]}\nLocal: {posicao[0][2]}\nDescrição: {posicao[0][1]}\nCoordenada: {posicao[0][0]}\033[0m") + print("\n"+80*"-"+"\n") + print("\033[0;36m|1| = Mudar de sala\n|2| = Voltar para o menu principal\033[0m") + opcao = input() + match opcao: + case '1': + EncontrarSalas(posicao[0][0], jogador[0][0]) + case '2': + print("\033[31;1;4mVoltando para o menu principal\033[0m") + break + def EncontrarSalas(pos, Id): Quadrado=2 @@ -42,7 +55,7 @@ def EncontrarSalas(pos, Id): for i in salas_disponiveis: if(i==mudar): - print("") + print(f"Você viajou para a sala: {i}") pc.updatePcLocal(Id, mudar) @@ -120,7 +133,7 @@ def menuJogador(): NomedoJogador = input("Digite seu Nome") pcID = input("ID do jogador que você deseja atualizar o Nome:") pcNome = input("Novo Nome do jogador :") - atualizarJogador(NomedoJogador,pcID,pcNome) + atualizarJogador(pcID,pcNome) case '4': pcID = input("ID do jogador que deseja deletar :") deletarJogador(pcID) diff --git a/game/main.py b/game/main.py index cab43d2..c6cdf8b 100644 --- a/game/main.py +++ b/game/main.py @@ -45,7 +45,7 @@ print("\033[0;36m|1| = Acessar Menu") print("|2| = Carregar Jogo") print("|3| = Fechar jogo\n") - print("\033[1;32mEscolha uma opção de 1 a 5:\033[0m\n") + print("\033[1;32mEscolha uma opção de 1 a 3:\033[0m\n") opcao = input() print("Opção escolhida: ", opcao) @@ -68,22 +68,10 @@ print("opcoes 2 ") case'2': - jogador=game.CarregarJogo() + game.CarregarJogo() - posicao=lc.getLocalPc(jogador[0]) - print("\n--------------------------------------------------------------------------------\n") - - print(f"\033[1;32m{jogador[1]}\nLocal: {posicao[0][2]}\nDescrição: {posicao[0][1]}\nCoordenada: {posicao[0][0]}\033[0m") - - print("\n--------------------------------------------------------------------------------\n") - - - game.EncontrarSalas(jogador[9], jogador[0]) - - #print(f"\nTeste: {jogador}") - print("\n"+80*"-"+"\n") case '3': - print("Finalizando o jogo.....") + print("\033[31;1;4mFinalizando o jogo.....\033[0m") break \ No newline at end of file From ef05887a323b08a32bdd11d88494275b7c444977 Mon Sep 17 00:00:00 2001 From: Dyetrix Date: Mon, 4 Dec 2023 17:51:58 -0300 Subject: [PATCH 18/18] Adicionando trigger --- .../Trigger para instancia morta.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 game/scripts/TRIGGER e STORED PROCEDURE/Trigger para instancia morta.sql diff --git a/game/scripts/TRIGGER e STORED PROCEDURE/Trigger para instancia morta.sql b/game/scripts/TRIGGER e STORED PROCEDURE/Trigger para instancia morta.sql new file mode 100644 index 0000000..ec28d37 --- /dev/null +++ b/game/scripts/TRIGGER e STORED PROCEDURE/Trigger para instancia morta.sql @@ -0,0 +1,21 @@ +-- FUNCTION: public.checar_instancia_morta() + +-- DROP FUNCTION IF EXISTS public.checar_instancia_morta(); + +CREATE OR REPLACE FUNCTION public.checar_instancia_morta() + RETURNS trigger + LANGUAGE 'plpgsql' + COST 100 + VOLATILE NOT LEAKPROOF +AS $BODY$ +BEGIN + IF NEW.vida <= 0 THEN + DELETE FROM instancia WHERE personagem = NEW.personagem AND numero = NEW.numero; + END IF; + + RETURN NEW; +END +$BODY$; + +ALTER FUNCTION public.checar_instancia_morta() + OWNER TO postgres;