{"id":6847,"date":"2021-09-04T01:09:08","date_gmt":"2021-09-03T18:09:08","guid":{"rendered":"https:\/\/www.phidgets.com\/education\/?page_id=6847"},"modified":"2022-08-26T23:24:07","modified_gmt":"2022-08-26T16:24:07","slug":"simon-says","status":"publish","type":"page","link":"https:\/\/www.phidgets.com\/education\/learn\/projects\/simon-says\/","title":{"rendered":"Simon Says"},"content":{"rendered":"<p>[et_pb_section bb_built=&#8221;1&#8243; specialty=&#8221;off&#8221; next_background_color=&#8221;#000000&#8243; _builder_version=&#8221;4.4.1&#8243; custom_padding=&#8221;||0px|&#8221; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_row _builder_version=&#8221;4.4.1&#8243; use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;3&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column type=&#8221;1_2&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221;][et_pb_code admin_label=&#8221;Simon Says&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<div class=\"ph-overline-text\"><!-- [et_pb_line_break_holder] -->    <a href=\"\/education\/learn\/projects\">Projects<\/a><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<h1>Simon Says<\/h1>\n<p>[\/et_pb_code][et_pb_code admin_label=&#8221;Description&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<pee>Use your Getting Started Kit to create a Simon Says memory game!<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;ph-button-cta: Start&#8221; _builder_version=&#8221;4.4.1&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<a class=\"ph-button-cta\" href=\"#setup\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"ph-button-cta__icon\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->  Start<!-- [et_pb_line_break_holder] --><\/a>[\/et_pb_code][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221;][et_pb_image _builder_version=&#8221;4.18.0&#8243; src=&#8221;https:\/\/www.phidgets.com\/education\/wp-content\/uploads\/2022\/08\/simonsays_title.jpg&#8221; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; background_pattern_color=&#8221;rgba(0,0,0,0.2)&#8221; background_mask_color=&#8221;#ffffff&#8221; \/][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section bb_built=&#8221;1&#8243; specialty=&#8221;on&#8221; _builder_version=&#8221;4.4.1&#8243; use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;3&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; prev_background_color=&#8221;#000000&#8243;][et_pb_column type=&#8221;1_4&#8243;][et_pb_code admin_label=&#8221;ph-vertical-nav&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; saved_tabs=&#8221;all&#8221;]<\/p>\n<div class=\"ph-vertical-nav ph-vertical-sticky\"><!-- [et_pb_line_break_holder] -->  <a href=\"#prereq\" class=\"ph-vertical-nav-item\">Prerequisites<\/a><!-- [et_pb_line_break_holder] -->  <a href=\"#setup\" class=\"ph-vertical-nav-item\">Setup<\/a><!-- [et_pb_line_break_holder] -->  <a href=\"#write-code\" class=\"ph-vertical-nav-item\">Write Code<\/a><!-- [et_pb_line_break_holder] -->  <a href=\"#run-code\" class=\"ph-vertical-nav-item\">Run Program<\/a><!-- [et_pb_line_break_holder] -->  <a href=\"#practice\" class=\"ph-vertical-nav-item\">Practice<\/a><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][et_pb_column type=&#8221;3_4&#8243; specialty_columns=&#8221;3&#8243;][et_pb_row_inner _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_id=&#8221;prereq&#8221;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Prerequisites&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_id=&#8221;setup&#8221;]<\/p>\n<h2>Prerequisites<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>This project assumes you are familiar with the following<\/pee><!-- [et_pb_line_break_holder] --><\/p>\n<ul><!-- [et_pb_line_break_holder] --><\/p>\n<li><a href=\"\/education\/learn\/getting-started-kit-tutorial\/dataevents_1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Getting Started Kit &#8211; Advanced Lessons &#8211; Button Events<\/a><\/li>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<li><a href=\"\/education\/learn\/getting-started-kit-tutorial\/getting-started-kit-advanced-9-errors\/\" target=\"_blank\" rel=\"noopener noreferrer\">Getting Started Kit &#8211; Advanced Lessons &#8211;  Error Handling<\/a><\/li>\n<p><!-- [et_pb_line_break_holder] --><\/ul>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_id=&#8221;setup&#8221;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Setup&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_id=&#8221;setup&#8221;]<\/p>\n<h2>Setup<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>All you need for this project is the Getting Started Kit.<\/strong><\/pee>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.4.1&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; custom_padding=&#8221;||0px|&#8221;][et_pb_column_inner type=&#8221;1_3&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Part: GSK&#8221; _builder_version=&#8221;4.18.0&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; saved_tabs=&#8221;all&#8221; background_pattern_color=&#8221;rgba(0,0,0,0.2)&#8221; background_mask_color=&#8221;#ffffff&#8221; global_module=&#8221;8489&#8243;]<\/p>\n<div class=\"ph-part-card\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"ph-part-card__top\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"ph-part-card__type\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"ph-overline-text\"><!-- [et_pb_line_break_holder] -->        <a href=\"\">Kit\/<\/a><!-- [et_pb_line_break_holder] -->        <a href=\"\">Getting Started Kit<\/a><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"ph-part-card__title\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<h3>Getting Started Kit<\/h3>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"ph-part-card__bottom\"><!-- [et_pb_line_break_holder] -->    <img decoding=\"async\" src=\"\/education\/wp-content\/uploads\/2022\/08\/KIT4003_2_Square.jpg\" ><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column_inner][et_pb_column_inner type=&#8221;1_3&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][\/et_pb_column_inner][et_pb_column_inner type=&#8221;1_3&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.4.1&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; custom_padding=&#8221;||0px|&#8221;][et_pb_column_inner type=&#8221;1_3&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][\/et_pb_column_inner][et_pb_column_inner type=&#8221;1_3&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][\/et_pb_column_inner][et_pb_column_inner type=&#8221;1_3&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221; disabled_on=&#8221;off|off|off&#8221; disabled=&#8221;off&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_id=&#8221;write-code&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221; (invisible anchor)&#8221; _builder_version=&#8221;4.4.1&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_id=&#8221;move&#8221; module_class=&#8221;ph-hidden-anchor&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; \/][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-java&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Write code Java&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write code (Java)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Copy the code below into a new Java project. If you need a reminder of how to do this, revisit the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/configure-ide\">Getting Started Course.<\/a><!\u2013- [et_pb_br_holder] -\u2013><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->Not your programming language? <a class=\"ph-toggle-settings\">Set your preferences<\/a> so we can display relevant code examples<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample &#8211; Eclipse&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_class=&#8221;ph-user-eclipse&#8221;]<\/p>\n<pre class=\"language-java\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->\/\/Add Phidgets Library.<!-- [et_pb_line_break_holder] -->import com.phidget22.*;<!-- [et_pb_line_break_holder] -->import java.util.ArrayList;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->public class SimonSays {<!-- [et_pb_line_break_holder] -->    \/\/Track number of button events<!-- [et_pb_line_break_holder] -->    public static int numEvents = 0;    <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    public static void main(String[] args) throws Exception {        <!-- [et_pb_line_break_holder] -->        \/\/Track user input and solutions<!-- [et_pb_line_break_holder] -->        ArrayList&lt;Integer&gt; sequenceKey = new ArrayList&lt;&gt;();<!-- [et_pb_line_break_holder] -->        ArrayList&lt;Integer&gt; userAnswer = new ArrayList&lt;&gt;();<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Determine starting # of colors<!-- [et_pb_line_break_holder] -->        int numColors = 3; <!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Determine if game should continue looping<!-- [et_pb_line_break_holder] -->        boolean continueGame = true; <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        \/\/Create<!-- [et_pb_line_break_holder] -->        DigitalInput redButton = new DigitalInput();<!-- [et_pb_line_break_holder] -->        DigitalOutput redLED = new DigitalOutput();<!-- [et_pb_line_break_holder] -->        DigitalInput greenButton = new DigitalInput();<!-- [et_pb_line_break_holder] -->        DigitalOutput greenLED = new DigitalOutput();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Address<!-- [et_pb_line_break_holder] -->        redButton.setHubPort(0);<!-- [et_pb_line_break_holder] -->        redButton.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] -->        redLED.setHubPort(1);<!-- [et_pb_line_break_holder] -->        redLED.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] -->        greenButton.setHubPort(5);<!-- [et_pb_line_break_holder] -->        greenButton.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] -->        greenLED.setHubPort(4);<!-- [et_pb_line_break_holder] -->        greenLED.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Event for red button<!-- [et_pb_line_break_holder] -->        redButton.addStateChangeListener(new DigitalInputStateChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onStateChange(DigitalInputStateChangeEvent e) {<!-- [et_pb_line_break_holder] -->                try{<!-- [et_pb_line_break_holder] -->                    redLED.setState(e.getState());<!-- [et_pb_line_break_holder] -->                    if (e.getState()) {<!-- [et_pb_line_break_holder] -->                        userAnswer.add(0);<!-- [et_pb_line_break_holder] -->                        numEvents++;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                } catch(PhidgetException ex){<!-- [et_pb_line_break_holder] -->                    System.out.println(\"Error: \" + ex);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Event for green button<!-- [et_pb_line_break_holder] -->        greenButton.addStateChangeListener(new DigitalInputStateChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onStateChange(DigitalInputStateChangeEvent e) {<!-- [et_pb_line_break_holder] -->                try{<!-- [et_pb_line_break_holder] -->                    greenLED.setState(e.getState());<!-- [et_pb_line_break_holder] -->                    if (e.getState()) {<!-- [et_pb_line_break_holder] -->                        userAnswer.add(1);<!-- [et_pb_line_break_holder] -->                        numEvents++;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                }catch(PhidgetException ex){<!-- [et_pb_line_break_holder] -->                    System.out.println(\"Failure: \" + ex);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Open <!-- [et_pb_line_break_holder] -->        redLED.open(1000);<!-- [et_pb_line_break_holder] -->        greenLED.open(1000);<!-- [et_pb_line_break_holder] -->        redButton.open(1000);        <!-- [et_pb_line_break_holder] -->        greenButton.open(1000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        System.out.println(\"Starting game, look at the LEDs.\");<!-- [et_pb_line_break_holder] -->        Thread.sleep(2000);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Game loop<!-- [et_pb_line_break_holder] -->        while (continueGame) {<!-- [et_pb_line_break_holder] -->            \/\/Generate answer key for this round<!-- [et_pb_line_break_holder] -->            sequenceKey.clear();             <!-- [et_pb_line_break_holder] -->            for (int i = 0; i &lt; numColors; i++) {<!-- [et_pb_line_break_holder] -->                sequenceKey.add((int) (Math.random() * 2)); \/\/randomly generate either 0 or 1<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Flash the answer key for user to memorize<!-- [et_pb_line_break_holder] -->            for (int i = 0; i &lt; sequenceKey.size(); i++) {<!-- [et_pb_line_break_holder] -->                if (sequenceKey.get(i) == 0){ \/\/0 is assigned to red<!-- [et_pb_line_break_holder] -->                    redLED.setState(true);<!-- [et_pb_line_break_holder] -->                    Thread.sleep(500);<!-- [et_pb_line_break_holder] -->                    redLED.setState(false);<!-- [et_pb_line_break_holder] -->                } <!-- [et_pb_line_break_holder] -->                else{ \/\/1 is assigned to green<!-- [et_pb_line_break_holder] -->                    greenLED.setState(true);<!-- [et_pb_line_break_holder] -->                    Thread.sleep(500);<!-- [et_pb_line_break_holder] -->                    greenLED.setState(false);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                Thread.sleep(500);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/reset before accepting answers<!-- [et_pb_line_break_holder] -->            numEvents = 0; <!-- [et_pb_line_break_holder] -->            userAnswer.clear();<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            System.out.println(\"Please enter your answer:\");<!-- [et_pb_line_break_holder] -->            \/\/Wait for user input<!-- [et_pb_line_break_holder] -->            while (numEvents &lt; sequenceKey.size()){<!-- [et_pb_line_break_holder] -->                Thread.sleep(150);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Compare user answers to key<!-- [et_pb_line_break_holder] -->            for (int i = 0; i &lt; sequenceKey.size(); i++) {<!-- [et_pb_line_break_holder] -->                if (userAnswer.get(i) != sequenceKey.get(i)) {<!-- [et_pb_line_break_holder] -->                    System.out.println(\"Game Over! You reached level: \" + (numColors-3));<!-- [et_pb_line_break_holder] -->                    continueGame = false;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (continueGame)<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                \/\/Indicates the user got the sequence correct<!-- [et_pb_line_break_holder] -->                System.out.println(\"Congrats! Starting next level...\");<!-- [et_pb_line_break_holder] -->                Thread.sleep(2000);<!-- [et_pb_line_break_holder] -->                numColors++;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample &#8211; Netbeans&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_class=&#8221;ph-user-netbeans&#8221;]<\/p>\n<pre class=\"language-java\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->package simonsays;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/Add Phidgets Library.<!-- [et_pb_line_break_holder] -->import com.phidget22.*;<!-- [et_pb_line_break_holder] -->import java.util.ArrayList;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->public class SimonSays {<!-- [et_pb_line_break_holder] -->    \/\/Track number of button events<!-- [et_pb_line_break_holder] -->    public static int numEvents = 0;    <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    public static void main(String[] args) throws Exception {        <!-- [et_pb_line_break_holder] -->        \/\/Track user input and solutions<!-- [et_pb_line_break_holder] -->        ArrayList&lt;Integer&gt; sequenceKey = new ArrayList&lt;&gt;();<!-- [et_pb_line_break_holder] -->        ArrayList&lt;Integer&gt; userAnswer = new ArrayList&lt;&gt;();<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Determine starting # of colors<!-- [et_pb_line_break_holder] -->        int numColors = 3; <!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Determine if game should continue looping<!-- [et_pb_line_break_holder] -->        boolean continueGame = true; <!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        \/\/Create<!-- [et_pb_line_break_holder] -->        DigitalInput redButton = new DigitalInput();<!-- [et_pb_line_break_holder] -->        DigitalOutput redLED = new DigitalOutput();<!-- [et_pb_line_break_holder] -->        DigitalInput greenButton = new DigitalInput();<!-- [et_pb_line_break_holder] -->        DigitalOutput greenLED = new DigitalOutput();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Address<!-- [et_pb_line_break_holder] -->        redButton.setHubPort(0);<!-- [et_pb_line_break_holder] -->        redButton.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] -->        redLED.setHubPort(1);<!-- [et_pb_line_break_holder] -->        redLED.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] -->        greenButton.setHubPort(5);<!-- [et_pb_line_break_holder] -->        greenButton.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] -->        greenLED.setHubPort(4);<!-- [et_pb_line_break_holder] -->        greenLED.setIsHubPortDevice(true);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Event for red button<!-- [et_pb_line_break_holder] -->        redButton.addStateChangeListener(new DigitalInputStateChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onStateChange(DigitalInputStateChangeEvent e) {<!-- [et_pb_line_break_holder] -->                try{<!-- [et_pb_line_break_holder] -->                    redLED.setState(e.getState());<!-- [et_pb_line_break_holder] -->                    if (e.getState()) {<!-- [et_pb_line_break_holder] -->                        userAnswer.add(0);<!-- [et_pb_line_break_holder] -->                        numEvents++;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                } catch(PhidgetException ex){<!-- [et_pb_line_break_holder] -->                    System.out.println(\"Error: \" + ex);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Event for green button<!-- [et_pb_line_break_holder] -->        greenButton.addStateChangeListener(new DigitalInputStateChangeListener() {<!-- [et_pb_line_break_holder] -->            public void onStateChange(DigitalInputStateChangeEvent e) {<!-- [et_pb_line_break_holder] -->                try{<!-- [et_pb_line_break_holder] -->                    greenLED.setState(e.getState());<!-- [et_pb_line_break_holder] -->                    if (e.getState()) {<!-- [et_pb_line_break_holder] -->                        userAnswer.add(1);<!-- [et_pb_line_break_holder] -->                        numEvents++;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                }catch(PhidgetException ex){<!-- [et_pb_line_break_holder] -->                    System.out.println(\"Failure: \" + ex);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Open <!-- [et_pb_line_break_holder] -->        redLED.open(1000);<!-- [et_pb_line_break_holder] -->        greenLED.open(1000);<!-- [et_pb_line_break_holder] -->        redButton.open(1000);        <!-- [et_pb_line_break_holder] -->        greenButton.open(1000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        System.out.println(\"Starting game, look at the LEDs.\");<!-- [et_pb_line_break_holder] -->        Thread.sleep(2000);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/Game loop<!-- [et_pb_line_break_holder] -->        while (continueGame) {<!-- [et_pb_line_break_holder] -->            \/\/Generate answer key for this round<!-- [et_pb_line_break_holder] -->            sequenceKey.clear();             <!-- [et_pb_line_break_holder] -->            for (int i = 0; i &lt; numColors; i++) {<!-- [et_pb_line_break_holder] -->                sequenceKey.add((int) (Math.random() * 2)); \/\/randomly generate either 0 or 1<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Flash the answer key for user to memorize<!-- [et_pb_line_break_holder] -->            for (int i = 0; i &lt; sequenceKey.size(); i++) {<!-- [et_pb_line_break_holder] -->                if (sequenceKey.get(i) == 0){ \/\/0 is assigned to red<!-- [et_pb_line_break_holder] -->                    redLED.setState(true);<!-- [et_pb_line_break_holder] -->                    Thread.sleep(500);<!-- [et_pb_line_break_holder] -->                    redLED.setState(false);<!-- [et_pb_line_break_holder] -->                } <!-- [et_pb_line_break_holder] -->                else{ \/\/1 is assigned to green<!-- [et_pb_line_break_holder] -->                    greenLED.setState(true);<!-- [et_pb_line_break_holder] -->                    Thread.sleep(500);<!-- [et_pb_line_break_holder] -->                    greenLED.setState(false);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                Thread.sleep(500);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/reset before accepting answers<!-- [et_pb_line_break_holder] -->            numEvents = 0; <!-- [et_pb_line_break_holder] -->            userAnswer.clear();<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            System.out.println(\"Please enter your answer:\");<!-- [et_pb_line_break_holder] -->            \/\/Wait for user input<!-- [et_pb_line_break_holder] -->            while (numEvents &lt; sequenceKey.size()){<!-- [et_pb_line_break_holder] -->                Thread.sleep(150);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Compare user answers to key<!-- [et_pb_line_break_holder] -->            for (int i = 0; i &lt; sequenceKey.size(); i++) {<!-- [et_pb_line_break_holder] -->                if (userAnswer.get(i) != sequenceKey.get(i)) {<!-- [et_pb_line_break_holder] -->                    System.out.println(\"Game Over! You reached level: \" + (numColors-3));<!-- [et_pb_line_break_holder] -->                    continueGame = false;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (continueGame)<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                \/\/Indicates the user got the sequence correct<!-- [et_pb_line_break_holder] -->                System.out.println(\"Congrats! Starting next level...\");<!-- [et_pb_line_break_holder] -->                Thread.sleep(2000);<!-- [et_pb_line_break_holder] -->                numColors++;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample &#8211; Processing&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_class=&#8221;ph-user-processing&#8221;]<\/p>\n<pre class=\"language-java\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->Code not available.<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-python&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Write code Python&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write code (Python)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Copy the code below into a new Python project. If you need a reminder of how to do this, revisit the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/configure-ide\">Getting Started Course.<\/a><!\u2013- [et_pb_br_holder] -\u2013><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->Not your programming language? <a class=\"ph-toggle-settings\">Set your preferences<\/a> so we can display relevant code examples<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<pre class=\"language-python\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->#Add Phidgets Library <!-- [et_pb_line_break_holder] -->from Phidget22.Phidget import *<!-- [et_pb_line_break_holder] -->from Phidget22.Devices.DigitalInput import *<!-- [et_pb_line_break_holder] -->from Phidget22.Devices.DigitalOutput import *<!-- [et_pb_line_break_holder] -->#Required for sleep statement <!-- [et_pb_line_break_holder] -->import time<!-- [et_pb_line_break_holder] -->#Required for random number generator<!-- [et_pb_line_break_holder] -->import random<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Track number of button events<!-- [et_pb_line_break_holder] -->num_events = 0<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Track user input and solution<!-- [et_pb_line_break_holder] -->sequence_key = []<!-- [et_pb_line_break_holder] -->user_answer = []<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Determine starting # of colors<!-- [et_pb_line_break_holder] -->num_colors = 3<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Determine if game should continue looping<!-- [et_pb_line_break_holder] -->continue_game = True<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Event<!-- [et_pb_line_break_holder] -->def onRedButton_StateChange(self, state):<!-- [et_pb_line_break_holder] -->    global num_events<!-- [et_pb_line_break_holder] -->    redLED.setState(state)<!-- [et_pb_line_break_holder] -->    if (state):<!-- [et_pb_line_break_holder] -->        user_answer.append(0)<!-- [et_pb_line_break_holder] -->        num_events += 1<!-- [et_pb_line_break_holder] -->#Event<!-- [et_pb_line_break_holder] -->def onGreenButton_StateChange(self, state):<!-- [et_pb_line_break_holder] -->    global num_events<!-- [et_pb_line_break_holder] -->    greenLED.setState(state)<!-- [et_pb_line_break_holder] -->    if (state):<!-- [et_pb_line_break_holder] -->        user_answer.append(1)<!-- [et_pb_line_break_holder] -->        num_events += 1 <!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->#Create <!-- [et_pb_line_break_holder] -->redButton = DigitalInput()<!-- [et_pb_line_break_holder] -->redLED =  DigitalOutput()<!-- [et_pb_line_break_holder] -->greenButton = DigitalInput()<!-- [et_pb_line_break_holder] -->greenLED = DigitalOutput()<!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->#Address <!-- [et_pb_line_break_holder] -->redButton.setHubPort(0)<!-- [et_pb_line_break_holder] -->redButton.setIsHubPortDevice(True)<!-- [et_pb_line_break_holder] -->redLED.setHubPort(1)<!-- [et_pb_line_break_holder] -->redLED.setIsHubPortDevice(True)<!-- [et_pb_line_break_holder] -->greenButton.setHubPort(5)<!-- [et_pb_line_break_holder] -->greenButton.setIsHubPortDevice(True)<!-- [et_pb_line_break_holder] -->greenLED.setHubPort(4)<!-- [et_pb_line_break_holder] -->greenLED.setIsHubPortDevice(True)<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Subscribe to Events <!-- [et_pb_line_break_holder] -->redButton.setOnStateChangeHandler(onRedButton_StateChange)<!-- [et_pb_line_break_holder] -->greenButton.setOnStateChangeHandler(onGreenButton_StateChange)<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Open <!-- [et_pb_line_break_holder] -->redLED.openWaitForAttachment(1000)<!-- [et_pb_line_break_holder] -->greenLED.openWaitForAttachment(1000)<!-- [et_pb_line_break_holder] -->redButton.openWaitForAttachment(1000)<!-- [et_pb_line_break_holder] -->greenButton.openWaitForAttachment(1000)<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->print(\"Starting game, look at the LEDS.\")<!-- [et_pb_line_break_holder] -->time.sleep(2)<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->#Game loop<!-- [et_pb_line_break_holder] -->while (continue_game):<!-- [et_pb_line_break_holder] -->    #Generate answer key for this round<!-- [et_pb_line_break_holder] -->    sequence_key.clear()<!-- [et_pb_line_break_holder] -->    for i in range(num_colors):<!-- [et_pb_line_break_holder] -->        sequence_key.append(int(random.random() * 2)) #randomly generate either 0 or 1<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    #Flash the answer key for user to memorize<!-- [et_pb_line_break_holder] -->    for i in range(len(sequence_key)):<!-- [et_pb_line_break_holder] -->        if sequence_key[i] == 0: #0 is assigned to red<!-- [et_pb_line_break_holder] -->            redLED.setState(True)<!-- [et_pb_line_break_holder] -->            time.sleep(0.5)<!-- [et_pb_line_break_holder] -->            redLED.setState(False)            <!-- [et_pb_line_break_holder] -->        else: #1 is assigned to green<!-- [et_pb_line_break_holder] -->            greenLED.setState(True)<!-- [et_pb_line_break_holder] -->            time.sleep(0.5)<!-- [et_pb_line_break_holder] -->            greenLED.setState(False)<!-- [et_pb_line_break_holder] -->        time.sleep(0.5)<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    #Reset before accepting answers<!-- [et_pb_line_break_holder] -->    num_events = 0<!-- [et_pb_line_break_holder] -->    user_answer.clear()<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    print(\"Please enter your answer:\")<!-- [et_pb_line_break_holder] -->    #Wait for user input<!-- [et_pb_line_break_holder] -->    while (num_events < len(sequence_key)):<!-- [et_pb_line_break_holder] -->        time.sleep(0.1)<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    #Compare user answers to answer key<!-- [et_pb_line_break_holder] -->    for i in range(len(sequence_key)):<!-- [et_pb_line_break_holder] -->        if user_answer[i] != sequence_key[i]:<!-- [et_pb_line_break_holder] -->            print(\"Game Over! You reached level: \" + str(num_colors-3) +\"\\n\")<!-- [et_pb_line_break_holder] -->            continue_game = False  <!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->    if (continue_game):<!-- [et_pb_line_break_holder] -->        print(\"Congrats! Starting next level...\")<!-- [et_pb_line_break_holder] -->        time.sleep(2)<!-- [et_pb_line_break_holder] -->        num_colors += 1 #Increase difficulty for next level<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-csharp&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Write code C#&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write code (C#)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Copy the code below into a new C# project. If you need a reminder of how to do this, revisit the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/configure-ide\">Getting Started Course.<\/a><!\u2013- [et_pb_br_holder] -\u2013><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->Not your programming language? <a class=\"ph-toggle-settings\">Set your preferences<\/a> so we can display relevant code examples<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<pre class=\"language-csharp\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->\/\/Add Phidgets Library<!-- [et_pb_line_break_holder] -->using Phidget22;<!-- [et_pb_line_break_holder] -->using System.Collections;<!-- [et_pb_line_break_holder] -->using System.Collections.Generic;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->namespace SimonSays<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] -->    class Program<!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->        \/\/Track number of button events<!-- [et_pb_line_break_holder] -->        static int numEvents = 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Track user input and solutions<!-- [et_pb_line_break_holder] -->        public static List&lt;int&gt; sequenceKey = new List&lt;int&gt;();<!-- [et_pb_line_break_holder] -->        public static List&lt;int&gt; userAnswer = new List&lt;int&gt;();<!-- [et_pb_line_break_holder] -->        \/\/public static ArrayList sequenceKey = new ArrayList();<!-- [et_pb_line_break_holder] -->        \/\/public static ArrayList userAnswer = new ArrayList();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Define here so they can be used in events<!-- [et_pb_line_break_holder] -->        public static DigitalOutput redLED;<!-- [et_pb_line_break_holder] -->        public static DigitalOutput greenLED;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Event<!-- [et_pb_line_break_holder] -->        private static void redButton_StateChange(object sender, Phidget22.Events.DigitalInputStateChangeEventArgs e)<!-- [et_pb_line_break_holder] -->        {<!-- [et_pb_line_break_holder] -->            redLED.State = e.State;<!-- [et_pb_line_break_holder] -->            if (e.State)<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                userAnswer.Add(0);<!-- [et_pb_line_break_holder] -->                numEvents++;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/Event<!-- [et_pb_line_break_holder] -->        private static void greenButton_StateChange(object sender, Phidget22.Events.DigitalInputStateChangeEventArgs e)<!-- [et_pb_line_break_holder] -->        {<!-- [et_pb_line_break_holder] -->            greenLED.State = e.State;<!-- [et_pb_line_break_holder] -->            if (e.State)<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                userAnswer.Add(1);<!-- [et_pb_line_break_holder] -->                numEvents++;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        static void Main(string[] args)<!-- [et_pb_line_break_holder] -->        {<!-- [et_pb_line_break_holder] -->            \/\/Determine starting # of colors<!-- [et_pb_line_break_holder] -->            var numColors = 3;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Determine if game should continue looping<!-- [et_pb_line_break_holder] -->            bool continueGame = true; <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Create<!-- [et_pb_line_break_holder] -->            DigitalInput redButton = new DigitalInput();<!-- [et_pb_line_break_holder] -->            DigitalInput greenButton = new DigitalInput();<!-- [et_pb_line_break_holder] -->            redLED = new DigitalOutput();            <!-- [et_pb_line_break_holder] -->            greenLED = new DigitalOutput();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Address<!-- [et_pb_line_break_holder] -->            redButton.HubPort = 0;<!-- [et_pb_line_break_holder] -->            redButton.IsHubPortDevice = true;<!-- [et_pb_line_break_holder] -->            redLED.HubPort = 1;<!-- [et_pb_line_break_holder] -->            redLED.IsHubPortDevice = true;<!-- [et_pb_line_break_holder] -->            greenButton.HubPort = 5;<!-- [et_pb_line_break_holder] -->            greenButton.IsHubPortDevice = true;<!-- [et_pb_line_break_holder] -->            greenLED.HubPort = 4;<!-- [et_pb_line_break_holder] -->            greenLED.IsHubPortDevice = true;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Subscribe to events<!-- [et_pb_line_break_holder] -->            redButton.StateChange += redButton_StateChange;<!-- [et_pb_line_break_holder] -->            greenButton.StateChange += greenButton_StateChange;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Open<!-- [et_pb_line_break_holder] -->            redLED.Open(1000);<!-- [et_pb_line_break_holder] -->            greenLED.Open(1000);<!-- [et_pb_line_break_holder] -->            redButton.Open(1000);<!-- [et_pb_line_break_holder] -->            greenButton.Open(1000);            <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/Creates random number generator<!-- [et_pb_line_break_holder] -->            System.Random RNG = new System.Random();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            System.Console.WriteLine(\"Starting game, look at the LEDS.\");<!-- [et_pb_line_break_holder] -->            System.Threading.Thread.Sleep(2000);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/Loop that keeps game going<!-- [et_pb_line_break_holder] -->            while (continueGame)<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                \/\/Generate answer key for this round<!-- [et_pb_line_break_holder] -->                sequenceKey.Clear();<!-- [et_pb_line_break_holder] -->                for (int i = 0; i &lt; numColors; i++)<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                    int randomNumber = RNG.Next(0, 2); \/\/randomly generate either 0 or 1<!-- [et_pb_line_break_holder] -->                    sequenceKey.Add(randomNumber);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/Flash the answer key for user to memorize<!-- [et_pb_line_break_holder] -->                for (int i = 0; i &lt; sequenceKey.Count; i++)<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                    if (sequenceKey[i] == 0) \/\/0 is assigned to red<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        redLED.State = true;<!-- [et_pb_line_break_holder] -->                        System.Threading.Thread.Sleep(500);<!-- [et_pb_line_break_holder] -->                        redLED.State = false;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                    else \/\/1 is assigned to green<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        greenLED.State = true;<!-- [et_pb_line_break_holder] -->                        System.Threading.Thread.Sleep(500);<!-- [et_pb_line_break_holder] -->                        greenLED.State = false;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                    System.Threading.Thread.Sleep(500);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/reset before accepting answers<!-- [et_pb_line_break_holder] -->                numEvents = 0; <!-- [et_pb_line_break_holder] -->                userAnswer.Clear();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                System.Console.WriteLine(\"Please enter your answer:\");<!-- [et_pb_line_break_holder] -->                \/\/Wait for user input<!-- [et_pb_line_break_holder] -->                while (numEvents &lt; sequenceKey.Count) <!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                    System.Threading.Thread.Sleep(150);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/Compare user answers to key<!-- [et_pb_line_break_holder] -->                for (int i = 0; i &lt; sequenceKey.Count; i++)<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                    if (userAnswer[i] != sequenceKey[i])<!-- [et_pb_line_break_holder] -->                    {                       <!-- [et_pb_line_break_holder] -->                        System.Console.WriteLine(\"Game Over! You reached level : \" + (numColors-3));<!-- [et_pb_line_break_holder] -->                        System.Console.ReadLine();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                        continueGame = false;                      <!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                if (continueGame) <!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                    System.Console.WriteLine(\"Congrats! Starting next level...\");<!-- [et_pb_line_break_holder] -->                    System.Threading.Thread.Sleep(2000);<!-- [et_pb_line_break_holder] -->                    numColors++;<!-- [et_pb_line_break_holder] -->                }                <!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; module_class=&#8221;ph-user-swift&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Write code Swift&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Write code (Swift)<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Copy the code below into a new Swift project. If you need a reminder of how to do this, revisit the <a href=\"\/education\/learn\/getting-started-kit-tutorial\/configure-ide\">Getting Started Course.<\/a><!\u2013- [et_pb_br_holder] -\u2013><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->Not your programming language? <a class=\"ph-toggle-settings\">Set your preferences<\/a> so we can display relevant code examples<\/pee>[\/et_pb_code][et_pb_code admin_label=&#8221;Code Sample&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<pre class=\"language-swift\"><!-- [et_pb_line_break_holder] -->  <code><!-- [et_pb_line_break_holder] -->Code not available.<!-- [et_pb_line_break_holder] -->  <\/code><!-- [et_pb_line_break_holder] --><\/pre>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_id=&#8221;run-code&#8221;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Run Your Program&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Run Your Program<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>After the initial LED sequence flashes, you will have to remember the sequence, and repeat it using the corresponding buttons!<\/pee>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner _builder_version=&#8221;4.4.1&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243; module_id=&#8221;practice&#8221;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;Practice&#8221; _builder_version=&#8221;4.6.6&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<\/p>\n<h2>Practice<\/h2>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<ol><!-- [et_pb_line_break_holder] --><\/p>\n<li>Play a sound effect every time an LED flashes. Hint: the <a href=\"\/education\/learn\/projects\/rfid-sound-effects\/\" target=\"_blank\" rel=\"noopener noreferrer\">RFID Sound Effects<\/a> project shows how you can add audio to your code.<\/li>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<li>Ask users for their name and log their scores to a file. Show a high score chart at the beginning and end of the game.<\/li>\n<p><!-- [et_pb_line_break_holder] --><\/ol>\n<p>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner admin_label=&#8221;Row&#8221;][et_pb_column_inner type=&#8221;4_4&#8243; saved_specialty_column_type=&#8221;3_4&#8243; custom_padding__hover=&#8221;|||&#8221; custom_padding=&#8221;|||&#8221; saved_specialty_column_type=&#8221;3_4&#8243;][et_pb_code admin_label=&#8221;ph-button-cta: Back to Projects&#8221; _builder_version=&#8221;4.4.1&#8243; box_shadow_horizontal_tablet=&#8221;0px&#8221; box_shadow_vertical_tablet=&#8221;0px&#8221; box_shadow_blur_tablet=&#8221;40px&#8221; box_shadow_spread_tablet=&#8221;0px&#8221; vertical_offset_tablet=&#8221;0&#8243; horizontal_offset_tablet=&#8221;0&#8243; z_index_tablet=&#8221;0&#8243;]<a class=\"ph-button-cta\" href=\"\/education\/learn\/projects\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"ph-button-cta__icon\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->  Back to Projects<!-- [et_pb_line_break_holder] --><\/a>[\/et_pb_code][\/et_pb_column_inner][\/et_pb_row_inner][\/et_pb_column][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/\/Add Phidgets Library.import com.phidget22.*;import java.util.ArrayList;public class SimonSays { \/\/Track number of button events public static int numEvents = 0; public static void main(String[] args) throws Exception { \/\/Track user input and solutions ArrayList&lt;Integer&gt; sequenceKey = new ArrayList&lt;&gt;(); ArrayList&lt;Integer&gt; userAnswer = new ArrayList&lt;&gt;(); \/\/Determine starting # of colors int numColors = 3; \/\/Determine if game should [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":842,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"<!-- wp:paragraph -->\r\n<p>This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:<\/p>\r\n<!-- \/wp:paragraph --><!-- wp:quote -->\r\n<blockquote class=\"wp-block-quote\">\r\n<p>Hi there! I'm a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like pi\u00f1a coladas. (And gettin' caught in the rain.)<\/p>\r\n<\/blockquote>\r\n<!-- \/wp:quote --><!-- wp:paragraph -->\r\n<p>...or something like this:<\/p>\r\n<!-- \/wp:paragraph --><!-- wp:quote -->\r\n<blockquote class=\"wp-block-quote\">\r\n<p>The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.<\/p>\r\n<\/blockquote>\r\n<!-- \/wp:quote --><!-- wp:paragraph -->\r\n<p>As a new WordPress user, you should go to <a href=\"https:\/\/www.phidgets.com\/education\/wp-admin\/\">your dashboard<\/a> to delete this page and create new pages for your content. Have fun!<\/p>\r\n<!-- \/wp:paragraph -->","_et_gb_content_width":"","footnotes":""},"class_list":["post-6847","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/6847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/comments?post=6847"}],"version-history":[{"count":11,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/6847\/revisions"}],"predecessor-version":[{"id":8533,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/6847\/revisions\/8533"}],"up":[{"embeddable":true,"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/pages\/842"}],"wp:attachment":[{"href":"https:\/\/www.phidgets.com\/education\/wp-json\/wp\/v2\/media?parent=6847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}