示例#1
0
    def __init__(self,
                 screen,
                 pos_x,
                 pos_y,
                 label_text,
                 width=200,
                 label_size=150,
                 min=0.0,
                 max=1.0,
                 initial=0.5,
                 margin=20):
        self.width = width
        self.label_size = label_size

        self.label = TextBox(screen, pos_x, pos_y, label_size, 30, fontSize=16)
        self.label.setText(label_text)
        self.slider = Slider(screen,
                             pos_x + self.label_size + margin,
                             pos_y,
                             self.width,
                             20,
                             min=min,
                             max=max,
                             step=0.01,
                             initial=initial)
        self.output = TextBox(screen,
                              pos_x + self.label_size + self.width +
                              margin * 2,
                              pos_y,
                              30,
                              20,
                              fontSize=10)
示例#2
0
def ask():
    screen.fill(BLACK)
    text_box = TextBox(screen, (WIDTH // 2) - 250, (HEIGHT // 2) - 50,
                       500,
                       100,
                       fontSize=75,
                       borderColour=BLACK,
                       textColour=BLACK)
    waiting = True
    while waiting:
        events = pygame.event.get()
        for event in events:
            if event.type == pygame.QUIT:
                quit()
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_RETURN:
                    waiting = False

        text_box.listen(events)
        text_box.draw()
        if not waiting:
            screen.fill(BLACK)
            draw_text(text_box.getText(), WHITE, WIDTH // 2, HEIGHT // 2)
        pygame.display.flip()
    del text_box
def setup():
	Boid_List = BoidGroup(POPSIZE, p1_cam)
	sliders, values = [], []
	for i in range(6):
		if i < 3:
			sliders.append(Slider(flockDisplay, p2_cam.x+30, (i+1)*70, 
				(width-div*width)//1-60, 16, min=0., max=100., step=1,
				colour = white, handleRadius = 8, initial = perRadius[i] ))
			values.append(TextBox(flockDisplay, p2_cam.x+190, (i+1)*70-25, 
				20, 20, fontSize=10, colour=black, textColour=white))
		else:
			sliders.append(Slider(flockDisplay, p2_cam.x+30, 40+(i+1)*70,
			 (width-div*width)//1-60, 16, min=0., max=1., step=0.01,
			 colour = white, handleRadius = 8, initial = weights[i%3] ))
			values.append(TextBox(flockDisplay, p2_cam.x+180, 40+(i+1)*70-25, 
				20, 20, fontSize=10, colour=black, textColour=white))
	return Boid_List, sliders, values
示例#4
0
    def display_user_score(self, user):
        userScore = TextBox(self.win, 10, 380, 90, 50, fontSize=30)
        score = user.getHandValue()
        if not user.hasAce():
            userScore.setText(score[0])
        elif score[0] < 22 and score[1] < 22:
            userScore.setText(str(score[0]) + '/' + str(score[1]))
        elif score[0] > 21 and score[1] > 21:
            userScore.setText(score[0])
        else:
            userScore.setText(score[0])

        userScore.draw()
示例#5
0
    def __init__(self, jogador, obstaculo_controller, efeito_controller):
        super().__init__(jogador, obstaculo_controller, efeito_controller)
        self.__recorde_salvo = False

        self.__texto_derrota = Texto("Derrota", "Materials/Early GameBoy.ttf",
                                     50, self.BLACK, [30, 40])

        self.__fundo_pontuacao = Fundo([20, 140, 360, 70], self.DARK_GREY)
        self.__texto_pontuacao = Texto(f"Pontos: {self.pontuacao.pontos}",
                                       "Materials/Early GameBoy.ttf", 20,
                                       self.WHITE, [30, 160])

        self.__nome = TextBox(self.tela.display,
                              20,
                              250,
                              280,
                              70,
                              borderColour=(0, 0, 0),
                              textColour=(0, 0, 0),
                              radius=10,
                              borderThickness=5)
        self.__nome.font = pygame.font.Font("Materials/Retro Gaming.ttf", 30)
        self.__texto_recorde = Texto("Insira seu nome e clique em salvar.",
                                     "Materials/Retro Gaming.ttf", 12,
                                     self.BLACK, [25, 325])

        self.__events_derrota = EventsDerrota(self.__nome)

        self.__imagem_botao_salvar = pygame.image.load(
            "Materials/disquete.png").convert_alpha(self.tela.display)
        self.__fundo_salvar = Fundo([310, 250, 70, 70], self.WHITE)
        self.__botao_salvar = BotaoImagem(self.__imagem_botao_salvar,
                                          (315, 255), self.__fundo_salvar,
                                          self.GREEN, self.DARK_GREEN,
                                          self.__events_derrota)

        self.__texto_jogar_novamente = Texto("Jogar novamente",
                                             "Materials/Retro Gaming.ttf", 30,
                                             self.WHITE, [40, 395])
        self.__fundo_jogar_novamente = Fundo([20, 380, 360, 70], self.WHITE)
        self.__botao_jogar_novamente = Botao(self.__texto_jogar_novamente,
                                             self.__fundo_jogar_novamente,
                                             self.GREEN, self.DARK_GREEN,
                                             self.__events_derrota)

        self.__texto_menu = Texto("Menu", "Materials/Retro Gaming.ttf", 40,
                                  self.WHITE, [135, 490])
        self.__fundo_menu = Fundo([20, 480, 360, 70], self.WHITE)
        self.__botao_menu = Botao(self.__texto_menu, self.__fundo_menu,
                                  self.GREEN, self.DARK_GREEN,
                                  self.__events_derrota)
示例#6
0
    def __init__(self, window, largura, altura):
        pygame.init()
        fontearquivo = os.path.dirname(os.path.abspath(__file__)).replace(
            "view", "").replace("model", "")
        fontearquivo = os.path.join(fontearquivo, "lib")
        fontearquivo = os.path.join(fontearquivo, "FreeSansBold.ttf")
        self.fa = fontearquivo
        self.altura = altura
        self.fontetipo = 'comicsansms'
        self.ajuste = 360
        self.desenhaalertaCaixaPerdeu = False
        self.opcoesFases = False
        self.largura = largura
        self.scala_x = self.largura / 1366
        self.scala_y = self.altura / 768
        self.tamanho = (self.largura, self.altura)
        self.indexAjuda = 1
        self.continua = False
        # pygame.display.set_mode(self.tamanho,pygame.SCALED)
        self.janela = window
        self.__janela = carrega_imagem("janela.png")
        self.cadeado = carrega_imagem("cadeado.png")
        self.imgVazia = carrega_imagem("rect.png")
        self.__janela2 = pygame.transform.smoothscale(
            self.__janela.convert_alpha(),
            (int(30 * self.scala_x), int(30 * self.scala_y)))

        # FONTES
        self.fonteGrande = pygame.font.Font(fontearquivo,
                                            int(22 * self.scala_x))
        self.fontePequena = pygame.font.Font(fontearquivo,
                                             int(12 * self.scala_x))
        self.fonteTitulo = pygame.font.Font(fontearquivo,
                                            int(55 * self.scala_x))

        self.corBranca = Cores.BRANCO
        self.corfundo = Cores.CORFUNDO
        self.corPrincipal = Cores.CORPRINCIPAL
        self.corSecundaria = Cores.CORSECUNDARIA
        self.corTexto = Cores.CORSECUNDARIA
        self.cor1Elemento = Cores.CORELEMENTO
        self.telaInicio = False
        self.telaConfig = True
        self.telaSaves = self.telaJogo = self.telaCriar = self.telaFases = self.telaAjuda = False
        self.rolagem = 0
        pygame.display.set_icon(carrega_imagem("icon.png"))
        pygame.display.set_caption("PaintCoding")
        # pygame.display.set_mode((self.largura, self.altura),pygame.FULLSCREEN)
        self.ok = Sprite("ok.png", 1, 2)
        self.ok.definirPosicao((760, 380))
        self.menu = Sprite("menu.png", 1, 2)
        self.menu.definirPosicao((550, 360))
        self.reiniciar = Sprite("reiniciar.png", 1, 2)
        self.reiniciar.definirPosicao((630, 360))
        self.continuar = Sprite("continuar.png", 1, 2)
        self.continuar.definirPosicao((710, 360))
        self.desenhaAlerta = self.desenhaNovoJogo = False
        self.textoAlerta = ("TEXTO TITULO!", "PRESSIONE OK PARA CONTINUAR!")
        self.caixaTexto = TextBox(self.janela,
                                  int(550 * ESCALAX),
                                  int(300 * ESCALAY),
                                  250 * ESCALAX,
                                  40 * ESCALAY,
                                  fontSize=20,
                                  borderColour=Cores.CORPRINCIPAL,
                                  radius=10,
                                  borderThickness=5)
        # INICIO
        self.botaostart = Sprite("BOTAOJOGAR.PNG", 1, 2)
        self.botaoCriar = Sprite("BOTAOCRIAR.PNG", 1, 2)
        self.botaoSair = Sprite("BOTAOSAIR.PNG", 1, 2)
        self.botaoVolume = Sprite("BOTAOVOLUMEON.PNG", 1, 2)
        self.btAjuda = Sprite("ajuda.png", 1, 2)
        self.btyt = Sprite("youtube.png", 1, 2)
        self.btConfig = Sprite("engrenagem.png", 1, 2)
        self.img = carrega_imagem("img2.png")
        self.logo = carrega_imagem("img2.png", escala=3)
        self.c1 = carrega_imagem("c1.png")
        self.c2 = carrega_imagem("c2.png")
        self.c3 = carrega_imagem("c3.png")
        self.c4 = carrega_imagem("c4.png")
        self.c5 = carrega_imagem("c5.png")
        # self.botaostart.definirPosicao((((largura/2)-self.botaostart.rect.h), 330))
        self.botaostart.definirPosicao((350 + (self.ajuste / 2), 330))
        self.botaoCriar.definirPosicao((350 + (self.ajuste / 2), 450))
        self.botaoSair.definirPosicao((350 + (self.ajuste / 2), 570))
        # self.botaoCriar.definirPosicao((((largura / 2) - self.botaoCriar.rect.h), 450))
        # self.botaoSair.definirPosicao((((largura / 2) - self.botaoSair.rect.h), 590))
        self.btyt.definirPosicao((1040, 40))
        self.btAjuda.definirPosicao((1130, 50))
        self.btConfig.definirPosicao((1210, 50))
        self.botaoVolume.definirPosicao((1290, 50))
        # ESCOLHERSAVE
        self.botaoNovoJogo = Sprite("BOTAONOVOJOGO.PNG", 1, 2)
        self.botaoFasesPersonalizadas = Sprite("BOTAOCRIACOES.PNG", 1, 2)
        self.botaoVoltar = Sprite("VOLTAR.png", 1, 2)
        self.botaoCima = Sprite("BOTAOCIMA.png", 1, 2)
        self.botaoBaixo = Sprite("BOTAOBAIXO.png", 1, 2)
        self.botaoNovoJogo.definirPosicao((90 + (self.ajuste / 2), 610))
        self.botaoFasesPersonalizadas.definirPosicao(
            (350 + (self.ajuste / 2), 610))
        self.botaoCima.definirPosicao((860 + (self.ajuste / 2), 84))
        self.botaoBaixo.definirPosicao((860 + (self.ajuste / 2), 510))
        self.savesPane = Painel(self.escalarX(943), self.escalarY(493),
                                self.escalarX(25 + (self.ajuste / 2)),
                                self.escalarY(100))
        self.moverretangulo = False
        self.botaoPlay = []
        self.botaolixeira = []
        self.saves = None
        # self.fasesPersonalizadas = None

        # CRIAR
        self.colunas = self.linhas = 2
        self.execucoes = 1
        self.btCimaCol = Sprite("BOTAOCIMA.png", 1, 2, 2)
        self.btCimaLi = Sprite("BOTAOCIMA.png", 1, 2, 2)
        self.btBaixoCol = Sprite("BOTAOBAIXO.png", 1, 2, 2)
        self.btBaixoLi = Sprite("BOTAOBAIXO.png", 1, 2, 2)
        self.btCimaEx = Sprite("BOTAOCIMA.png", 1, 2, 2)
        self.btBaixoEx = Sprite("BOTAOBAIXO.png", 1, 2, 2)
        self.btCimaCol.definirPosicao((90, 180))
        self.btBaixoCol.definirPosicao((90, 250))
        self.btCimaLi.definirPosicao((200, 180))
        self.btBaixoLi.definirPosicao((200, 250))
        self.btCimaEx.definirPosicao((250, 380))
        self.btBaixoEx.definirPosicao((250, 450))
        self.botaoProximo = Sprite("BOTAOPROX.PNG", 1, 2)
        self.botaoVoltarCriar = Sprite("VOLTAR.png", 1, 2)
        self.botaoVoltarCriar.definirPosicao((1080, 580))
        self.botaoProximo.definirPosicao((790, 580))

        # config
        self.sliderVl = Slider(self.janela,
                               self.escalarX(170),
                               self.escalarY(400),
                               self.escalarX(400),
                               self.escalarY(20),
                               min=20,
                               max=300,
                               step=1,
                               colour=Cores.CORSECUNDARIA,
                               handleColour=Cores.CORPRINCIPAL)
        self.sliderVl.value = Util.Config.VELOCIDADE
        # self.btCimaVel = Sprite("BOTAOCIMA.png", 1, 2, 2)
        # self.btBaixoVel = Sprite("BOTAOBAIXO.png", 1, 2, 2)
        # self.btCimaVel.definirPosicao((250, 280))
        # self.btBaixoVel.definirPosicao((250, 350))
        self.botaoConfirmar = Sprite("BOTAOSALVAR.PNG", 1, 2)
        self.botaoConfirmar.definirPosicao((800 + (self.ajuste / 2), 580))

        # TELA FASES PERSONALIZADAS
        self.botaoEsquerda = Sprite("BOTAOESQUERDA.png", 1, 2)
        self.botaoDireita = Sprite("BOTAODIREITA.png", 1, 2)
        self.botaoEsquerda.definirPosicao((60, 350))
        self.botaoDireita.definirPosicao((1220, 350))
        self.contornoFase = None
        self.btVoltarFases = Sprite("VOLTAR.png", 1, 2)
        self.btVoltarFases.definirPosicao((950, 600))
        self.fasespersonalizadas = None
        self.rolagemCriacoes = 0
        # MSG PERRGUNTA
        self.desenhaConfirmacao = False
        self.textopergunta = ("Confirma a exclusão do Progresso?",
                              " Essa ação não poderá ser desfeita!")
        self.confirmarbotao = Sprite("confirmar.png", 1, 2)
        self.cancelarbotao = Sprite("cancelar.png", 1, 2)
        self.confirmarbotao.definirPosicao((850, 390))
        self.cancelarbotao.definirPosicao((695, 390))
        # JOGO
        # 943, 493, 25, 70)
        self.jogoPane = PainelJogo(self, self.largura, self.altura, 0, 0)
        self.botoesFases = gerarBotaoFase(janela=self.janela)
        self.nivelJogador = 0
        self.telaMenuFases = False

        # IMAGEM
        self.imagemConteiner = carrega_imagem("conteiner.png")
        # TEXTOS
        self.tituloTelaSave = self.fonteTitulo.render("Jogar", True,
                                                      self.corPrincipal)
        self.tituloTelaMenuFase = self.fonteTitulo.render(
            "Escolha um nível para jogar", True, self.corPrincipal)
        self.tituloTelaFases = self.fonteTitulo.render("Fases personalizadas",
                                                       True, self.corPrincipal)
        self.txt_pane = self.fonteTitulo.render(
            "Selecione as características da fase: ", True, self.corTexto)
        self.txt_desenho = self.fonteGrande.render(
            "Selecione a quantidade de linhas e colunas do desenho: ", True,
            self.corTexto)
        self.txt_col_lin = self.fonteGrande.render("Colunas  x  Linhas: ",
                                                   True, self.corPrincipal)
        self.txt_X = self.fonteGrande.render("X", True, self.corPrincipal)
        self.txt_qntvidas = self.fonteGrande.render(
            "Selecione a quantidade de execuções disponíveis para concluir o desenho:",
            True, self.corTexto)
        self.txt_ex = self.fonteGrande.render("Nº Execuções:", True,
                                              self.corPrincipal)

        self.txt_CONFIG = self.fonteTitulo.render("CONFIGURAÇÕES ", True,
                                                  self.corTexto)
        self.txt_descVelocidade = self.fonteGrande.render(
            "Ajuste com o slider abaixo a velocidade das animações dentro do PaintCode:",
            True, self.corTexto)
        self.txt_velocidade = self.fonteGrande.render("VELOCIDADE:", True,
                                                      self.corPrincipal)
        self.txt_explicacaoVelocidade = self.fonteGrande.render(
            "Deslize ", True, self.corPrincipal)
示例#7
0
        return False

    def round(self, value):
        return self.step * round(value / self.step)

    def getValue(self):
        return self.value


if __name__ == '__main__':
    pygame.init()
    win = pygame.display.set_mode((1000, 600))

    slider = Slider(win, 100, 100, 800, 40, min=0, max=99, step=1)
    output = TextBox(win, 475, 200, 50, 50, fontSize=30)

    run = True
    while run:
        events = pygame.event.get()
        for event in events:
            if event.type == pygame.QUIT:
                pygame.quit()
                run = False
                quit()

        win.fill((255, 255, 255))

        slider.listen(events)
        slider.draw()
示例#8
0
    def round(self, value):
        return self.step * round(value / self.step)

    def getValue(self):
        return self.value

    def setValue(self, value):
        self.value = value


if __name__ == '__main__':
    pygame.init()
    win = pygame.display.set_mode((1000, 600))

    slider = Slider(win, 100, 100, 800, 40, min=0, max=99, step=1)
    output = TextBox(win, 475, 200, 50, 50, fontSize=30)

    v_slider = Slider(win,
                      900,
                      200,
                      40,
                      300,
                      min=0,
                      max=99,
                      step=1,
                      vertical=True)
    v_output = TextBox(win, 800, 320, 50, 50, fontSize=30)

    run = True
    while run:
        events = pygame.event.get()
示例#9
0
文件: main.py 项目: fangyman/PyJaC
xslider = Slider(root,
                 screen_size.get_width() - 80,
                 100,
                 60,
                 40,
                 min=0,
                 max=20,
                 step=1,
                 colour=(220, 174, 150),
                 handleColour=(255, 255, 255),
                 handleRadius=15,
                 curved=True)
xtextbox = TextBox(root,
                   screen_size.get_width() - 100,
                   150,
                   100,
                   40,
                   fontSize=15,
                   borderColour=(91, 100, 103))
yslider = Slider(root,
                 screen_size.get_width() - 80,
                 0,
                 60,
                 40,
                 min=0,
                 max=20,
                 step=1,
                 colour=(220, 174, 150),
                 handleColour=(255, 255, 255),
                 handleRadius=15,
                 curved=True)
示例#10
0
                inactiveColour=(255, 0, 0),
                pressedColour=(0, 255, 0),
                radius=20,
                onClick=main,
                onClickParams=(WIN, WIDTH))
slider = Slider(WIN,
                250,
                180,
                180,
                40,
                min=5,
                max=40,
                step=1,
                handleColour=(255, 0, 0),
                handleRadius=22)
output = TextBox(WIN, 460, 180, 110, 40, fontSize=20)
buttonArray = ButtonArray(
    WIN,
    50,
    150,
    150,
    200,
    (1, 4),
    border=5,
    texts=('A*', 'BFS', 'Dijkstra', 'Github'),
)

# THIS PART TAKES CARE OF THE TITLE THAN SHIFTS THE FONT TO NORMAL TEXT
font = pygame.font.Font('freesansbold.ttf', 56)
text = font.render('PATH VISUALISER', True, (211, 211, 211))
textRect = text.get_rect()
示例#11
0
dt = 1 / framerate
C = 0.999
slider = Slider(screen,
                100,
                100,
                800,
                20,
                min=0.0,
                max=2 * l,
                step=0.01,
                initial=l)
output = TextBox(screen,
                 475,
                 50,
                 50,
                 30,
                 borderColour=(0, 0, 0),
                 borderThickness=1,
                 radius=3,
                 textColour=(0, 0, 0),
                 fontSize=20)
#-----------------------------------------------------------------------
#                               Main Loop
#-----------------------------------------------------------------------
done = False
while not done:
    screen.fill((90, 90, 90))
    #-------------------------------------------------------------------
    #                           Dynamics
    #-------------------------------------------------------------------
    alpha = np.sin(theta) * g / l
    omega += alpha * dt
示例#12
0
    def main(self):

        # Buttons for cards in home screen
        blue = Button(black, 145, 295, 110, 160)
        gray = Button(black, 295, 295, 110, 160)
        green = Button(black, 445, 295, 110, 160)

        # Custom Bet Input
        slider = Slider(self.win, 250, 250, 200, 40, min=1, max=500, step=1, handleRadius=25)
        outputText = TextBox(self.win, 315, 325, 70, 50, fontSize=30)

        # Buttons for Bet Selection
        minButton = Button(white, 190, 400, 100, 50, 'MIN')
        maxButton = Button(white, 410, 400, 100, 50, 'MAX')
        customButton = Button(white, 300, 400, 100, 50, "CUSTOM")

        # Buttons for Game Selection
        hitButton = Button(white, 600, 150, 90, 50, 'HIT')
        standButton = Button(white, 600, 250, 90, 50, 'STAND')
        splitButton = Button(white, 600, 350, 90, 50, 'SPLIT')
        doubleButton = Button(white, 600, 450, 90, 50, 'DOUBLE')

        back = ''
        state = 0

        # Game Class
        blackjack = Blackjack()
        user = blackjack.user
        dealer = blackjack.dealer

        run = True
        while run:
            events = pygame.event.get()
            for event in events:
                pos = pygame.mouse.get_pos()
                if event.type == pygame.QUIT:
                    run = False

                self.checkHover(blue, gray, green, minButton, maxButton, customButton, hitButton, standButton, splitButton, doubleButton, pos)

                if event.type == pygame.MOUSEBUTTONDOWN:
                    if state == 0:
                        if blue.isOver(pos):
                            back = pygame.transform.scale(blueCard, (80, 110))
                        elif gray.isOver(pos):
                            back = pygame.transform.scale(grayCard, (80, 110))
                        elif green.isOver(pos):
                            back = pygame.transform.scale(greenCard, (80, 110))
                        else:
                            break
                        state = 1
                        self.fade()
                        blackjack.deckOfCards.shuffle()
                    elif state == 1:
                        bet = 0
                        if minButton.isOver(pos):
                            bet = 1
                        elif maxButton.isOver(pos):
                            bet = 500
                        elif customButton.isOver(pos):
                            bet = slider.getValue()
                        else:
                            break
                        state = 2
                        blackjack.place_bet(bet)
                        blackjack.deal_start_cards()
                        self.display_first_cards(user, dealer, back, blackjack)
                    elif state == 2:
                        if hitButton.isOver(pos):
                            blackjack.hit()
                        elif standButton.isOver(pos):
                            blackjack.stand()
                        elif doubleButton.isOver(pos):
                            blackjack.double()
                        elif splitButton.isOver(pos):
                            pass
                        else:
                            break

            if state == 0:
                self.display_homescreen(blue, gray, green)
            elif state == 1:
                slider.listen(events)
                blackjack.set_status('user')
                self.display_betting(user.balance, slider, outputText, minButton, maxButton, customButton, back)
            elif state == 2:
                self.display_game(blackjack, user, dealer, back, hitButton, standButton, splitButton, doubleButton)
                self.display_status(blackjack)

            stat = blackjack.get_status()
            if stat == 'user':
                blackjack.check_blackjack()
            elif stat == 'dealer':
                self.display_status(blackjack)
                self.dealer_turn(blackjack)
            elif stat == 'reset' or stat == 'over' or stat == 'dealerbust' or stat == 'won' or stat == 'lost':
                state = 1
                self.display_status(blackjack)
                pygame.display.update()
                blackjack.reset_game()
                pygame.time.delay(2500)

            pygame.display.update()
示例#13
0
 def display_dealer_score(self, dealer):
     dealerScore = TextBox(self.win, 10, 180, 90, 50, fontSize=30)
     score = dealer.getHandValue()
     dealerScore.setText(score)
     dealerScore.draw()
示例#14
0
WIDTH, HEIGHT = (600, 600)
WHITE = (255,255,255)
BLACK = (0,0,0)
GREEN = ("#39FF14")
RED = (255,7,58)
INIT_EPC = 20

pg.init()
fps = 60
clock = pg.time.Clock()
screen = pg.display.set_mode((WIDTH,HEIGHT))
pg.display.set_caption('Fourier Series')
pg.mouse.set_cursor(*pg.cursors.tri_left)
slider = Slider(screen,WIDTH-340,HEIGHT-50,170,16,min=1, max=50, step=1,color=WHITE,handleColor=BLACK,handleRadius=8,initial=INIT_EPC)
textBox = TextBox(screen, WIDTH-140,HEIGHT-70,40,40,fontSize=15,colour=BLACK,textColour=GREEN)
on_button = Button(screen, WIDTH-150, 20, 50, 30, text="ON",
					fontSize=15, margin=20,
		            inactiveColour=GREEN,
		            hoverColour=(128,128,128),
		            pressedColour=WHITE, radius=2,
		            onClick=lambda:True)
off_button = Button(screen, WIDTH-80, 20, 50, 30, text="OFF",
					fontSize=15, margin=20,
		            inactiveColour=RED,
		            hoverColour= (128,128,128),
		            pressedColour=WHITE, radius=2,
		            onClick=lambda:True)
font1 = pg.font.Font('freesansbold.ttf', 16)
text = font1.render('Epicycles : ', True, GREEN, BLACK)
button_text = font1.render("Circles : ", True, GREEN, BLACK)
示例#15
0
pygame.init()
WIDTH = 800
WIN = pygame.display.set_mode((WIDTH, 900))
pygame.display.set_caption("A* Path Finding Algorithm")

slider_speed = Slider(WIN,
                      50,
                      820,
                      350,
                      20,
                      min=0,
                      max=1,
                      step=0.05,
                      initial=0)
output_slider = TextBox(WIN, 50, 860, 350, 20, fontSize=15)

RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 255, 0)
YELLOW = (255, 255, 0)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
PURPLE = (128, 0, 128)
ORANGE = (255, 165, 0)
GREY = (128, 128, 128)
TURQUOISE = (64, 224, 208)


class Spot:
    def __init__(self, row, col, width, total_rows):
示例#16
0
    def show_options_screen(self):
        bg = pg.image.load(background_path('japan_menu.png'))
        bg = pg.transform.scale(bg, WINDOW_SIZE)
        button_width = 200
        button_height = 50
        x = WIDTH // 16
        y = HEIGHT // 16
        sliderMusic = Slider(self.screen,
                             WIDTH // 3,
                             y * 5,
                             WIDTH // 3,
                             40,
                             min=0,
                             max=100,
                             step=1,
                             colour=DARKGREY,
                             handleColour=LIGHTGREY,
                             handleRadius=30,
                             initial=self.audioplayer.get_music_volume())
        sliderSounds = Slider(self.screen,
                              WIDTH // 3,
                              y * 7,
                              WIDTH // 3,
                              40,
                              min=0,
                              max=100,
                              step=1,
                              colour=DARKGREY,
                              handleColour=LIGHTGREY,
                              handleRadius=30,
                              initial=self.audioplayer.get_sound_volume())
        outputMusic = TextBox(self.screen,
                              sliderMusic.getX() + sliderMusic.getWidth() + 50,
                              y * 5,
                              50,
                              40,
                              fontSize=30)
        outputSounds = TextBox(self.screen,
                               sliderSounds.getX() + sliderSounds.getWidth() +
                               50,
                               y * 7,
                               50,
                               40,
                               fontSize=30)
        running_options = True
        while running_options:
            self.screen.blit(bg, (0, 0))
            draw_text('Options', self.font, WHITE, self.screen,
                      WIDTH // 2 - len('Options') * button_width // 30, y * 3)

            mx, my = pg.mouse.get_pos()

            button_exit = pygame.Rect(x * 5, y * 14, button_width,
                                      button_height)
            button_save = pygame.Rect(x * 9, y * 14, button_width,
                                      button_height)

            if button_exit.collidepoint((mx, my)):
                if self.click:
                    running_options = False
            if button_save.collidepoint((mx, my)):
                if self.click:
                    running_options = False
                    self.audioplayer.set_sounds_volume(sliderSounds.getValue())
                    self.audioplayer.set_music_volume(sliderMusic.getValue())

            pygame.draw.rect(self.screen, LIGHTGREY, button_exit)
            pygame.draw.rect(self.screen, LIGHTGREY, button_save)

            draw_text(
                'Exit', self.font, WHITE, self.screen,
                x * 5 + button_width // 2 - len('Exit') * button_width // 30,
                y * 14 + button_height // 2 - 11)
            draw_text(
                'Save', self.font, WHITE, self.screen,
                x * 9 + button_width // 2 - len('Save') * button_width // 30,
                y * 14 + button_height // 2 - 11)

            self.click = False

            sliderMusic.listen(self.events())
            sliderMusic.draw()
            outputMusic.setText(sliderMusic.getValue())
            outputMusic.draw()

            sliderSounds.listen(self.events())
            sliderSounds.draw()
            outputSounds.setText(sliderSounds.getValue())
            outputSounds.draw()

            self.events()
            pg.display.update()
            self.clock.tick(FPS)
示例#17
0
# creation of stylised images of the AUV (top, side and back view)
# note: images are square and image width is equal to dial diameter
image_width = 2 * DIAL_R

image_1 = create_view('images/zeno_top.bmp', image_width)  # top view
image_2 = create_view('images/zeno_side.bmp', image_width)  # side view
image_3 = create_view('images/zeno_back.bmp', image_width)  # back view

# textbox to write desired position and trim angles
textbox = TextBox(screen,
                  360,
                  Y_VALUE + 35,
                  185,
                  35,
                  font='Calibri',
                  fontSize=20,
                  textColour=YELLOW,
                  radius=10,
                  borderThickness=2,
                  borderColour=LIGHT_GREY,
                  colour=DARK_BLUE,
                  onSubmit=read_textbox)
# button to activate and deactivate control
button1 = Button(
    screen,
    360,
    Y_VALUE,
    90,
    30,
    text='CONTROL',
    font=pg.font.SysFont('Calibri', 15),