Я только что освоил программирование, во многом благодаря этому сайту ... но я все еще noob и у меня есть еще один вопрос noob.
Я создал простой калькулятор, который мои дети могли бы использовать для изучения математических навыков, но я не знаю, как его зациклить, чтобы он работал 10 раз. Я понимаю синтаксис for-else и цикла before, но не уверен, что помещать в сам цикл.
Самым простым способом сделать это (я думаю) может быть использование компонента или класса (не знаю, какой именно), а затем вызов его.
Тем не менее, вот мой основной код:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import spark.components.FormItem;
import spark.components.TextInput;
public var n_1:Number = Math.round(Math.random() * 100)
public var n_2:Number = Math.round(Math.random() * 100)
public var ttl:Number
public var answer:Number
public var n_right:int
public var n_total:int = 1
protected function check_bn_clickHandler(event:MouseEvent):void
{
n1.text = n_1.toString();
n2.text = n_2.toString();
ttl = Number(total.text);
answer = n_1 + n_2
if(ttl == answer) {
yes_no_lbl.text = "YES, click NEXT!";
n_right = n_right + 1
} else {
yes_no_lbl.text = "NO, try again!";
}
}
protected function next_bn_clickHandler(event:MouseEvent):void
{
// reset variables
n_1 = 0
n_2 = 0
ttl = 0
// use component here????
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Form id="Calc" x="28" y="27">
<s:FormItem label="1st #">
<s:Label id="n1" text = "{n_1.toString()}"/>
</s:FormItem>
<s:FormItem label="2nd#">
<s:Label id="n2" text = "{n_2.toString()}"/>
</s:FormItem>
<s:FormItem label="Total=">
<s:TextInput id="total" prompt="Total"/>
</s:FormItem>
</s:Form>
<s:Button id="check_bn" x="273" y="124" label="Check" click="check_bn_clickHandler(event)"/>
<s:Button id="next_bn" x="377" y="123" label="Next" click="next_bn_clickHandler(event)"/>
<s:Form id="display_correct" x="649" y="27">
<s:FormItem label="# Correct">
<s:Label id="lbl_ratio" text="{n_right}/{n_total} "/>
</s:FormItem>
</s:Form>
<s:Label id="yes_no_lbl" x="462" y="83" width="184" height="61"/>
</s:Application>
Так, сколько из этого я помещаю в компонент, и сколько я оставляю в приложении? Или есть такая функция, как «перерисовка», которая просто запускает приложение снова, но оставляет мои долгосрочные переменные (n_right и т. Д.) В покое?
Еще раз спасибо!