
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=Controller_-_Code</id>
		<title>Controller - Code - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=Controller_-_Code"/>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Controller_-_Code&amp;action=history"/>
		<updated>2026-05-05T05:06:58Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.robotika.sk/robowiki/index.php?title=Controller_-_Code&amp;diff=11272&amp;oldid=prev</id>
		<title>Robot at 21:37, 22 May 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Controller_-_Code&amp;diff=11272&amp;oldid=prev"/>
				<updated>2024-05-22T21:37:39Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:37, 22 May 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Return back to project page: [[Spike Prime - Game Controller - Jakub Vojtek|Game Controller - Jakub Vojtek]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Return back to project page: [[Spike Prime - Game Controller - Jakub Vojtek|Game Controller - Jakub Vojtek]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Python code for the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Color Sorter &lt;/del&gt;project:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Python code for the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Controller &lt;/ins&gt;project:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=python&amp;gt; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=python&amp;gt; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	<entry>
		<id>https://wiki.robotika.sk/robowiki/index.php?title=Controller_-_Code&amp;diff=11256&amp;oldid=prev</id>
		<title>Robot at 19:58, 22 May 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Controller_-_Code&amp;diff=11256&amp;oldid=prev"/>
				<updated>2024-05-22T19:58:05Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 19:58, 22 May 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Return back to project page: [[Spike Prime - &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Color Sorter &lt;/del&gt;- Jakub Vojtek|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Color Sorter &lt;/del&gt;- Jakub Vojtek]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Return back to project page: [[Spike Prime - &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Game Controller &lt;/ins&gt;- Jakub Vojtek|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Game Controller &lt;/ins&gt;- Jakub Vojtek]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Python code for the Color Sorter project:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Python code for the Color Sorter project:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	<entry>
		<id>https://wiki.robotika.sk/robowiki/index.php?title=Controller_-_Code&amp;diff=11254&amp;oldid=prev</id>
		<title>Robot: Created page with &quot;Return back to project page: Color Sorter - Jakub Vojtek  Python code for the Color Sorter project:  &lt;syntaxhighlight lang=python...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Controller_-_Code&amp;diff=11254&amp;oldid=prev"/>
				<updated>2024-05-22T19:54:23Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Return back to project page: &lt;a href=&quot;/robowiki/index.php?title=Spike_Prime_-_Color_Sorter_-_Jakub_Vojtek&quot; title=&quot;Spike Prime - Color Sorter - Jakub Vojtek&quot;&gt;Color Sorter - Jakub Vojtek&lt;/a&gt;  Python code for the Color Sorter project:  &amp;lt;syntaxhighlight lang=python...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Return back to project page: [[Spike Prime - Color Sorter - Jakub Vojtek|Color Sorter - Jakub Vojtek]]&lt;br /&gt;
&lt;br /&gt;
Python code for the Color Sorter project:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt; &lt;br /&gt;
import pygame&lt;br /&gt;
import random&lt;br /&gt;
from player import Player&lt;br /&gt;
from buildhat import Motor, ForceSensor&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
running = True&lt;br /&gt;
endscreen = False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WIDTH, HEIGHT = 800, 600&lt;br /&gt;
screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.SRCALPHA)&lt;br /&gt;
pygame.display.set_caption(&amp;quot;Fighter Jet Game&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
background_image = pygame.image.load(&amp;quot;pictures/universe.jpg&amp;quot;).convert()&lt;br /&gt;
background_image = pygame.transform.scale(background_image, (WIDTH, HEIGHT))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WHITE = (255, 255, 255)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
player = Player((WIDTH - 60) // 2, HEIGHT - 70, 60, 50, 15)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
rock_image = pygame.image.load(&amp;quot;pictures/rock1.png&amp;quot;).convert_alpha()&lt;br /&gt;
rock_image = pygame.transform.scale(rock_image, (50, 50))&lt;br /&gt;
&lt;br /&gt;
comet_image = pygame.image.load(&amp;quot;pictures/comet.png&amp;quot;).convert_alpha()&lt;br /&gt;
comet_image = pygame.transform.scale(comet_image, (80, 40))&lt;br /&gt;
&lt;br /&gt;
explosion_image = pygame.image.load(&amp;quot;pictures/explosion.png&amp;quot;).convert_alpha()&lt;br /&gt;
explosion_image = pygame.transform.scale(explosion_image, (80, 80))&lt;br /&gt;
&lt;br /&gt;
heart_image = pygame.image.load(&amp;quot;pictures/heart.png&amp;quot;).convert_alpha()&lt;br /&gt;
heart_image = pygame.transform.scale(heart_image, (30, 30))&lt;br /&gt;
&lt;br /&gt;
# Game variables&lt;br /&gt;
rock_speed = 3&lt;br /&gt;
rocks = []&lt;br /&gt;
comet_speed = 5&lt;br /&gt;
comet_spawn_timer = random.randint(1000, 2000)  # Adjust spawn interval&lt;br /&gt;
comet_direction = random.choice([&amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;])&lt;br /&gt;
comet_x = -80 if comet_direction == &amp;quot;left&amp;quot; else WIDTH&lt;br /&gt;
comet_y = random.randint(50, HEIGHT - 200)&lt;br /&gt;
comet_active = False&lt;br /&gt;
player_lives = 10&lt;br /&gt;
boom_text_visible = False&lt;br /&gt;
boom_text_timer = 0&lt;br /&gt;
boom_text_duration = 1000&lt;br /&gt;
score = 0&lt;br /&gt;
shot_speed = 7&lt;br /&gt;
shots = []&lt;br /&gt;
&lt;br /&gt;
clock = pygame.time.Clock()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
font = pygame.font.SysFont(None, 48)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
steering_wheel = Motor('C')&lt;br /&gt;
laser_gun = ForceSensor('D')&lt;br /&gt;
steering_wheel.run_to_position(0)&lt;br /&gt;
&lt;br /&gt;
def handle_pressed(force):&lt;br /&gt;
    global player_lives, rocks, shots, comet_spawn_timer, comet_direction, comet_x, comet_y, comet_active, endscreen, score&lt;br /&gt;
    if endscreen:&lt;br /&gt;
        score = 0&lt;br /&gt;
        player_lives = 10&lt;br /&gt;
        rocks.clear()&lt;br /&gt;
        shots.clear()&lt;br /&gt;
        comet_spawn_timer = random.randint(1000, 2000)  # Adjusted spawn interval&lt;br /&gt;
        comet_direction = random.choice([&amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;])&lt;br /&gt;
        comet_x = -80 if comet_direction == &amp;quot;left&amp;quot; else WIDTH&lt;br /&gt;
        comet_y = random.randint(50, HEIGHT - 200)&lt;br /&gt;
        comet_active = True&lt;br /&gt;
        endscreen = False&lt;br /&gt;
    else:&lt;br /&gt;
        shot_x = player.x + (player.width - 5) // 2&lt;br /&gt;
        shot_y = player.y&lt;br /&gt;
        shots.append([shot_x, shot_y, 5, 15])&lt;br /&gt;
&lt;br /&gt;
laser_gun.when_pressed = handle_pressed&lt;br /&gt;
&lt;br /&gt;
boom_text_surface = font.render(&amp;quot;!!!BOOOOM!!!&amp;quot;, True, (255, 0, 0))&lt;br /&gt;
&lt;br /&gt;
def collision(obj1, obj2):&lt;br /&gt;
    obj1_rect = pygame.Rect(obj1[0], obj1[1], obj1[2], obj1[3])&lt;br /&gt;
    obj2_rect = pygame.Rect(obj2[0], obj2[1], obj2[2], obj2[3])&lt;br /&gt;
    return obj1_rect.colliderect(obj2_rect)&lt;br /&gt;
&lt;br /&gt;
def show_stats():&lt;br /&gt;
    for i in range(player_lives):&lt;br /&gt;
        screen.blit(heart_image, (WIDTH - (i + 1) * 35, 10))&lt;br /&gt;
    score_text = font.render(f&amp;quot;Score: {score}&amp;quot;, True, WHITE)&lt;br /&gt;
    screen.blit(score_text, (10, 10))&lt;br /&gt;
&lt;br /&gt;
def check_shot_comet_collision(comet_width, comet_height):&lt;br /&gt;
    global comet_active, score, boom_text_visible, boom_text_timer&lt;br /&gt;
    for shot in shots[:]:&lt;br /&gt;
        if comet_active and collision(shot, [comet_x, comet_y, comet_width, comet_height]):&lt;br /&gt;
            comet_active = False&lt;br /&gt;
            shots.remove(shot)&lt;br /&gt;
            score += len(rocks)&lt;br /&gt;
            rocks.clear()&lt;br /&gt;
            boom_text_visible = True&lt;br /&gt;
            boom_text_timer = pygame.time.get_ticks()&lt;br /&gt;
&lt;br /&gt;
def check_shot_rock_collision():&lt;br /&gt;
    global shots, rocks, score&lt;br /&gt;
    for shot in shots[:]:&lt;br /&gt;
        for rock in rocks[:]:&lt;br /&gt;
            if collision(shot, rock):&lt;br /&gt;
                shots.remove(shot)&lt;br /&gt;
                explosion(rock[0], rock[1])&lt;br /&gt;
                rocks.remove(rock)&lt;br /&gt;
                score += 1&lt;br /&gt;
&lt;br /&gt;
def display_boom_text():&lt;br /&gt;
    screen.blit(boom_text_surface, ((WIDTH - boom_text_surface.get_width()) // 2, HEIGHT // 4))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def explosion(x, y):&lt;br /&gt;
    screen.blit(explosion_image, (x - 20, y - 20))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def spawn_rock():&lt;br /&gt;
    global rocks&lt;br /&gt;
    if random.randint(0, 100) &amp;lt; 2:&lt;br /&gt;
        rock_x = random.randint(0, WIDTH - 50)&lt;br /&gt;
        rock_y = -50&lt;br /&gt;
        rocks.append([rock_x, rock_y, 50, 50])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def spawn_comet():&lt;br /&gt;
    global comet_spawn_timer, comet_active, comet_direction, comet_x, comet_y&lt;br /&gt;
    comet_spawn_timer -= 1&lt;br /&gt;
    if comet_spawn_timer &amp;lt;= 0:&lt;br /&gt;
        comet_spawn_timer = random.randint(1000, 2000)  # Adjusted spawn interval&lt;br /&gt;
        comet_direction = random.choice([&amp;quot;left&amp;quot;, &amp;quot;right&amp;quot;])&lt;br /&gt;
        comet_x = -80 if comet_direction == &amp;quot;left&amp;quot; else WIDTH&lt;br /&gt;
        comet_y = random.randint(50, HEIGHT - 200)&lt;br /&gt;
        comet_active = True&lt;br /&gt;
    if comet_active:&lt;br /&gt;
        if comet_direction == &amp;quot;left&amp;quot;:&lt;br /&gt;
            comet_x += comet_speed&lt;br /&gt;
        else:&lt;br /&gt;
            comet_x -= comet_speed&lt;br /&gt;
&lt;br /&gt;
def draw_rocks():&lt;br /&gt;
    global rocks&lt;br /&gt;
    for rock in rocks[:]:&lt;br /&gt;
        rock[1] += rock_speed&lt;br /&gt;
        screen.blit(rock_image, (rock[0], rock[1]))&lt;br /&gt;
&lt;br /&gt;
def draw_shots():&lt;br /&gt;
    global shots&lt;br /&gt;
    for shot in shots[:]:&lt;br /&gt;
        shot[1] -= shot_speed&lt;br /&gt;
        pygame.draw.rect(screen, (255, 0, 0), (shot[0], shot[1], shot[2], shot[3]))&lt;br /&gt;
&lt;br /&gt;
def draw_comet():&lt;br /&gt;
    global comet_active&lt;br /&gt;
    if comet_active:&lt;br /&gt;
        screen.blit(comet_image, (comet_x, comet_y))&lt;br /&gt;
&lt;br /&gt;
def check_end_game():&lt;br /&gt;
    global player_lives, endscreen&lt;br /&gt;
    for rock in rocks:&lt;br /&gt;
        if rock[1] &amp;gt; HEIGHT:&lt;br /&gt;
            rocks.remove(rock)&lt;br /&gt;
            player_lives -= 1&lt;br /&gt;
&lt;br /&gt;
    # Check if the game should end&lt;br /&gt;
    if player_lives &amp;lt;= 0:&lt;br /&gt;
        endscreen = True&lt;br /&gt;
        screen.fill((0, 0, 0))&lt;br /&gt;
        end_text = font.render(&amp;quot;Press SENSOR to play again&amp;quot;, True, WHITE)  # Changed to &amp;quot;SENSOR&amp;quot;&lt;br /&gt;
        score_text = font.render(f&amp;quot;Final Score: {score}&amp;quot;, True, WHITE)&lt;br /&gt;
        screen.blit(end_text, ((WIDTH - end_text.get_width()) // 2, (HEIGHT - end_text.get_height()) // 2))&lt;br /&gt;
        screen.blit(score_text, ((WIDTH - score_text.get_width()) // 2, (HEIGHT - score_text.get_height()) // 2 - 50))&lt;br /&gt;
&lt;br /&gt;
previous_angle = 0&lt;br /&gt;
# Main game loop&lt;br /&gt;
while running:&lt;br /&gt;
    screen.blit(background_image, (0, 0))&lt;br /&gt;
&lt;br /&gt;
    for event in pygame.event.get():&lt;br /&gt;
        if event.type == pygame.QUIT:&lt;br /&gt;
            running = False&lt;br /&gt;
&lt;br /&gt;
    current_angle = steering_wheel.get_position()&lt;br /&gt;
&lt;br /&gt;
    angle_difference = abs(current_angle - previous_angle)&lt;br /&gt;
&lt;br /&gt;
    if angle_difference &amp;gt; 5:  # Adjust sensitivity&lt;br /&gt;
        if current_angle &amp;lt; previous_angle:&lt;br /&gt;
            player.move_left()&lt;br /&gt;
        else:&lt;br /&gt;
            player.move_right()&lt;br /&gt;
&lt;br /&gt;
        # Ensure player stays within the screen boundaries&lt;br /&gt;
        player.x = max(0, min(player.x, WIDTH - player.width))&lt;br /&gt;
        previous_angle = current_angle&lt;br /&gt;
&lt;br /&gt;
    spawn_rock()&lt;br /&gt;
    spawn_comet()&lt;br /&gt;
    draw_shots()&lt;br /&gt;
    draw_rocks()&lt;br /&gt;
    draw_comet()&lt;br /&gt;
&lt;br /&gt;
    check_shot_comet_collision(80, 40)&lt;br /&gt;
    check_shot_rock_collision()&lt;br /&gt;
&lt;br /&gt;
    # Draw player&lt;br /&gt;
    screen.blit(player.image, (player.x, player.y))&lt;br /&gt;
&lt;br /&gt;
    check_end_game()&lt;br /&gt;
    show_stats()&lt;br /&gt;
&lt;br /&gt;
    if boom_text_visible:&lt;br /&gt;
        display_boom_text()&lt;br /&gt;
        if pygame.time.get_ticks() - boom_text_timer &amp;gt;= boom_text_duration:&lt;br /&gt;
            boom_text_visible = False&lt;br /&gt;
&lt;br /&gt;
    pygame.display.flip()&lt;br /&gt;
    clock.tick(30)  # Reduced frame rate&lt;br /&gt;
&lt;br /&gt;
pygame.quit()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	</feed>