Jump to content
Fórum Script Brasil
  • 0

Dúvida Batalha Naval


fredlink
 Share

Question

Amigos,

Abaixo tenho parte do código do jogo feito com o auxílio do nosso instrutor que gera dois tabuleiros, 01 para o usuário e outro para o computador, onde ambos ao rodar o código abrem com a posição aleatória dos membros da esquadra que são pelas letras: P->porta avioes; F->fragata; S->submarino e D->destroyer.

A minha dúvida é como faço para ao abrir o código iniciando o jogo para o usuário, fazendo com que o tabuleiro do computador suma quando for a vez do usuário jogar e vice e versa; e tbém exemplos de como montar as coordenadas para construir as jogadas visando acertar os membros da esquadra.

Abraço a todos

Fred.

import random
def TabPosBar(Barco, Jog):
Ok=0
while Ok==0:
Lin=random.randint(0,7)
Col=random.randint(0,7)
if Jog=="C":
if TabCom[Lin][Col]==".":TabCom[Lin][Col]=Barco; Ok=1
else:
if TabUsu[Lin][Col]==".":TabUsu[Lin][Col]=Barco; Ok=1
def TabComIni():
print("Posicionando a esquadra do computador...")
TabPosBar("F","C")
TabPosBar("S","C")
TabPosBar("P","C")
TabPosBar("D","C")
print("Ok")
def TabUsuIni():
print("Posicionando a esquadra do usuario...")
TabPosBar("F","U")
TabPosBar("S","U")
TabPosBar("P","U")
TabPosBar("D","U")
print("Ok")
def TabComExi():
print("Tabuleiro do computador")
print(" 0 1 2 3 4 5 6 7")
for lin in range(8):
nome=str(lin)+" "
for col in range(8):
nome=nome+TabCom[lin][col]+" "
print(nome)
def TabUsuExi():
print("Tabuleiro do usuario")
print(" 0 1 2 3 4 5 6 7")
for lin in range(8):
nome=str(lin)+" "
for col in range(8):
nome=nome+TabUsu[lin][col]+" "
print(nome)
TabCom=[["."]*8 for i in range(8)]
TabUsu=[["."]*8 for i in range(8)]
TabComIni()
TabComExi()
TabUsuIni()
TabUsuExi()
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Eu acho que só falta criar os turnos dos jogadores

Para isso você primeiro vai precisar definir quais são os requisitos do fim da partida, e vai executar os turnos ate alcançar estes requisitos

Basicamente é criar uma função de loop que engloba todas ou quase todas as funções que você já tem, e as repete ate se obter uma vitoria, encerrando assim o loop

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...