
<?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=Arrows_-_Code</id>
		<title>Arrows - 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=Arrows_-_Code"/>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Arrows_-_Code&amp;action=history"/>
		<updated>2026-05-04T00:24:22Z</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=Arrows_-_Code&amp;diff=11399&amp;oldid=prev</id>
		<title>Robot at 14:17, 9 December 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Arrows_-_Code&amp;diff=11399&amp;oldid=prev"/>
				<updated>2024-12-09T14:17:12Z</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 14:17, 9 December 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: &amp;#160;&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: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Spike Prime - Arrows - Unax Murua, Eric Ayestaran, Leire Sáez de Cortázar |Arrows - Unax Murua, Eric Ayestaran, Leire Sáez de Cortázar]]&lt;/ins&gt;&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 Arrows 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 Arrows 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=Arrows_-_Code&amp;diff=11398&amp;oldid=prev</id>
		<title>Robot at 14:15, 9 December 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Arrows_-_Code&amp;diff=11398&amp;oldid=prev"/>
				<updated>2024-12-09T14:15:03Z</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 14:15, 9 December 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-l141&quot; &gt;Line 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&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;main()&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;main()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&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=Arrows_-_Code&amp;diff=11397&amp;oldid=prev</id>
		<title>Robot: Created page with &quot;Return back to project page:   Python code for the Arrows project:  &lt;syntaxhighlight lang=python&gt;  from hub import light_matrix import random import time import force_sensor,...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Arrows_-_Code&amp;diff=11397&amp;oldid=prev"/>
				<updated>2024-12-09T14:14:38Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Return back to project page:   Python code for the Arrows project:  &amp;lt;syntaxhighlight lang=python&amp;gt;  from hub import light_matrix import random import time import force_sensor,...&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: &lt;br /&gt;
&lt;br /&gt;
Python code for the Arrows project:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt; &lt;br /&gt;
from hub import light_matrix&lt;br /&gt;
import random&lt;br /&gt;
import time&lt;br /&gt;
import force_sensor, motor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
   &lt;br /&gt;
    actions = {&lt;br /&gt;
        &amp;quot;arrow_up&amp;quot;: [&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
            [0, 1, 1, 1, 0],&lt;br /&gt;
            [1, 0, 1, 0, 1],&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;arrow_down&amp;quot;: [&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
            [1, 0, 1, 0, 1],&lt;br /&gt;
            [0, 1, 1, 1, 0],&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;arrow_left&amp;quot;: [&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
            [0, 1, 0, 0, 0],&lt;br /&gt;
            [1, 1, 1, 1, 1],&lt;br /&gt;
            [0, 1, 0, 0, 0],&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;arrow_right&amp;quot;: [&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
            [0, 0, 0, 1, 0],&lt;br /&gt;
            [1, 1, 1, 1, 1],&lt;br /&gt;
            [0, 0, 0, 1, 0],&lt;br /&gt;
            [0, 0, 1, 0, 0],&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;touch_button&amp;quot;: [&lt;br /&gt;
            [0, 0, 0, 0, 0],&lt;br /&gt;
            [0, 1, 1, 1, 0],&lt;br /&gt;
            [0, 1, 1, 1, 0],&lt;br /&gt;
            [0, 1, 1, 1, 0],&lt;br /&gt;
            [0, 0, 0, 0, 0],&lt;br /&gt;
        ],&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    action_ranges = {&lt;br /&gt;
        &amp;quot;arrow_left&amp;quot;: ([-20, 20], [-100, -60]),&lt;br /&gt;
        &amp;quot;arrow_right&amp;quot;: ([-20, 20], [70, 140]),&lt;br /&gt;
        &amp;quot;arrow_up&amp;quot;: ([70, 140], [-20, 20]),&lt;br /&gt;
        &amp;quot;arrow_down&amp;quot;: ([-110, -60], [-20, 20]),&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
    def display_action(matrix):&lt;br /&gt;
        light_matrix.clear()&lt;br /&gt;
        for y, row in enumerate(matrix):&lt;br /&gt;
            for x, value in enumerate(row):&lt;br /&gt;
                light_matrix.set_pixel(x, y, 100 * value)&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    def detect_action(action_name, remaining_t):&lt;br /&gt;
        ranges = action_ranges.get(action_name)&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
        if ranges is None:# Force sensor&lt;br /&gt;
            filtered_ranges = [value for value in action_ranges.values()]&lt;br /&gt;
            starting_time = time.ticks_ms()&lt;br /&gt;
            while time.ticks_ms() - starting_time &amp;lt; remaining_t:&lt;br /&gt;
&lt;br /&gt;
                #Erroneous movement&lt;br /&gt;
                position = (motor.absolute_position(1), motor.absolute_position(5))&lt;br /&gt;
                for filtered_range in filtered_ranges: &lt;br /&gt;
                    fx_range, fy_range = filtered_range&lt;br /&gt;
                    if fx_range[0] &amp;lt;= position[0] &amp;lt;= fx_range[1] and fy_range[0] &amp;lt;= position[1] &amp;lt;= fy_range[1]:&lt;br /&gt;
                        print(&amp;quot;Erroneous movement&amp;quot;)&lt;br /&gt;
                        return False&lt;br /&gt;
&lt;br /&gt;
                #Correct action&lt;br /&gt;
                if force_sensor.force(2) &amp;gt; 0:&lt;br /&gt;
                    print(&amp;quot;Acción detectada&amp;quot;)&lt;br /&gt;
                    return True&lt;br /&gt;
                time.sleep(0.1)&lt;br /&gt;
        else:# Actions&lt;br /&gt;
            &lt;br /&gt;
            x_range, y_range = ranges&lt;br /&gt;
            filtered_ranges = [value for value in action_ranges.values() if value != ranges]&lt;br /&gt;
            starting_time = time.ticks_ms()&lt;br /&gt;
            while time.ticks_ms() - starting_time &amp;lt; remaining_t:&lt;br /&gt;
                position = (motor.absolute_position(1), motor.absolute_position(5))&lt;br /&gt;
&lt;br /&gt;
                #Erroneous movement&lt;br /&gt;
                for filtered_range in filtered_ranges: &lt;br /&gt;
                    fx_range, fy_range = filtered_range&lt;br /&gt;
                    if fx_range[0] &amp;lt;= position[0] &amp;lt;= fx_range[1] and fy_range[0] &amp;lt;= position[1] &amp;lt;= fy_range[1]:&lt;br /&gt;
                        print(&amp;quot;Erroneous movement&amp;quot;)&lt;br /&gt;
                        return False# End the game&lt;br /&gt;
&lt;br /&gt;
                #Erroneous force sensor&lt;br /&gt;
                if force_sensor.force(2) &amp;gt; 0:&lt;br /&gt;
                    print(&amp;quot;Erroneous force sensor&amp;quot;)&lt;br /&gt;
                    return False&lt;br /&gt;
&lt;br /&gt;
                #Correct action&lt;br /&gt;
                if x_range[0] &amp;lt;= position[0] &amp;lt;= x_range[1] and y_range[0] &amp;lt;= position[1] &amp;lt;= y_range[1]:&lt;br /&gt;
                    print(&amp;quot;Action detected&amp;quot;)&lt;br /&gt;
                    return True&lt;br /&gt;
                time.sleep(0.1)&lt;br /&gt;
&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    remaining_time = 5000&lt;br /&gt;
    keep_on = True&lt;br /&gt;
    score = 0&lt;br /&gt;
&lt;br /&gt;
    while remaining_time &amp;gt; 0:&lt;br /&gt;
        action_name = random.choice(list(actions.keys()))&lt;br /&gt;
        display_action(actions[action_name])&lt;br /&gt;
&lt;br /&gt;
        keep_on = detect_action(action_name, remaining_time)&lt;br /&gt;
        if not keep_on:&lt;br /&gt;
            break&lt;br /&gt;
&lt;br /&gt;
        remaining_time *= 0.95&lt;br /&gt;
&lt;br /&gt;
        light_matrix.clear()&lt;br /&gt;
        score += 1&lt;br /&gt;
        time.sleep(1)&lt;br /&gt;
&lt;br /&gt;
    light_matrix.clear()&lt;br /&gt;
    print(&amp;quot;Game Over!&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Score: &amp;quot;, score)&lt;br /&gt;
    light_matrix.write(&amp;quot;Score: &amp;quot; + str(score))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
main()&lt;/div&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	</feed>