def sub_ler_jogo():
    try:
        save = open('sudoku.save', 'rb')
        jogo = pickle.load(save)
        solucao = pickle.load(save)
        save.close()
        os.remove('sudoku.save')
    except:
        jogo, solucao = sudoku.inicia_sudoku()  #Uso da Biblioteca

    return jogo, solucao
Esempio n. 2
0
def novo_jogo(jogo,solucao):

  import sudoku, curses, pickle


  menssagem='Deseja iniciar novo jogo? (S/N): '
  curses.cbreak()
  curses.echo()
  windowt = curses.newwin(2,100,15,0)
  windowt.addstr(1,1,menssagem)
  resposta = windowt.getch()
  resposta = chr (resposta)
  windowt.refresh()
		
  
  if resposta in ['S', 's']:
    jogo,solucao = sudoku.inicia_sudoku()
      
  else:
      pass
  return jogo,solucao 
Esempio n. 3
0
import sudoku, curses, pickle

try:
    arquivo = open ('save.sv', 'rb+')
    jogo = pickle.load(arquivo)
    arquivo.close()
    
    arquivo = open ('solucao.sv', 'rb+')
    solucao = pickle.load(arquivo)
    arquivo.close()

    
except:
    jogo, solucao = sudoku.inicia_sudoku()
    arquivo = open('save.sv', 'wb+')
    pickle.dump(jogo, arquivo)
    arquivo.close()
    arquivo = open('solucao.sv', 'wb+')
    pickle.dump(solucao, arquivo)
    arquivo.close()

'''
Esta biblioteca trata da aparencia da grade do tabuleiro.
'''

def desenha_sudoku(window, grade, selecao):
    curses.init_pair(1, curses.COLOR_BLACK, curses.COLOR_WHITE)
    curses.init_pair(2, curses.COLOR_YELLOW, curses.COLOR_BLACK)
    for lin_grade in range(3):
        for col_grade in range(3):
            regiao = grade[lin_grade][col_grade]
Esempio n. 4
0
                    window.refresh()


'''
Exemplo de uso da biblioteca sudoku
'''

try:
    arquivo = open('jogo.save', 'rb')
    jogo = pickle.load(arquivo)
    solucao = pickle.load(arquivo)
    arquivo.close()

    os.remove('jogo.save')
except:
    jogo, solucao = sudoku.inicia_sudoku()

    arquivo = open('jogo.save', 'wb')
    pickle.dump(jogo, arquivo)
    pickle.dump(solucao, arquivo)
    arquivo.close()

stdscr = curses.initscr()

curses.start_color()
curses.noecho()
curses.cbreak()
curses.curs_set(False)

stdscr.clear()
def interacao(jogo, solucao):
    janela0 = curses.newwin(14, 28, 0, 0)  #Janela das Regras
    janela1 = curses.newwin(14, 26, 2, 31)  #Janela do Tabuleiro
    janela2 = curses.newwin(14, 27, 0, 60)  #Janela das Instruções
    janela3 = curses.newwin(1, 12, 0, 38)  #Janela do Titulo

    cursor = 1
    tecla = ''
    d_cursor = ''
    teclas = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '.']
    teclas_limpar = ['0', '.']

    sub_interface(janela0, janela1, janela2, janela3)

    while True:
        if tecla in ['w', 'W']:
            if (cursor - 9) >= 1:
                cursor = cursor - 9

        elif tecla in ['s', 'S']:
            if (cursor + 9) <= 81:
                cursor = cursor + 9

        elif tecla in ['a', 'A']:
            if (cursor - 1) >= 1:
                cursor = cursor - 1

        elif tecla in ['d', 'D']:
            if (cursor + 1) <= 81:
                cursor = cursor + 1

        elif tecla in ['n', 'N']:
            janela0.addstr(10, 8, 'Deseja iniciar')
            janela0.addstr(11, 7, 'novo jogo? (S/N)')
            janela0.refresh()
            while True:
                tecla2 = janela0.getkey()
                if tecla2 in ['s', 'S']:
                    jogo, solucao = sudoku.inicia_sudoku()
                    break
                elif tecla2 in ['n', 'N']:
                    break

        elif tecla in teclas:
            sub_alterar(d_cursor, tecla, teclas, jogo)

        elif tecla in teclas_limpar:
            sub_alterar(d_cursor, '.', teclas_limpar, jogo)

        elif tecla in ['x', 'X']:
            if sub_comparacao(jogo, solucao) == True:
                janela0.addstr(10, 4, '!Parabéns você ganhou!')
                janela0.addstr(11, 8, 'Deseja iniciar')
                janela0.addstr(12, 7, 'novo jogo? (S/N)')
                janela0.refresh()
                while True:
                    tecla2 = janela1.getkey()
                    if tecla2 in ['s', 'S', 'n', 'N']:
                        break
                if tecla2 in ['s', 'S']:
                    jogo, solucao = sudoku.inicia_sudoku()
                    continue
            else:
                janela0.addstr(10, 8, 'Tem algo errado')
                janela0.refresh()
                tecla = janela1.getkey()
                continue

        elif tecla in ['z', 'Z']:
            tecla = sub_salvar_jogo(jogo, solucao, janela0)
            continue

        elif tecla in ['f', 'F']:
            janela0.addstr(10, 3, 'Deseja sair do jogo (S/N)')
            janela0.refresh()
            while True:
                tecla2 = janela0.getkey()
                if tecla2 in ['s', 'S', 'n', 'N']:
                    break
            if tecla2 in ['s', 'S']:
                break
        tecla = ''
        d_cursor = sub_tabuleiro(jogo, janela1, cursor)
        for y in range(3):
            for x in range(28):
                janela0.addstr(y + 10, x, ' ')
        janela0.refresh()
        tecla = janela1.getkey()