Você está aqui: Python ::: Pygame ::: Linhas

Como desenhar linhas em determinados ângulos no Pygame

Quantidade de visualizações: 765 vezes
Nesta dica mostrarei como podemos desenhar linhas em determinados na biblioteca Pygame do Python. Note que criei um função que nos permite especificar as coordenadas x e y inicias, o ângulo de inclinação da linha e o seu comprimento, assim como a cor e sua largura.

Eis o código Pygame completo e logo abaixo a imagem com a saída resultante:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar as bibliotecas necessárias
import math
import pygame, sys
from pygame.locals import *

# função personalizada que recebe as coordenadas x e y iniciais
# da linha, seu comprimento, o ângulo, sua cor e sua largura e a desenha na
# tela
def desenhar_linha_angulo(x, y, comprimento, angulo, superficie, cor, largura):
  pygame.draw.line(superficie, cor, (x, y), ( (x + 
    math.cos(angulo / 180.0 * math.pi) * comprimento),
    (y - math.sin(angulo / 180.0 * math.pi) * comprimento)), largura)

# inicializa a biblioteca
pygame.init()
# obtém a superfície do jogo e define o tamanho da tela
DISPLAYSURF = pygame.display.set_mode((500, 400), 0, 32)
# vamos definir o título da janela do jogo
pygame.display.set_caption('Como desenhar linhas em determinados ângulos no Pygame')

# vamos criar algumas cores
BRANCO = (255, 255, 255)
VERMELHO = (255, 0, 0)
AZUL = (0, 0, 255)
VERDE = (0, 255, 0)

# vamos pintar a tela toda de branco
DISPLAYSURF.fill(BRANCO)

# vamos chamar a função que desenha a linha em um determinado
# ângulo. Vou pedir para desenhar três linhas, todas em ângulos diferentes
desenhar_linha_angulo(100, 300, 300, 45, DISPLAYSURF, VERMELHO, 3)
desenhar_linha_angulo(100, 300, 500, 75, DISPLAYSURF, VERDE, 5)
desenhar_linha_angulo(100, 300, 250, -370, DISPLAYSURF, AZUL, 2)

# e aqui nós entramos no loop do game
while True:
  # monitoramos os eventos
  for evento in pygame.event.get():
   # se o evento foi um pedido para sair
   if evento.type == QUIT:
    # fechamos a tela do jogo 
    pygame.quit()
    # e saimos do programa
    sys.exit()

   # redesenha a tela continuamente 
   pygame.display.update()

Ao executarmos este código Pygame nós teremos o seguinte resultado:



Link para compartilhar na Internet ou com seus amigos:

Python ::: Tkinter GUI Toolkit ::: Círculos, Ovais e Elípses

Como desenhar círculos no Tkinter usando a função create_oval() do componente Canvas

Quantidade de visualizações: 1105 vezes
Em várias situações nós precisamos desenhar círculos não preenchidos e preenchidos em Tkinter. Para isso nós podemos usar a função create_oval() do componente Canvas.

Em sua forma mais simples, a função create_oval() requer as coordenadas x e y a partir das quais o círculo ou elípse será desenhada e a largura e a altura do retângulo dentro do qual o círculo estará contido. Para desenhar uma oval ou elípse, basta manipular a largura ou altura desse retângulo.

Veja um trecho de código no qual usamos a função create_oval() para desenhar um círculo com 5 pixels de largura da linha de desenho:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar o módulo Tkinter
from tkinter import *
from tkinter.ttk import *
 
# método principal
def main():
  # cria a janela principal da aplicação
  janela_principal = Tk() 
  
  # define as dimensões da janela
  janela_principal.geometry("400x350")
  
  # define o título da janela
  janela_principal.title("Uso do controle Canvas")
 
  # vamos criar o objeto Canvas
  canvas = Canvas(janela_principal, bg="white", width=400, height=350)
 
  # colocamos o Canvas na janela principal
  canvas.grid(row=0, column=0)
 
  # agora vamos desenhar um círculo no Canvas começando nas
  # coordenadas x=20 e y=30 centro de um retângulo de largura
  # 150 pixels por uma altura de 150 pixels e largura da linha
  # de 5 pixels
  canvas.create_oval(20, 30, 150, 150, width="5")
 
  # entramos no loop de eventos 
  janela_principal.mainloop()
 
if __name__== "__main__":
  main()

Note que a largura da linha de desenho foi informada por meio do parâmetro width. Se quisermos definir também a cor da linha do desenho, basta usarmos o parâmetro outline e fornecer a cor desejada.


Python ::: Fundamentos da Linguagem ::: Passos Iniciais

Como criar módulos de código reutilizável em Python

Quantidade de visualizações: 8490 vezes
Uma das características da boa programação é reutilizar ao máximo códigos bem testados e independentes. A criação de módulos de funções e definições de classes em Python pode ser feita de forma bem simples.

1) Comece criando um arquivo chamado funcoes.py com o seguinte conteúdo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

"""
  Sou um módulo Python. A única funcionalidade que
  ofereço é uma função que soma dois números
"""

def somar(num1, num2):
  return (num1 + num2)

2) Salve este arquivo no diretório atual de sua aplicação e vamos importá-lo. Para isso escreva um novo programa. Uma sugestão é:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

"""
  Sou o programa principal e vou importar
  o módulo que contém a função somar
"""

import funcoes

def main():
  print(funcoes.somar(3, 5))  
    
if __name__== "__main__":
  main()

3) Execute o programa e veja o resultado.

Para que este programa funcione corretamente, é preciso que o módulo a ser importado esteja no diretório atual ou em qualquer um dos diretórios pesquisados pelo interpretador Python, geralmente representados pelo variável de ambiente PYTHONPATH.

Porém, há situações que queremos agrupar nossos módulos em um diretório dentro do diretório principal da aplicação. O exemplo abaixo mostra como importar um módulo localizado no diretório "lib" da aplicação atual:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

"""
  Sou o programa principal e vou importar
  o módulo que contém a função somar()
"""

# importa o módulo sys
import sys

# acrescenta o diretório lib na variável
# de ambiente PYTHONPATH
sys.path.append(sys.path[0] + '\\lib')

# pode importar funcoes no diretório lib
import funcoes

# pode chamar o método somar agora
def main():
  print(funcoes.somar(3, 5))

if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Lista (List)

Apostila de Python - Como ordenar uma lista de inteiros em ordem crescente ou decrescente usando o método sort() do objeto List do Python

Quantidade de visualizações: 18104 vezes
Nesta dica veremos como usar a função sort() do objeto List da linguagem Python para ordenar um vetor de inteiros em ordem crescente ou decrescente. Veja que, para ordenar o vetor em ordem descrecente, tudo que fiz foi fornecer o valor "reverse=True" para a função sort().

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  # cria uma lista de inteiros
  valores = [2, 5, 12, 2, 3, 32, 18]
 
  # exibe a lista na ordem original
  print(valores)
 
  # ordena a lista em ordem crescente
  valores.sort()
  # exibe a lista ordenada em ordem crescente
  print(valores)

  # ordena a lista em ordem decrescente
  valores.sort(reverse=True)
  # exibe a lista ordenada em ordem decrescente
  print(valores)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

[2, 5, 12, 2, 3, 32, 18]
[2, 2, 3, 5, 12, 18, 32]
[32, 18, 12, 5, 3, 2, 2]


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 65 usuários muito felizes estudando em nosso site.