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
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
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():
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))
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")
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()