
<?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=Even_Odd_game_-_Code_V3</id>
		<title>Even Odd game - Code V3 - 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=Even_Odd_game_-_Code_V3"/>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Even_Odd_game_-_Code_V3&amp;action=history"/>
		<updated>2026-05-05T06:33:07Z</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=Even_Odd_game_-_Code_V3&amp;diff=10885&amp;oldid=prev</id>
		<title>Robot at 08:00, 8 June 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Even_Odd_game_-_Code_V3&amp;diff=10885&amp;oldid=prev"/>
				<updated>2023-06-08T08:00:28Z</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 08:00, 8 June 2023&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-l27&quot; &gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&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;#160;&amp;#160; &amp;#160; def update_score(self, new_score):&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;#160;&amp;#160; &amp;#160; def update_score(self, new_score):&lt;/div&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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;self.&lt;/del&gt;motor.run_for_degrees((new_score - self.scorePlayer) * 30 * self.invert_move)&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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; motor.run_for_degrees(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;self.motor,&lt;/ins&gt;(new_score - self.scorePlayer) * 30 * self.invert_move&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, 500&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;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self.scorePlayer = new_score&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;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; self.scorePlayer = new_score&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;/table&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	<entry>
		<id>https://wiki.robotika.sk/robowiki/index.php?title=Even_Odd_game_-_Code_V3&amp;diff=10883&amp;oldid=prev</id>
		<title>Robot: Created page with &quot;Return back to project page: Even Odd game - Fedor Agarshev  Python code for the Even Odd game project:  &lt;syntaxhighlight lang...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=Even_Odd_game_-_Code_V3&amp;diff=10883&amp;oldid=prev"/>
				<updated>2023-06-06T21:02:10Z</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_-_Even_Odd_game_-_Fedor_Agarshev&quot; title=&quot;Spike Prime - Even Odd game - Fedor Agarshev&quot;&gt;Even Odd game - Fedor Agarshev&lt;/a&gt;  Python code for the Even Odd game project:  &amp;lt;syntaxhighlight lang...&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 - Even Odd game - Fedor Agarshev|Even Odd game - Fedor Agarshev]]&lt;br /&gt;
&lt;br /&gt;
Python code for the Even Odd game project:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt; &lt;br /&gt;
from hub import port, light_matrix, speaker&lt;br /&gt;
import motor, force_sensor, color_sensor&lt;br /&gt;
import color&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pointMotor1 = port.B&lt;br /&gt;
pointMotor2 = port.D&lt;br /&gt;
motorForBet = port.A&lt;br /&gt;
buttonForceSensor = port.E&lt;br /&gt;
colorSensor = port.F&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
motor.run_to_relative_position(pointMotor1,0,1000)&lt;br /&gt;
motor.run_to_relative_position(pointMotor2,0,1000)&lt;br /&gt;
&lt;br /&gt;
class player:&lt;br /&gt;
    def __init__(self, name, motor, invert_move = 1):&lt;br /&gt;
        self.name = name&lt;br /&gt;
        self.scorePlayer = 10&lt;br /&gt;
        self.motor = motor&lt;br /&gt;
        self.invert_move = invert_move&lt;br /&gt;
&lt;br /&gt;
    def update_score(self, new_score):&lt;br /&gt;
        self.motor.run_for_degrees((new_score - self.scorePlayer) * 30 * self.invert_move)&lt;br /&gt;
        self.scorePlayer = new_score&lt;br /&gt;
&lt;br /&gt;
Player1 = player(&amp;quot;Player1&amp;quot;, pointMotor1) #You can change the name if you want.&lt;br /&gt;
Player2 = player(&amp;quot;Player2&amp;quot;, pointMotor2, -1) #You can change the name if you want.&lt;br /&gt;
&lt;br /&gt;
def update_score(new_score1, new_score2, whos_betting, who_chooses):&lt;br /&gt;
    whos_betting.update_score(new_score1)&lt;br /&gt;
    who_chooses.update_score(new_score2)&lt;br /&gt;
&lt;br /&gt;
def choice_of_bet():&lt;br /&gt;
    global Player1, Player2&lt;br /&gt;
    bet = 0&lt;br /&gt;
    motor.reset_relative_position(motorForBet, 0)&lt;br /&gt;
    light_matrix.write(str(bet))&lt;br /&gt;
    while not force_sensor.is_pressed(buttonForceSensor):&lt;br /&gt;
            if 20 &amp;lt; motor.relative_position(motorForBet) :&lt;br /&gt;
                if bet &amp;lt; Player1.scorePlayer and bet &amp;lt; Player2.scorePlayer:&lt;br /&gt;
                    bet += 1&lt;br /&gt;
                motor.reset_relative_position(motorForBet, 0)&lt;br /&gt;
                light_matrix.write(str(bet))&lt;br /&gt;
            if -20 &amp;gt; motor.relative_position(motorForBet) :&lt;br /&gt;
                if bet != 0:&lt;br /&gt;
                    bet -= 1&lt;br /&gt;
                motor.reset_relative_position(motorForBet, 0)&lt;br /&gt;
                light_matrix.write(str(bet))&lt;br /&gt;
&lt;br /&gt;
    return bet&lt;br /&gt;
&lt;br /&gt;
def choice_even_or_odd(bet, whos_betting, who_chooses):&lt;br /&gt;
    while color_sensor.color(colorSensor) != color.RED and color_sensor.color(colorSensor) != color.GREEN:&lt;br /&gt;
        pass&lt;br /&gt;
    color1 = color_sensor.color(colorSensor)&lt;br /&gt;
    if (color1 == color.RED and bet % 2 == 0) or (color1 == color.GREEN and bet % 2 != 0):&lt;br /&gt;
        speaker.beep(600, 500, 50)&lt;br /&gt;
        speaker.beep(640, 500, 50)&lt;br /&gt;
        speaker.beep(600, 500, 50)&lt;br /&gt;
        new_score1 = whos_betting.scorePlayer - bet&lt;br /&gt;
        new_score2 = who_chooses.scorePlayer + bet&lt;br /&gt;
    else :&lt;br /&gt;
        speaker.beep(800, 500, 50)&lt;br /&gt;
        speaker.beep(840, 500, 50)&lt;br /&gt;
        speaker.beep(800, 500, 50)&lt;br /&gt;
        new_score1 = whos_betting.scorePlayer + bet&lt;br /&gt;
        new_score2 = who_chooses.scorePlayer - bet&lt;br /&gt;
    return new_score1, new_score2&lt;br /&gt;
&lt;br /&gt;
def game():&lt;br /&gt;
    global Player1, Player2&lt;br /&gt;
    whos_betting = Player1&lt;br /&gt;
    who_chooses = Player2&lt;br /&gt;
    while whos_betting.scorePlayer != 0 and who_chooses.scorePlayer != 0:&lt;br /&gt;
        light_matrix.write(whos_betting.name + &amp;quot; makes a bet&amp;quot;)&lt;br /&gt;
        bet = choice_of_bet()&lt;br /&gt;
        speaker.beep(700, 500, 50)&lt;br /&gt;
        new_score1, new_score2 = choice_even_or_odd(bet, whos_betting, who_chooses)&lt;br /&gt;
        update_score(new_score1, new_score2, whos_betting, who_chooses)&lt;br /&gt;
        whos_betting, who_chooses = who_chooses, whos_betting&lt;br /&gt;
    if Player1.scorePlayer &amp;gt; Player2.scorePlayer:&lt;br /&gt;
        light_matrix.write(Player1.name + &amp;quot; win!&amp;quot;)&lt;br /&gt;
    else :&lt;br /&gt;
        light_matrix.write(Player2.name + &amp;quot; win!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
game()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robot</name></author>	</entry>

	</feed>