Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devtools/SpriteTypeTest/spriteTest.py
blob: 80305788a57e08ecad46199f055f68aea0879e1b (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
#! /usr/bin/env python
import pygame, time
pygame.init()

print "\n-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --\n"
print "Sprite Test - Authors Dave Silverman and Scott Mengel"
print "Set size to 600 x 400 px"
print "Running..."



#--------------------------------------------------------------
#CONSTANTS AND VARIABLES

make=input("How many images would you like to load? ")
trial=input("How many runs per trial? ")
sprite={}
ft="" #filetype
r=0 #frame refreshes
i=1 #cycles images
size = width, height = 600,400 #screen sizes
t=0 #trial number n
colorkey=(255, 152, 0)

ftArr=[ ["bmp","BMPs 16-Bits/"] , ["bmp","BMPs 24-Bits/"] , ["bmp","BMPs 32-Bits/"] , ["gif","GIFs/"] , ["gif","GIFs Transparent/"] , ["jpg","JPGs 1Low/"] , ["jpg","JPGs 2Medium/"] , ["jpg","JPGs 3High/"] , ["jpg","JPGs 4Max/"] , ["png","PNGs Indexed/"] , ["png","PNGs Transparent/"] ]

screen = pygame.display.set_mode(size) #Screen Set 600x400
background = 152, 251, 152 # pale green


#-------------------------------------------------------------
#The switch function

def chngSprite():
    cnt=make
    while cnt>0:
        switcher = {
            1: pygame.image.load("%s2 Button.%s"%(ft[1],ft[0])),
            2: pygame.image.load("%s3 Button.%s"%(ft[1],ft[0])),
            3: pygame.image.load("%s4 Button.%s"%(ft[1],ft[0])),
            4: pygame.image.load("%s5 Button.%s"%(ft[1],ft[0])),
            5: pygame.image.load("%s6 Button.%s"%(ft[1],ft[0])),
            6: pygame.image.load("%s7 Button.%s"%(ft[1],ft[0])),
            7: pygame.image.load("%s8 Button.%s"%(ft[1],ft[0])),
            8: pygame.image.load("%s9 Button.%s"%(ft[1],ft[0])),
            9: pygame.image.load("%s1 Button.%s"%(ft[1],ft[0]))
        }
        sprite[cnt,0]=switcher.get(i,pygame.image.load("%s1 Button.%s"%(ft[1],ft[0])))
        sprite[cnt,0] = pygame.transform.scale(sprite[cnt,0],(20, 20))
        cnt=cnt-1


#-----------------------------------------------------------------
#- Collision detection -------------------------------------------

def collision():
    cnt=make
    while cnt>0:
        if sprite[cnt,1].left < 0 or sprite[cnt,1].right > width:
            sprite[cnt,2]=[ -sprite[cnt,2][0], sprite[cnt,2][1] ]
        if sprite[cnt,1].top < 0 or sprite[cnt,1].bottom > height:
            sprite[cnt,2]=[ sprite[cnt,2][0], -sprite[cnt,2][1] ]
        sprite[cnt,1] = sprite[cnt,1].move(sprite[cnt,2])
        screen.blit(sprite[cnt,0],sprite[cnt,1])
        cnt=cnt-1
    pygame.display.flip()


#-----------------------------------------------------------------
#- Number of dashed lined relates to loops -----------------------

while 1:
    cnt=make
    ft=ftArr[t]
    print "Testing "+ft[1]+"N Button."+ft[0]
    trialthis=trial
    
#-----------------------------------------------------------------
    while trialthis>0:

    #-------------------------------------------------------------
        while cnt>0:
            sprite[cnt,0]= pygame.image.load("%s1 Button.%s"%(ft[1],ft[0])) #image.load
            sprite[cnt,0] = pygame.transform.scale(sprite[cnt,0],(20, 20)) 
            sprite[cnt,1]=  sprite[cnt,0].get_rect()
            sprite[cnt,2]= [2,2] #speed
            m=cnt*40 # named m cause i wanted some m&ms
            sprite[cnt,1]=sprite[cnt,1].move(m,m) #see? it wasn't as tastey though
            cnt=cnt-1

    #-------------------------------------------------------------
        r=0
        start=time.time()

    #-------------------------------------------------------------
        while 1:
            chngSprite()
            i=i+1
            if i>9: i=1
            
            collision()
            screen.fill(background)
            
            r=r+1
            if r>500: break
         
    #-------------------------------------------------------------
        print 1/((time.time()-start)/r)
        trial=trial-1

#-----------------------------------------------------------------
    t=t+1

#-----------------------------------------------------------------
#-----------------------------------------------------------------