Activities/Reflection: Difference between revisions

No edit summary
 
(17 intermediate revisions by 2 users not shown)
Line 7: Line 7:
=== How to play Reflection ===
=== How to play Reflection ===


Click on the dots to change the colors until you have a reflective symmetry.
Click on the dots to change the colors until you have a reflective symmetry across a line of reflection.


'''Did you know''' that you can share Reflection and play with up to 3 others?
:'''Did you know''' that dot colors come from your XO colors?
:'''Did you know''' that you can share Reflection and play with up to three others?


<gallery>
<gallery>
Line 16: Line 17:
File:Reflection-bilateral.png|You can also play with bilateral symmetry
File:Reflection-bilateral.png|You can also play with bilateral symmetry
</gallery>
</gallery>


==== The Toolbars ====
==== The Toolbars ====
Line 28: Line 28:
# the New-bilateral-game Button (start a new game to create a vertical reflective symmetry)
# the New-bilateral-game Button (start a new game to create a vertical reflective symmetry)
# an area for messages
# an area for messages
# the Activity-stop Button
# the Robot Button (the robot will help you make your pattern)
# the Stop Button
 
=== Programming challenges ===
 
* Could you modify Reflections so that it supports rotational symmetry?
* Could you modify Reflections so that it supports glide symmetry?


=== Where to get Reflection ===
=== Where to get Reflection ===


The Reflection activity is available for download from the [http://activities.sugarlabs.org Sugar activity portal]: [http://activities.sugarlabs.org/en-US/sugar/addon/4517 Reflection]
The Reflection activity is available for download from the [http://activities.sugarlabs.org Sugar Activity Library]: [http://activities.sugarlabs.org/en-US/sugar/addon/4517 Reflection]


The source code is available on [http://git.sugarlabs.org/reflection the Sugar Labs Gitorious server].
The source code is available on [http://git.sugarlabs.org/reflection the Sugar Labs Gitorious server].
Line 44: Line 50:
[[File:Refexion.swf.png|200px]]
[[File:Refexion.swf.png|200px]]


The closest activity we could think of that had something similar (a grid of clickable elements) was [[Activities/Turtle in a Pond]]. We then:
The closest activity we could think of that had something similar (a grid of clickable elements) was [[Activities/Turtle in a Pond]].
# made a clone of the activity
 
# generated a new git repository for the project
We created Reflection in a few short steps:
# changed the activity.info file to reflect the name of our new activity
# made a [[0.94/Notes#View_Source:_duplicate_option_for_an_activity|clone]] of the Turtle in a Pond activity
# changed the activity icon
# made a [[Activity_Team/Git_FAQ#How_do_I_create_a_new_project.3F|git repository]] for the new project
# changed the [[Development_Team/Almanac/Activity_Bundles#.info_file_format|activity.info]] file to reflect the name of our new activity
# created the [[Development_Team/Almanac/Making_Icons|activity icon]]
# changed the name of TurtlePondActivity.py to ReflectionActivity.py
# changed the name of TurtlePondActivity.py to ReflectionActivity.py
# changed the name of the Class defined in ReflectionActivity.py to <code>class ReflectionActivity(activity.Activity)</code>
# changed the [[Development_Team/Almanac/sugar.activity.activity#How_do_I_create_a_new_activity_that_is_derived_from_the_base_Activity_class.3F|name of the Class]] defined in ReflectionActivity.py to <code>class ReflectionActivity(activity.Activity)</code>
# removed the buttons we didn't need
# removed the buttons we didn't need
# edited game.py:
# edited game.py:
Line 58: Line 66:
:* we rewrote the rules for detecting end of game
:* we rewrote the rules for detecting end of game


All of this was done in less than 2 hours.
All of this was done in less than two hours.
 
We then created an [[Activity_Team#setup.py|XO bundle]], uploaded it to activities.sugarlabs.org and created this page in the wiki, about one hour of work.


We then created an XO bundle, uploaded it to activities.sugarlabs.org and created this page in the wiki, about 1 hour of work.
For Version 2, we added [[Development_Team/Almanac/sugar.activity.activity#How_do_I_implement_a_write_file_method_for_my_activity_in_order_to_persist_my_activity_in_the_journal.3F|saving game state to the Journal]], added a few more game options, and collaborative play (by grabbing the collaboration code from [[Activities/Paths]]), an additional two hours of work.


For Version 2, we added saving game state to the Journal, added a few more game options, and collaborative play, an additional 2 hours of work.
For Version 3, we added a robot help function and better feedback for when you complete the pattern.


[[Category:Activity]]
[[Category:Activity]]
[[Category:Activities]]