Activities/Reflection: Difference between revisions
No edit summary |
|||
(21 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 | :'''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 | # 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 | 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]. | ||
=== | === The backstory === | ||
Reflections was written by Walter Bender and Reuben Caron as an example of how to migrate a simple Flash activity to Sugar. | Reflections was written by Walter Bender and Reuben Caron as an example of how to migrate a simple Flash activity to Sugar. | ||
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 | 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 | |||
# changed the activity.info file to reflect the name of our new activity | We created Reflection in a few short steps: | ||
# | # made a [[0.94/Notes#View_Source:_duplicate_option_for_an_activity|clone]] of the Turtle in a Pond activity | ||
# 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: | ||
:* the dots | :* we made the dots cycle through four colors rather than just two when clicked | ||
:* we removed the turtle and all code associated with moving it | :* we removed the turtle and all code associated with moving it | ||
:* we added a line of symmetry | :* we added a line of symmetry | ||
:* we rewrote the rules for the | :* we rewrote the rules for detecting end of game | ||
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. | |||
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 3, we added a robot help function and better feedback for when you complete the pattern. | |||
[[Category:Activity]] | [[Category:Activity]] | ||
[[Category:Activities]] |