Esempio n. 1
0
    def exposed_novo_jogo(self,linMax,colMax):
        print("Criando Novo Jogo!!")
        print("Total de Linhas e Colunas: ",linMax, colMax)
        global objeto
        objeto=CampoMinado(linMax,colMax)
        totBombas = objeto.total_bombas()
        tabuleiro = objeto.retorna_tabuleiro()
        if(linMax != 0):
            resposta = {'totalBombas':totBombas}
        else:
            linhaColuna = objeto.linhaColuna()
            resposta = {'totalBombas':totBombas,'linha':linhaColuna['linha'],'coluna':linhaColuna['coluna']}

        return resposta
Esempio n. 2
0
def servidor():
    #Abrindo um socket UDP na porta 5000
    orig = (HOST, PORT)
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.bind(orig)

    #Cria uma instância para o jogo campo minado
    jogo = CampoMinado()

    while True:
        #recebendo os  dados
        data, address = sock.recvfrom(MAX_BYTES)  # Recebi dados do socket
        mensagem = data.decode(
            ENCODE)  # Convertendo dados de BASE64 para UTF-8
        contexto = literal_eval(mensagem)

        #Trata comando recebido por algum cliente
        resposta = tratar_mensagem(jogo, contexto)
        #print(address, mensagem)

        #Envia resposta
        data = resposta.encode(ENCODE)  # Codifica para BASE64 os dados
        sock.sendto(data, address)  # Enviando dados
Esempio n. 3
0
def novoJogo(mensagem, objeto):
    linMax = mensagem['linMax']
    colMax = mensagem['colMax']
    print(mensagem)
    objeto = CampoMinado(linMax, colMax)
    print(objeto)
    totBombas = objeto.total_bombas()
    if (linMax != 0):
        objetoConS = {'totalBombas': totBombas}
        print(objetoConS)
    else:
        linhaColuna = objeto.linhaColuna()
        objetoConS = {
            'totalBombas': totBombas,
            'linha': linhaColuna['linha'],
            'coluna': linhaColuna['coluna']
        }

    objeto.salvarJogo()
    return objetoConS
from campo_minado_negocio import CampoMinado
from os.path import isfile
from os import remove
import json
import sys

objeto = CampoMinado(2, 2)


def menu():
    print("#########################################")
    print("#              CAMPO MINADO             #")
    print("#########################################")
    print("#1 - INICIAR JOGO                       #")
    print("#2 - RESTAURAR                          #")
    print("#3 - SAIR                               #")
    print("#########################################\n")
    opcao = int(input("Inserir Opção :"))
    if opcao == 1:
        start()
    elif opcao == 2:
        partida()
    else:
        pass


""" FIM MENU"""


def start():
    if objeto.proxima_jogada():
Esempio n. 5
0
    while objeto.jogadas_restantes > 0:
        linha = int(input("Defina uma linha: "))
        coluna = int(input("Defina uma coluna: "))
        if objeto.jogada(linha, coluna) == GAME_OVER:
            return GAME_OVER
        objeto.imprimir_tabuleiro()

    return VITORIA


def sair(contexto):
    sys.exit(0)


if __name__ == "__main__":

    switcher = {
        1: iniciar_novo_jogo,
        2: continuar_jogo,
        9: sair,
    }

    objeto = CampoMinado()
    contexto = {INSTANCIA: objeto}

    while True:
        menu_inicial(objeto)
        opcao = int(input("Opção escolhida: "))

        func = switcher.get(opcao)
        print(func(contexto))
Esempio n. 6
0
    objetoConS = objeto.jogada(lin, col)
    return objetoConS


while True:
    objetoConR = conn.recv().decode()

    mensagem = literal_eval(objetoConR)
    print(mensagem)

    if (mensagem['tipo'] == 'novoJogo'):
        print("Criando novo Jogo")
        resposta = novoJogo(mensagem, objeto)
        conn.send(str(resposta).encode())

    if (mensagem['tipo'] == 'retorna_tabuleiro'):
        print("Impressao do Tabuleiro")
        objeto = CampoMinado()
        tabuleiro = objeto.retornaTabuleiro()
        print(tabuleiro)
        resposta = str(tabuleiro)
        conn.send(resposta.encode())

    if (mensagem['tipo'] == 'jogada'):
        objeto = CampoMinado(0, 0)
        resposta = jogada(mensagem, objeto)
        conn.send(str(resposta).encode())

    if (mensagem['tipo'] == 'matriz_bomba'):
        objetoConS = objeto.matriz_bomba(mensagem['board'])
        conn.send(str(objetoConS).encode())
from campo_minado_negocio import CampoMinado
from os.path import isfile
from os import remove
import json

objeto = CampoMinado(3, 3)
objeto.imprima_tabuleiro()

print("Jogo /Campo Minado ")


def start():
    if objeto.proxima_jogada():
        linha = int(input("Posição da linha :"))
        coluna = int(input("Posição da coluna :"))
        objeto.jogada(linha, coluna)
        start()
    else:
        print("Fim")


def partida():
    if isfile("game.json"):
        result = str(input("Quer continuar no jogo salvo?\n"))
        if result == "yes":
            arquivo = open("game.json")
            game = json.loads(arquivo.read())
            objeto.restaurar(game)
            arquivo.close()
        else:
            remove("game.json")
Esempio n. 8
0
from jsonrpclib.SimpleJSONRPCServer import SimpleJSONRPCServer
from campo_minado_negocio import CampoMinado
from os.path import isfile
import json
import sys

OK = "200"

campo_minado = CampoMinado()


def criar_novo_jogo(linhas, colunas):
    campo_minado.criar_novo_jogo(linhas, colunas)
    return OK


def efetuar_jogada(linha, coluna):
    return campo_minado.jogada(linha, coluna)


def total():
    return campo_minado.qtd_jogadas()


def jogadas_restantes():
    return campo_minado.qtd_jogadas()


def continuar():
    return campo_minado.proxima_jogada()