annotate 000/005.py @ 12:9dc97f88e274 default tip

Added CC0 license
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sun, 08 Jul 2012 19:56:38 +0200
parents 03fe34478f69
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
1 #!/usr/bin/env python
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
3
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
4 import pygame
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
5 import pygame.locals as pg
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
6
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
7
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
8 def initialize_screen():
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
9 """Initialize pygame, create a window and fill it with gray.
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
10 Return the screen surface.
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
11 """
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
12 pygame.display.init()
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
13 screen = pygame.display.set_mode((800, 600))
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
14 screen.fill((0x66, 0x66, 0x66))
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
15 return screen
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
16
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
17 def load_and_display_image(screen):
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
18 """Load the image and display it in the middle of the screen."""
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
19 image = pygame.image.load('cup.png')
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
20 image = image.convert()
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
21 image.set_colorkey((0xff, 0x00, 0xff))
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
22 screen_rect = screen.get_rect()
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
23 image_rect = image.get_rect()
2
ee28ba29d97e Some tweak in the basic pygame program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 1
diff changeset
24 image_rect.center = screen_rect.center
ee28ba29d97e Some tweak in the basic pygame program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 1
diff changeset
25 screen.blit(image, image_rect)
1
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
26
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
27 def wait_for_quit():
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
28 """Sit there doing nothing until the window is closed."""
2
ee28ba29d97e Some tweak in the basic pygame program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 1
diff changeset
29 pygame.display.update()
1
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
30 while True:
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
31 event = pygame.event.wait()
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
32 if event.type == pg.QUIT:
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
33 return
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
34
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
35
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
36 if __name__ == '__main__':
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
37 screen = initialize_screen()
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
38 load_and_display_image(screen)
ae5f8de62b25 The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
39 wait_for_quit()