-
Notifications
You must be signed in to change notification settings - Fork 0
/
Objects.py
127 lines (98 loc) · 3.59 KB
/
Objects.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import pygame
import random
import time
import Basic
import Draw
class coin(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
width = 40
height = 40
self.visible = True
self.level = []
self.picknow = False
self.image = pygame.Surface([width, height])
self.rect = self.image.get_rect()
self.Coin = []
self.teller = 0
self.Coinsheet = Basic.SpriteSheet("Textures\\coins.png")
self.sound = pygame.mixer.Sound("Textures\\Pickup_Coin.wav")
self.Coin.append(self.Coinsheet.get_image(0, 0, 40, 40))
self.Coin.append(self.Coinsheet.get_image(0, 43, 40, 40))
self.Coin.append(self.Coinsheet.get_image(0, 88, 40, 40))
self.Coin.append(self.Coinsheet.get_image(0, 133, 40, 40))
self.Coin.append(pygame.transform.flip(self.Coin[2], True, False))
self.Coin.append(pygame.transform.flip(self.Coin[1], True, False))
def update(self):
self.image.fill(Basic.GREEN)
self.image.set_colorkey(Basic.GREEN)
if self.visible:
self.image.blit(self.Coin[int(self.teller)], (0, 0))
self.teller += 0.1
if int(self.teller) == 6:
self.teller = 0
if self.picknow:
self.picknow = False
return True
return False
def pickup(self):
if self.visible:
pygame.mixer.Sound.play(self.sound)
self.visible = False
self.picknow = True
class Tree(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
self.texture2 = pygame.image.load("Textures\\tree.png")
self.texture2 = pygame.transform.scale(self.texture2, (160, 226))
self.image = pygame.Surface([160, 200])
self.image.blit(self.texture2, (0,0), (0, 0, 160, 200))
self.image.set_colorkey(Basic.BLACK)
self.rect = self.image.get_rect()
class Bottun(pygame.sprite.Sprite):
def __init__(self, x, y, color, color2, widht, height):
super().__init__()
self.color = color
self.color2 = color2
self.widht = widht
self.height = height
self.x = x
self.y = y
self.clicks = False
self.over = False
def update(self):
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
if (self.x + self.widht > mouse[0] and mouse[0] > self.x) and (self.height + self.y > mouse[1] and mouse[1] > self.y):
self.over = True
if click[0] == 1:
self.clicks = True
else:
self.clicks = False
else:
self.over = False
def show(self, surface):
if self.over:
pygame.draw.rect(surface, self.color2, (self.x, self.y, self.widht, self.height))
else:
pygame.draw.rect(surface, self.color, (self.x, self.y, self.widht, self.height))
def change(self, x, y, color, color2, widht, height):
self.color = color
self.color2 = color2
self.widht = widht
self.height = height
self.x = x
self.y = y
self.clicks = False
self.over = False
class Flag(pygame.sprite.Sprite):
def __init__(self, x):
super().__init__()
self.flag = pygame.image.load("Textures\\flag.png")
self.image = pygame.Surface((36, 77))
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = Basic.SCREEN_HEIGHT - 77
self.image.fill(Basic.GREEN)
self.image.set_colorkey(Basic.GREEN)
self.image.blit(self.flag, (0, 0), (1, 3, 36, 77))