Files
GDevelop/Binaries/Output/Release_Windows/Examples/Slot machine.gdg
Victor Levasseur 4943f06b5e Save examples using v4 version
Convert some PNG to RGB mode
2015-08-12 12:13:22 +02:00

1177 lines
72 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<project firstLayout="">
<gdVersion build="84" major="3" minor="6" revision="0" />
<properties linuxExecutableFilename="" macExecutableFilename="" useExternalSourceFiles="false" winExecutableFilename="" winExecutableIconFile="">
<name>slot_machine_example</name>
<author></author>
<windowWidth>304</windowWidth>
<windowHeight>280</windowHeight>
<latestCompilationDirectory></latestCompilationDirectory>
<maxFPS>60</maxFPS>
<minFPS>10</minFPS>
<verticalSync>false</verticalSync>
<extensions>
<extension name="BuiltinObject" />
<extension name="BuiltinAudio" />
<extension name="BuiltinVariables" />
<extension name="BuiltinTime" />
<extension name="BuiltinMouse" />
<extension name="BuiltinKeyboard" />
<extension name="BuiltinJoystick" />
<extension name="BuiltinCamera" />
<extension name="BuiltinWindow" />
<extension name="BuiltinFile" />
<extension name="BuiltinNetwork" />
<extension name="BuiltinScene" />
<extension name="BuiltinAdvanced" />
<extension name="Sprite" />
<extension name="BuiltinCommonInstructions" />
<extension name="BuiltinCommonConversions" />
<extension name="BuiltinStringInstructions" />
<extension name="BuiltinMathematicalTools" />
<extension name="BuiltinExternalLayouts" />
<extension name="TextObject" />
<extension name="Function" />
</extensions>
<platforms>
<platform name="GDevelop C++ platform" />
</platforms>
<currentPlatform>GDevelop C++ platform</currentPlatform>
</properties>
<resources>
<resources>
<resource alwaysLoaded="false" file="01.jpg" kind="image" name="01.jpg" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="02.jpg" kind="image" name="02.jpg" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="03.jpg" kind="image" name="03.jpg" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="04.jpg" kind="image" name="04.jpg" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="05.jpg" kind="image" name="05.jpg" smoothed="true" userAdded="true" />
<resource alwaysLoaded="false" file="06.jpg" kind="image" name="06.jpg" smoothed="true" userAdded="true" />
</resources>
<resourceFolders />
</resources>
<objects />
<objectsGroups />
<variables />
<layouts>
<layout b="209" disableInputWhenNotFocused="true" mangledName="slot_95machine_95example" name="slot_machine_example" oglFOV="90.000000" oglZFar="500.000000" oglZNear="1.000000" r="209" standardSortMethod="true" stopSoundsOnStartup="true" title="" v="209">
<uiSettings associatedLayout="" grid="false" gridB="255" gridG="180" gridHeight="32" gridOffsetX="0" gridOffsetY="0" gridR="158" gridWidth="32" snap="true" windowMask="false" zoomFactor="1.000000" />
<objectsGroups />
<variables />
<instances />
<objects>
<object name="slot" type="Sprite">
<variables />
<automatisms />
<animations>
<animation useMultipleDirections="false">
<directions>
<direction looping="true" timeBetweenFrames="0.010000">
<sprites>
<sprite hasCustomCollisionMask="false" image="01.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="49.000000" y="49.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="98.000000" y="0.000000" />
<vertice x="98.000000" y="98.000000" />
<vertice x="0.000000" y="98.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="02.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="49.000000" y="49.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="98.000000" y="0.000000" />
<vertice x="98.000000" y="98.000000" />
<vertice x="0.000000" y="98.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="03.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="49.000000" y="49.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="98.000000" y="0.000000" />
<vertice x="98.000000" y="98.000000" />
<vertice x="0.000000" y="98.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="04.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="49.000000" y="49.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="98.000000" y="0.000000" />
<vertice x="98.000000" y="98.000000" />
<vertice x="0.000000" y="98.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="05.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="49.000000" y="49.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="98.000000" y="0.000000" />
<vertice x="98.000000" y="98.000000" />
<vertice x="0.000000" y="98.000000" />
</polygon>
</customCollisionMask>
</sprite>
<sprite hasCustomCollisionMask="false" image="06.jpg">
<points />
<originPoint name="origine" x="0.000000" y="0.000000" />
<centerPoint automatic="true" name="centre" x="49.000000" y="49.000000" />
<customCollisionMask>
<polygon>
<vertice x="0.000000" y="0.000000" />
<vertice x="98.000000" y="0.000000" />
<vertice x="98.000000" y="98.000000" />
<vertice x="0.000000" y="98.000000" />
</polygon>
</customCollisionMask>
</sprite>
</sprites>
</direction>
</directions>
</animation>
</animations>
</object>
<object bold="false" italic="false" name="text" smoothed="true" type="TextObject::Text" underlined="false">
<variables />
<automatisms />
<string>Text</string>
<font></font>
<characterSize>20</characterSize>
<color b="255" g="255" r="255" />
</object>
</objects>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="255" g="255" r="128" textB="0" textG="0" textR="0" />
<comment>____________________________________________________________________________________________________&#x0A;&#x0A;SLOT MACHINE EXAMPLE by erdo.&#x0A;&#x0A;____________________________________________________________________________________________________&#x0A;&#x0A;NOTES ON HOW TO ADAPT THIS ALGORITHM TO YOUR OWN PURPOSES: &#x0A;&#x0A;--- IF YOU WANT TO DISPLAY THE SLOTS ROW AT OTHER PLACE:&#x0A;&#x0A;* The variables &apos;x_offset&apos; and &apos;y_offset&apos; holds values representing the coordinates where you want to display the slots row ({5,5} in this example).&#x0A;&#x0A;--- IF YOU WANT TO CHANGE THE NUMBER OF SYMBOLS (FRAMES) IN THE SLOTS:&#x0A;&#x0A;* The &apos;icon_max&apos; variable must hold a value representing the actual number of frames in the slot object animation.&#x0A;&#x0A;--- IF YOU WANT MORE OR LESS SLOTS:&#x0A;&#x0A;* Change the value of the &apos;slot_max&apos; variable at the start of the scene to automatically change the number of slots displayed (you&apos;ll need to resize the window to be able to see further slots, because currently it&apos;s sized to show 3).&#x0A;&#x0A;--- IF YOU USE SPRITES OF DIFFERENT SIZE THAN THE ONES USED IN THIS EXAMPLE:&#x0A;&#x0A;* The variable &apos;slot_width&apos; must hold a value representing the actual width in pixels of the slot sprite. Otherwise, slots will be misplaced.&#x0A;&#x0A;--- IF YOU WANT TO CHANGE THE SPINNING TIME:&#x0A;&#x0A;* The &apos;spin_lapse_min&apos; variable holds a value representing the minimun time in seconds a slot will spin and the &apos;lapse_between_slots&apos; variable holds a value representing the time in seconds before the next slot stops. For example, if the value of &apos;spin_lapse_min&apos; is 5 and the value of &apos;lapse_between_slots&apos; is 2, then the first slot will spin during 5 seconds before stops and the next slot will stop 2 seconds after the previous one, and so on.&#x0A;&#x0A;--- IF YOU WANT TO MAKE MORE EASY OR MORE DIFFICULT TO GET A MATCH:&#x0A;&#x0A;* The &apos;probability_pool&apos; variable holds a value representing the maximum probability rate of a get a forced match. For example: if the value of the &apos;probability_pool&apos; variable is 10, then the user has 1 in 10 probabilities to get a forced match. The higher the value, the difficult raise (if the value is 1, then the user will always get a match).&#x0A;&#x0A;--- HOW TO EVALUATE IF THE ARE A MATCH?&#x0A;&#x0A;* The result of each slot is pre-calculated since the start of the spin and stored in a object variable called &apos;value&apos; in each slot object (expression: slot.Variable(value) ). There is also a scene structure called &apos;result&apos; that holds some data in child variables:&#x0A;&#x0A;------ result.match - holds a boolean value representing if there is a match (1 for match, 0 for not)&#x0A;------ result.icon_matched - if there is a match this variable will hold a value representing the matched icon (example: 1, if the result is a full row of the first symbol)&#x0A;------ result.icon_1 - holds a value representing the number of instances of the first symbol in the row&#x0A;------ result.icon_2 - holds a value representing the number of instances of the second symbol in the row&#x0A;------ result.icon_3 - holds a value representing the number of instances of the third symbol in the row&#x0A;------ result.icon_etc - you get it...</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Initializing variables and objects at the start of the scene:</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="DepartScene" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="Create" />
<parameters>
<parameter></parameter>
<parameter>text</parameter>
<parameter>5</parameter>
<parameter>108</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="TextObject::Size" />
<parameters>
<parameter>text</parameter>
<parameter>=</parameter>
<parameter>14</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="TextObject::ChangeColor" />
<parameters>
<parameter>text</parameter>
<parameter>&quot;128;0;0&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>text</parameter>
<parameter>=</parameter>
<parameter>&quot;Let&apos;s spin!&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>x_offset</parameter>
<parameter>=</parameter>
<parameter>5</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>y_offset</parameter>
<parameter>=</parameter>
<parameter>5</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>slot_max</parameter>
<parameter>=</parameter>
<parameter>3</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>slot_width</parameter>
<parameter>=</parameter>
<parameter>98</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_max</parameter>
<parameter>=</parameter>
<parameter>6</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>spin_lapse_min</parameter>
<parameter>=</parameter>
<parameter>4</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>lapse_between_slots</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>probability_pool</parameter>
<parameter>=</parameter>
<parameter>5</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>frame_lapse_increase_rate</parameter>
<parameter>=</parameter>
<parameter>0.002</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Repeat</type>
<repeatExpression>Variable(slot_max)</repeatExpression>
<conditions />
<actions>
<action>
<type inverted="false" value="Create" />
<parameters>
<parameter></parameter>
<parameter>slot</parameter>
<parameter>Variable(x_offset)+(Variable(slot_counter)*Variable(slot_width))</parameter>
<parameter>Variable(y_offset)</parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="PauseAnimation" />
<parameters>
<parameter>slot</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>id</parameter>
<parameter>=</parameter>
<parameter>Variable(slot_counter)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarObjetTxt" />
<parameters>
<parameter>slot</parameter>
<parameter>spin_timer_name</parameter>
<parameter>=</parameter>
<parameter>&quot;spin_timer_&quot;+slot.VariableString(id)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ChangeSprite" />
<parameters>
<parameter>slot</parameter>
<parameter>=</parameter>
<parameter>Random(Variable(icon_max)-1)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>slot_counter</parameter>
<parameter>+</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>Preparing for the &apos;spin&apos; if the user press any key:</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="BuiltinCommonInstructions::Or" />
<parameters />
<subConditions>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Left</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="SourisBouton" />
<parameters>
<parameter></parameter>
<parameter>Right</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="AnyKeyPressed" />
<parameters>
<parameter></parameter>
</parameters>
<subConditions />
</condition>
</subConditions>
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ResetTimer" />
<parameters>
<parameter></parameter>
<parameter>&quot;frame_timer&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>frame_lapse_max</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_counter</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>forced_match</parameter>
<parameter>=</parameter>
<parameter>Random(Variable(probability_pool)-1)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>result.match</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>result.icon_matched</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Repeat</type>
<repeatExpression>Variable(icon_max)</repeatExpression>
<conditions />
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_counter</parameter>
<parameter>+</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>result[&quot;icon_&quot;+VariableString(icon_counter)]</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>forced_match</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>forced_value</parameter>
<parameter>=</parameter>
<parameter>Random(Variable(icon_max)-1)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::ForEach</type>
<object>slot</object>
<conditions />
<actions>
<action>
<type inverted="false" value="ResetTimer" />
<parameters>
<parameter></parameter>
<parameter>slot.VariableString(spin_timer_name)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>forced_match</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>value</parameter>
<parameter>=</parameter>
<parameter>Variable(forced_value)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>forced_match</parameter>
<parameter>!=</parameter>
<parameter>0</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>value</parameter>
<parameter>=</parameter>
<parameter>Random(Variable(icon_max)-1)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_id</parameter>
<parameter>=</parameter>
<parameter>slot.Variable(value)+1</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>result[&quot;icon_&quot;+VariableString(icon_id)]</parameter>
<parameter>+</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_counter</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Repeat</type>
<repeatExpression>Variable(icon_max)</repeatExpression>
<conditions />
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_counter</parameter>
<parameter>+</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>result[&quot;icon_&quot;+VariableString(icon_counter)]</parameter>
<parameter>=</parameter>
<parameter>Variable(slot_max)</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>result.match</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>result.icon_matched</parameter>
<parameter>=</parameter>
<parameter>Variable(icon_counter)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>&apos;Spin&apos; algorithm:</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>change_frame</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>inactive_slot_counter</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="Timer" />
<parameters>
<parameter></parameter>
<parameter>Variable(frame_lapse_max)</parameter>
<parameter>&quot;frame_timer&quot;</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ResetTimer" />
<parameters>
<parameter></parameter>
<parameter>&quot;frame_timer&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>frame_lapse_max</parameter>
<parameter>+</parameter>
<parameter>Variable(frame_lapse_increase_rate)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>change_frame</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::ForEach</type>
<object>slot</object>
<conditions />
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>inactive_slot_counter</parameter>
<parameter>+</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>inactive_slot_counter</parameter>
<parameter>=</parameter>
<parameter>Variable(slot_max)</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="RemoveTimer" />
<parameters>
<parameter></parameter>
<parameter>&quot;frame_timer&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="Function::LaunchFunction" />
<parameters>
<parameter>display_result</parameter>
<parameter></parameter>
<parameter></parameter>
<parameter></parameter>
<parameter></parameter>
<parameter></parameter>
<parameter></parameter>
<parameter></parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>change_frame</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_frame</parameter>
<parameter>=</parameter>
<parameter>slot.Sprite()+1</parameter>
</parameters>
<subActions />
</action>
</actions>
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>current_frame</parameter>
<parameter>=</parameter>
<parameter>Variable(icon_max)</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>current_frame</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="ChangeSprite" />
<parameters>
<parameter>slot</parameter>
<parameter>=</parameter>
<parameter>Variable(current_frame)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="Timer" />
<parameters>
<parameter></parameter>
<parameter>(slot.Variable(id)*Variable(lapse_between_slots))+Variable(spin_lapse_min)</parameter>
<parameter>slot.VariableString(spin_timer_name)</parameter>
</parameters>
<subConditions />
</condition>
<condition>
<type inverted="false" value="Sprite" />
<parameters>
<parameter>slot</parameter>
<parameter>=</parameter>
<parameter>slot.Variable(value)</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="RemoveTimer" />
<parameters>
<parameter></parameter>
<parameter>slot.VariableString(spin_timer_name)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarObjet" />
<parameters>
<parameter>slot</parameter>
<parameter>spinning</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
</event>
</events>
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Comment</type>
<color b="109" g="230" r="255" textB="0" textG="0" textR="0" />
<comment>A function that displays the result:</comment>
<comment2></comment2>
</event>
<event disabled="false" folded="false">
<type>Function::Function</type>
<name>display_result</name>
<objectsPassedAsArgument></objectsPassedAsArgument>
<conditions />
<actions />
<events>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>result.match</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>text</parameter>
<parameter>=</parameter>
<parameter>&quot;No match!&quot;</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions>
<condition>
<type inverted="false" value="VarScene" />
<parameters>
<parameter>result.match</parameter>
<parameter>=</parameter>
<parameter>1</parameter>
</parameters>
<subConditions />
</condition>
</conditions>
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>text</parameter>
<parameter>=</parameter>
<parameter>&quot;Match!&quot;+NewLine()+&quot;Matched icon: &quot;+VariableString(result.icon_matched)</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Standard</type>
<conditions />
<actions>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>text</parameter>
<parameter>+</parameter>
<parameter>NewLine()+&quot;_______________&quot;+NewLine()+&quot;Icons per row:&quot;</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_counter</parameter>
<parameter>=</parameter>
<parameter>0</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
<event disabled="false" folded="false">
<type>BuiltinCommonInstructions::Repeat</type>
<repeatExpression>Variable(icon_max)</repeatExpression>
<conditions />
<actions>
<action>
<type inverted="false" value="ModVarScene" />
<parameters>
<parameter>icon_counter</parameter>
<parameter>+</parameter>
<parameter>1</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="ModVarSceneTxt" />
<parameters>
<parameter>current_icon_variable_name</parameter>
<parameter>=</parameter>
<parameter>&quot;icon_&quot;+VariableString(icon_counter)</parameter>
</parameters>
<subActions />
</action>
<action>
<type inverted="false" value="TextObject::String" />
<parameters>
<parameter>text</parameter>
<parameter>+</parameter>
<parameter>NewLine()+&quot;Icon-&quot;+VariableString(icon_counter)+&quot;: &quot;+VariableString(result[VariableString(current_icon_variable_name)])</parameter>
</parameters>
<subActions />
</action>
</actions>
<events />
</event>
</events>
</event>
</events>
<layers>
<layer name="" visibility="true">
<cameras>
<camera defaultSize="true" defaultViewport="true" height="0.000000" viewportBottom="1.000000" viewportLeft="0.000000" viewportRight="1.000000" viewportTop="0.000000" width="0.000000" />
</cameras>
</layer>
</layers>
<automatismsSharedData />
</layout>
</layouts>
<externalEvents />
<externalLayouts />
<externalSourceFiles />
</project>