Copy link to clipboard
Copied
Hi there,
This is my code. I still get the syntax error and I don't know why.
This is the errors :
Tks a lot.
ksam2000.
line 37 : 1083 : syntax error : else unexpecting
line 46 : 1083 : syntax error : else unexpecting
linne 55 : 1083 : syntax error : else unexpecting
package {
import flash.display.*;
import flash.text.*;
import flash.events.MouseEvent;
public class U1A5_Manege extends MovieClip {
private var messageResultat:TextField = new TextField;
private var maMiseEnForme:TextFormat = new TextFormat;
private var inthauteur = int(hauteurtextbox.text);
private var problemeDos = Boolean(dostextbox.text);
private var problemeCardiaque = Boolean(cardiaquetextbox.text);
public function U1A5_Manege():void
{
btnSoumettre.addEventListener(MouseEvent.CLICK, calculeResultat);
}
/* Le code suivant sert à établir trois conditions boolean. seulement si l'utilisateur satisfait aux trois exigences, peut-il monter à bord la montagne russe. */
var booleanHauteur = Boolean
var booleanDos = Boolean
var booleanCardiaque = Boolean
if (inthauteur <= 188) and (inthauteur >= 122)
{
booleanHauteur = true
}
else /* (line 45) */
{
booleanHauteur = false
}
if (problemeDos = N) or (problemeDos = n)
{
booleanDos = true
}
else /* (line 46) */
{
booleanDos = false
}
if (problemeCardiaque = N) or (problemeCardiaque = n)
{
booleanCardiaque = true
}
else /* (line 55) */
{
booleanCardiaque = false
}
/* si les trois valeurs boolean sont true, affiche le message2. si au moins un des trois est false, affiche le message1.*/
if ((booleanHauteur = true) and (booleanDos = true); and (booleanCardiaque = true))
{
message2 = ("Vous pouvez prendre place à bord la montagne russe. Amusez-vous!");
messageResultat.text = message2;
}
else
{
message1 = ("Ce n'est pas sécuritaire pour vous de prendre place à bord la montagne russe.");
messageResultat.text = message1;
}
private function calculeResultat(event:MouseEvent):void {
maMiseEnForme.font="Arial";
maMiseEnForme.size=20;
maMiseEnForme.bold=true;
maMiseEnForme.color=0x000099;
messageResultat.x=-46;
messageResultat.y=190;
messageResultat.autoSize=TextFieldAutoSize.LEFT;
messageResultat.border=false;
messageResultat.defaultTextFormat=maMiseEnForme;
addChild(messageResultat)
}
}
}
Copy link to clipboard
Copied
there are no keywords 'and' and 'or' in as3. those are as1 keywords.
use && and ||
Copy link to clipboard
Copied
This code has several major issues besides the ones kglad pointed to.
1. Conditionals have misplaced brackets
2. Value comparison uses double equal sign
So, these conditionals must look like this:
if (inthauteur <= 188 && inthauteur >= 122)
{
booleanHauteur = true
}
else
{
booleanHauteur = false
}
if (problemeDos == N || problemeDos == n)
{
booleanDos = true
}
else
{
booleanDos = false
}
if (problemeCardiaque == N || problemeCardiaque == n)
{
booleanCardiaque = true
}
else
{
booleanCardiaque = false
}
Copy link to clipboard
Copied
If this is entire class - class structure is totally wrong as well.
Copy link to clipboard
Copied
And the last thing - these conditionals are an overkill. You can replaces them with the following lines (they will accomplish the same thing):
booleanHauteur = inthauteur <= 188 && inthauteur >= 122;
booleanDos = problemeDos == N || problemeDos == n;
booleanCardiaque = problemeCardiaque == N || problemeCardiaque == n;