December 2018, zoals elk jaar denk ik weer na over hoe ik mijn kerstgroet ga verzenden. De laatste jaren maak ik elk jaar een digitale kerstkaart, het ene jaar wat ingewikkelder dan de andere. Dit jaar wilde ik natuurlijk een geprogrammeerde kerstkaart maken, want programmeren is een van de dingen die ik het liefste doe. En het is natuurlijk leuk als je zelf aan de slag kan om je eigen geprogrammeerde kerstkaart te maken. Om de kerstkaart te versturen heb ik een video gemaakt van mijn programma. De code om deze kerstgroet te maken is:

#-------------------------------------------------------------------------------
# Name: Kerstgroet 2018
#
# Author: Esther Bennett
#
# Created: 11-12-2018
# Copyright: (c) Esther Bennett 2018
# Licence: Vermeld bron
#-------------------------------------------------------------------------------

# Import a library of functions called 'pygame'
import pygame
import random
import pygame.freetype  # Import the freetype module.
from pygame.locals import*
img = pygame.image.load('C:\Users\esdan\Pictures\xmas2018.png')

# Initialize the game engine
pygame.init()

DARK_BLUE = [6,26,64]
WHITE = [255, 255, 255]
WIDTH = 640
HEIGHT = 480
FONT_SIZE_1 = 36
FONT_SIZE_2 = 24
font1 = pygame.font.SysFont("permanentmarker", FONT_SIZE_1)
font2 = pygame.font.SysFont("sourcesanspro", FONT_SIZE_2)
font2.set_bold(True)

# Set the height and width of the screen
SIZE = [WIDTH, HEIGHT]

screen = pygame.display.set_mode(SIZE)
pygame.display.set_caption("ProgrammeerMetEsther 2018")
textLine1 = font1.render("Prettige Kerstdagen,", True, (160,255,248))
textLine2 = font1.render("een gelukkig nieuwjaar en", True, (160,255,248))
textLine3 = font1.render("veel Coding Joy met Python in 2019!", True, (160,255,248))
textLine4 = font2.render("Liefs Esther", True, (242,67,129))

# Create an empty array
snow_list = []

# Loop 50 times and add a snow flake in a random x,y position
for i in range(100):
    x = random.randrange(0, WIDTH)
    y = random.randrange(0, HEIGHT)
    snow_list.append([x, y])

clock = pygame.time.Clock()

# Loop until the user clicks the close button.
done = False
while not done:

    for event in pygame.event.get():   # User did something
        if event.type == pygame.QUIT:  # If user clicked close
            done = True   # Flag that we are done so we exit this loop

    # Set the screen background
    screen.fill(DARK_BLUE)

    # Display the picture
    screen.blit(img,((WIDTH - img.get_width())/2 , 25))

    # Display the lines of text
    screen.blit(textLine1,
        (WIDTH/2 - textLine1.get_width() // 2, HEIGHT/2 - textLine1.get_height() // 2 - 1.5 * FONT_SIZE_1))
    screen.blit(textLine2,
        (WIDTH/2 - textLine2.get_width() // 2, HEIGHT/2 - textLine2.get_height() // 2 - 0.5 * FONT_SIZE_1))
    screen.blit(textLine3,
        (WIDTH/2 - textLine3.get_width() // 2, HEIGHT/2 - textLine3.get_height() // 2 + 0.5 * FONT_SIZE_1))
    screen.blit(textLine4,
        (WIDTH/2 - textLine4.get_width() // 2, HEIGHT/2 - textLine4.get_height() // 2 + 2.5 * FONT_SIZE_1))

    # Process each snow flake in the list
    for i in range(len(snow_list)):

        # Draw the snow flake
        pygame.draw.circle(screen, WHITE, snow_list[i], 2)

        # Move the snow flake down one pixel
        snow_list[i][1] += 1

        # If the snow flake has moved off the bottom of the screen
        if snow_list[i][1] > HEIGHT:
            # Reset it just above the top
            y = random.randrange(-50, -10)
            snow_list[i][1] = y
            # Give it a new x position
            x = random.randrange(0, WIDTH)
            snow_list[i][0] = x

    # Go ahead and update the screen with what we've drawn.
    pygame.display.flip()
    clock.tick(20)

# Be IDLE friendly. If you forget this line, the program will 'hang'
# on exit.
pygame.quit()

Veel plezier met het maken van je eigen kerstgroet! Liefst Esther

Vind je het leuk om te programmeren? Binnenkort verschijnt mijn ebook, schrijf je nu vast in om het te ontvangen.

[activecampaign form=7]