Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/main.py
blob: 764d904f478f7c4a460d368f8ef51b01b110ac8d (plain)
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
import pygame
import time
import os
import sys

from pygame import K_ESCAPE
from pygame.locals import *

from random import randint

from tree import Tree
from ranger import Ranger
from cutter import Cutter


pygame.init()

global window_h, window_w, trees
window_h = 640
window_w = 480

# Background
bg_color = [255, 255, 255]
screen = pygame.display.set_mode( (window_h, window_w) )
pygame.display.set_caption("Ranger")

# Tree
plant_time = 100
trees = []

start_time = time.time()
fps = 30
frame_time = 1.0/fps

# Ranger
unit = 1
ranger_speed = 4
ranger = Ranger(window_h, window_w, ranger_speed)

# Cutter
cutter_time = 50
cutter_speed = 3
cutter = []



# Draw background
screen.fill(bg_color)
# Draw everything on top of that
number_trees = 10
while number_trees != 0:
	trees.append(Tree((randint(0,window_h), randint(0,window_w))) )
	number_trees -= 1

score = 0

while True:
	# Time tracking
	current_time = time.time()
	if current_time - start_time <= frame_time:
		continue
	start_time = current_time
	
	for event in pygame.event.get():
		if event.type == pygame.QUIT:
			exit()
		ranger.input(event)
	
	keyboard = pygame.key.get_pressed()
	if keyboard[K_ESCAPE]:
		exit()
		
	if ranger.plant == True:
		ranger.plant = False
		if ranger.new_plant == False:
			new_plant_position = ranger.position
			ranger.new_plant = True
			
	
	if ranger.new_plant == True:
		plant_time += 1
		if plant_time > 200:
			trees.append(Tree( new_plant_position ) )
			plant_time = 0
			ranger.new_plant = False
	
	# Update ranger position based on events
	ranger.update()
	
	for treecutter in cutter:
		treecutter.update()
	
	# Draw background	
	screen.fill(bg_color)
		
	# Score text
	score_text = "Score: " + str(score) + " Next Plant: " + str(plant_time)
	font = pygame.font.Font(None, 36)
	text = font.render( score_text , 1, (0, 0, 0, 0))
	screen.blit(text, (0, 0))
	
	ranger.draw(screen)
	
	for treecutter in cutter:
		treecutter.draw(screen)
	
	if cutter_time == 100:
		cutter.append( Cutter(window_h, window_w, cutter_speed) )
		cutter_time = 0
	
	cutter_time += 1
	
	
	for arbol in trees:
		arbol.draw(screen)	
		
	pygame.display.update()