import kivy
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.button import Button
from kivy.uix.label import Label
from random import randrange
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
import sys

Window.size = (550,650)

class Model():
	def __init__(self):
		self.nId = 0
		self.aArry = {}
		self.nPontos = 0

	def SetNid(self, nNum):
		self.nId = nNum

	def SetAarry(self, aArry):
		self.aArry = aArry

	def SetNpontos(self, nNum):
		self.nPontos = nNum 

	#def SetNid(self, nVal):
	#	self.nId = nVal

class TQuizExe(ScreenManager):

	#global aArry 		#Variavel Global de Perguntas
	#global nId			#Varival que indica o ID da Pergunta e das Respostas
	#global nPontos		#Pontuação do jogador
	global oJogo

	oJogo = Model()
	oJogo.SetNid(randrange(1,4))
	#Atribuição de Variaveis
	oJogo.SetAarry({"ID":["Pergunta","Resp. A","Resp. B","Resp. C","Resp. D","Resp. Correta"],
		1: ["Pergunta TESTE1","Resp. TESTE A1","Resp. TESTE B1","Resp. TESTE C1","Resp. TESTE D1","Resp. TESTE A1"],
		2: ["Pergunta TESTE2","Resp. TESTE A2","Resp. TESTE B2","Resp. TESTE C2","Resp. TESTE D2","Resp. TESTE A2"],
		3: ["Pergunta TESTE3","Resp. TESTE A3","Resp. TESTE B3","Resp. TESTE C3","Resp. TESTE D3","Resp. TESTE A3"]})
	oJogo.SetNpontos(0)
	
	def __init__(self):
		super().__init__()

	#Chama Tela 1
	def Jogo1(self):
		self.current = 'jogo1'

	#Chama Tela 2
	def Jogo2(self):
		self.current = 'jogo2'

	def TrocaNid(self):
		oJogo.SetNid(oJogo.nId + 1)
		print("NID" + str(oJogo.nId))

	#Informa Qual Botão foi clicado
	def Click(self, nNum):
		global nClick
		if nNum == 1:
			nClick = 1
		if nNum == 2:
			nClick = 2
		if nNum == 3:
			nClick = 3
		if nNum == 4:
			nClick = 4
	
	def CriaTxt(self):
		cArq = open("Pontos.txt", 'w')	#Criar o Arquivo Txt
		cArq.write("")					#Zera a pontuação
		cArq.close()					#Fecha Txt

		cArq = open("nId.txt", 'w')		#Criar o Arquivo Txt
		cArq.write("")					#Zera a pontuação
		cArq.close()					#Fecha Txt

	#Marcar Ponto
	def Ponto(self):
		cArq = open("Pontos.txt", 'r')		#Abre o Arquivo Txt para pegar a pontuação atução
		#Verifica se a resposta foi correta
		if oJogo.aArry[oJogo.nId][nClick] == oJogo.aArry[oJogo.nId][5]:
			oJogo.nPontos = cArq.read()			#Grava o resultado do Arqbuivo na Variavel
			cArq.close()					#Fecha o Arquivo para abrir em forma te leitura
			if oJogo.nPontos == '':				#Verifica se o arquivo esta vazio
				oJogo.nPontos = 0
			nPontos = str(int(nPontos) + 1)	#Incrementa os pontos
			cArq = open("Pontos.txt", 'w')	#Abre o AArquivo em forma de Escrita
			cArq.write(nPontos)				#Grava a pontuação no TXT				
			cArq.close()						#Fecha o Arquivo caso a pessoa erre
		else:
			cArq.close()						#Fecha o Arquivo caso a pessoa erre	
		return

	def Sair(self):
		TQuizExe.exit()

#Menu
class Menu(Screen):
	pass

#TELA1
class Tela1(Screen):
	def __init__(self, **kwargs):
		super().__init__(**kwargs)
		
	#Exibir Pergunta
	def Pergunta(self):
		return oJogo.aArry[oJogo.nId][0]
		
	#Exibir Respostas
	def Respostas(self,nButton):
		if nButton == 1:
			print("nId teste" + str(oJogo.nId))
			return oJogo.aArry[oJogo.nId][1]
		if nButton == 2:
			print("nId teste" + str(oJogo.nId))
			return oJogo.aArry[oJogo.nId][2]
		if nButton == 3:
			print("nId teste" + str(oJogo.nId))
			return oJogo.aArry[oJogo.nId][3]
		if nButton == 4:
			print("nId teste" + str(oJogo.nId))
			return oJogo.aArry[oJogo.nId][4]

	#Informa Qual Botão foi clicado
	def Click(self, nNum):
		global nClick
		if nNum == 1:
			nClick = 1
		if nNum == 2:
			nClick = 2
		if nNum == 3:
			nClick = 3
		if nNum == 4:
			nClick = 4

#TELA2
class Tela2(Screen):
	def __init__(self, **kwargs):
		super().__init__( **kwargs)

	#Exibir Pergunta
	def Pergunta(self):
		return oJogo.aArry[oJogo.nId][0]
		
	#Exibir Respostas
	def Respostas(self,nButton):
		if nButton == 1:
			return oJogo.aArry[oJogo.nId][1]
		if nButton == 2:
			return oJogo.aArry[oJogo.nId][2]
		if nButton == 3:
			return oJogo.aArry[oJogo.nId][3]
		if nButton == 4:
			return oJogo.aArry[oJogo.nId][4]

#CHAMAR EM FORMA DE APP
class TieteQuiz(App):
	def build (self):
		return TQuizExe()
		 
TieteQuiz().run()
