Search code examples
imagepython-3.xpygamepython-3.2

Image won't stop rotating in pygame


I have this section of code (similar to the previous piece of code). It's supposed to just sweep 50 degrees left, then stop and sweep 100 degrees right, then stop and sweep 100 degrees to the left, and so forth. Only problem is it stops at the left, goes right, then continues to go right, even though I have a stop there to prevent that from happening.

                try:
                    screen.blit(Turrets[1], (TurretCoords[1]))
                    if Rotation == 1:
                        print(TurretRotation[1])
                        print(Rotation)
                        TurretRotation[1] = TurretRotation[1] - 1
                        Turrets[1] = pygame.transform.rotozoom(Turret, TurretRotation[1], 1)
                        if TurretRotation[1] == -50:
                            Rotation = -1
                    else:
                        print(TurretRotation[1])
                        print(Rotation)
                        TurretRotation[1] = TurretRotation[1] + 1
                        Turrets[1] = pygame.transform.rotozoom(Turret, TurretRotation[1], 1)
                        if TurretRotation[1] == 50:
                            Rotation = 1

Yes, I know, I was supposed to change the variables capital letters, and I haven't gotten around to it yet. This is the output I get from the console.

-1 = Rotate
1 = TurretRotation[1]
-1
2
-1
3
-1
4
-1
5
-1
6
-1
7
-1
8
-1
9
-1
10
-1
11
-1
12
-1
13
-1
14
-1
15
-1
16
-1
17
-1
18
-1
19
-1
20
-1
21
-1
22
-1
23
-1
24
-1
25
-1
26
-1
27
-1
28
-1
29
-1
30
-1
31
-1
32
-1
33
-1
34
-1
35
-1
36
-1
37
-1
38
-1
39
-1
40
-1
41
1
40
1
39
1
38
1
37
1
36
1
35
1
34
1
33
1
32
1
31
1
30
1
29
1
28
1
27
1
26
1
25
1
24
1
23
1
22
1
21
1
20
1
19
1
18
1
17
1
16
1
15
1
14
1
13
1
12
1
11
1
10
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
1
-1
1
-2
1
-3
1
-4
1
-5
1
-6
1
-7
1
-8
1
-9
1
-10
1
-11
1
-12
1
-13
1
-14
1
-15
1
-16
1
-17
1
-18
1
-19
1
-20
1
-21
1
-22
1
-23
1
-24
1
-25
1
-26
1
-27
1
-28
1
-29
1
-30
1
-31
1
-32
1
-33
1
-34
1
-35
1
-36
1
-37
1
-38
1
-39
1
-40
1
-41
1
-42
1
-43
1
-44
1
-45
1
-46
1
-47
1
-48
1
-49
1
-50
1
-51
1
-52
1
-53
1
-54
1
-55
1
-56
1
-57
1
-58
1
-59
1
-60
1
-61
1
-62
1
-63
1
-64
1
-65
1
-66
1
-67
1
-68
1
-69
1
-70
1
-71
1
-72
1
-73
1
-74
1
-75
1
-76
1
-77
1
-78
1
-79
1
-80
1
-81
1
-82
1
-83
1
-84
1

Solution

  • I can't run it so I can only advice - I see you have print - so see what's going on with variables. Maybe one of them is changed in different place.

    But you can do one this - use <= and >= - it should help.

    if TurretRotation[1] >= 50:
    
    if TurretRotation[1] <= -50: