Flashhilfe.de - Flash Community

zufallszahlen Example - Meine erste RIA [Flash 9]

 


AntwortenRegistrieren Seite1  

Key6#1
Benutzerbild von Key6
Beiträge: 6
Registriert: Nov 2009

12.11.2009, 19:05

Hallo lieber Users und Helfers ^^,

ja ich bin ziemlich neu hier ! und noch absoluter neuling in AS3 und flex!

ich hab auch schon den tollen forum thread gelesen mit den zufallszahlen ohne wiederholung. Aber selber bekomm ich es einfach noch nicht hin. Man könnte mir super helfen wenn man mal ein Example mal korrigieren würde damit ich weiss was ich alles falsch mache.

Ich will einfach ma zum test einfaches programm schreiben wo man 2 zahlen eingibt, es im array hochzählt und das ergebniss als zufallszahlen ohne wiederholung wieder rauspuckt. Python is da escht netter în der Programmierung

Hier mein versuch :
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="218" height="266">
   <mx:Script>
   <![CDATA[
   var orgArray: Array;
   
   private function addId ( a:String ,b:String ):void
   {
      var number1:unit = a:string;
      var number2:unit = b:string;
      
      for(var i:uint = number1; i<number2; i++)
         {
            var orgArray: Array = new orgArray[i];
            trace ("array="+orgArray)
            trace ("array="+orgArray)
         }
   }

   var copyArray: Array = [].concat( orgArray );
   
   private function randomArray()
   {
        if( copyArray.length )
        {
                trace( "und hier?"+copyArray );
            ergebniss( copyArray.splice( random( copyArray.length ), 1 ) );
        }
        else
        {
          trace( "was passiert hier?" );
          copyArray = [].concat( orgArray );
        }
   }
      ]]>
</mx:Script>
   <mx:Button x="64" y="110" label="Zufall Start" click="addId( a:String ,b:String )"/>
   <mx:TextInput id="a" x="29" y="35"/>
   <mx:TextInput id="b" x="29" y="80"/>
   <mx:Text x="29" y="164" id="ergebniss" text="Ergebniss" width="160"/>

</mx:Application>
Werbung
Beiträge: 0
Registriert: Feb 2016


Sebastian#2
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

12.11.2009, 20:33

Und wie würde das ganze mit Python aussehen? Würde mich mal interessieren.

Es gibt gleich in den ersten Zeilen Fehler in dem Code:
ActionScript:
1var number1:unit = a:string;


unit gibt es natürlich nicht ;)
uint wäre richtig.

Mit :Type gibt man den Typ bei der Variablendeklarierung an. Im weiteren Verlauf benötigt man den Typ dann also nicht mehr.

Was aber auch nicht funktioniert ist das Du a als String deklarierst und es danach einfach bei einem uint angibst. Also an der Stelle:
ActionScript:
1
2
3
  private function addId ( a:String ,b:String ):void
  {
      var number1:uint = a;


So kannst du es umkonvertieren:
ActionScript:
1
2
3
  private function addId ( a:String ,b:String ):void
  {
      var number1:uint = parseInt(a);
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Key6#3
Benutzerbild von Key6
Beiträge: 6
Registriert: Nov 2009

Themenautor/in

13.11.2009, 08:49

oha blöde tipp fehler ^^ schuldigung ..

mhh hab das mal geändert , wie du mir gesagt hast ..
mensch manchmal bin ich aber auch blöd ^^ ... danke erstmal !

leider spuckt er immernoch ein Fehler aus. Hab gleich mal die korrektur eingefügt und hab noch das ergebniss in ein string umwandeln lassen
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="218" height="266">
   <mx:Script>
   <![CDATA[
   var orgArray: Array;
   
   private function addId ( a:String ,b:String ):void
   {
      var number1:uint = parseInt(a);
      var number2:uint = parseInt(b);
      
      for(var i:uint = number1; i<number2; i++)
         {
            var orgArray: Array = new orgArray[i];
            trace ("array="+orgArray)
            trace ("array="+orgArray)
         }
   }

   var copyArray: Array = [].concat( orgArray );
   
   private function randomArray()
   {
        if( copyArray.length )
        {
            trace( copyArray.splice( random( copyArray.length ), 1 ) );
        }
        else
        {
          trace( "\n new!" );
          copyArray = [].concat( orgArray );
          ergebniss.text = copyArray.toString()
        }
   }
      ]]>
</mx:Script>
   <mx:Button x="64" y="110" label="Zufall Start" click="addId( a:String ,b:String )"/>
   <mx:TextInput id="a" x="29" y="35"/>
   <mx:TextInput id="b" x="29" y="80"/>
   <mx:Text x="29" y="164" id="ergebniss" text="Ergebniss" width="160"/>

</mx:Application>


der Fehler kommt an folgender stelle
ActionScript:
1
2
3
4
   if( copyArray.length )
        {
            trace( copyArray.splice( random( copyArray.length ), 1 ) );
        }

er kommt mit random nicht klar .. dachte das wäre ne funktion .. er sagt aufruf einer undef. Methode random.

Wie schaut nun der Quellcode richtig aus so das es funktionieren würde.

ich muss ja auch noch das ergebniss von funkt. addId der nächsten funktion übergeben und ausführen ?!

Wie man merkt es hängt an Basics O.o
Jetz meckert er wieder rumm .. und erzählt mir beim button semikolon vor colon erforderlich. Ich versteh echt nur Bahnhof O.o

Ich setz mich mal am wochenende hin und poste den Quellcode mal in Python wenn nichts anderes ansteht .

Sorry für die blöden Fragen ^^ .. aber bin noch sehr frisch dabei ^^


mit freundlichen grüßen
Geändert von Key6 am 13.11.09 um 09:05 Uhr
Sebastian#4
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

14.11.2009, 14:07

random gibt es nicht mehr. Statt dessen gibt es nun:
ActionScript:
1Math.random();

So kannst Du es verwenden:
ActionScript:
1Math.random() * copyArray.length

Es empfiehlt sich immer einen Blick in die ActionScript Referenz zu schauen.

... jeder hat mal angefangen. ;)
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Werbung
Beiträge: 0
Registriert: Feb 2016


Key6#5
Benutzerbild von Key6
Beiträge: 6
Registriert: Nov 2009

Themenautor/in

16.11.2009, 12:42

Danke Sebastian ..

sorry das ich es am wochenende nicht gepackt hab das in python zu posten... hatte probleme mit ein domaincontroller .. naja .. also erstmal wieder zum thema.

mhh hab nochmal paar korrerkturen durchgeführt.. funktionieren tut es trotzalledem noch nicht
.. was mach ich falsch .. der sagt mir das das orginal array beim hochzählen "null" ist .. was mach ich noch falsch ?

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="160" height="106">
   <mx:Script>
   <![CDATA[
   public var orgArray: Array;
   [Bindable]
   private var ergebniss:Number = 0;
   
   private function addId ( a:String ,b:String ):void
   {
      var number1:uint = parseInt(a);
      var number2:uint = parseInt(b);
      
      for(var i:uint = number1; i<number2; i++)
         {
            var orgArray:Array = new Array[i];
            trace ("array="+orgArray)
         }
   }

   private function randomArray():void
   {
      var copyArray: Array = [].concat( orgArray );
        if( copyArray.length )
        {
            copyArray.splice( Math.random() * copyArray.length , 1 ) ;
        }
        else
        {
          trace( "n new!" );
          copyArray = [].concat( orgArray );
          ergebniss = copyArray.toString();
        }
   }
      ]]>
</mx:Script>
<mx:VBox>
   <mx:TextInput id="a" />
   <mx:TextInput id="b" />
   <mx:Text id="outpud" text="{ergebniss}" width="160"/>   
   <mx:Button label="Zufall Start" click="addId( a.text ,b.text )"/>
</mx:VBox>


mit freundlichen grüßen
Geändert von Key6 am 16.11.09 um 15:08 Uhr
springer#6
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

16.11.2009, 13:52

hi,
was soll das denn bewirken?

ActionScript:
1var orgArray:Array = new orgArray[i];
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Key6#7
Benutzerbild von Key6
Beiträge: 6
Registriert: Nov 2009

Themenautor/in

16.11.2009, 14:42

naja eigentlich nur den orgArray über konstruktor neues element anlegen mit dem wert von i. is das falsch gedacht ?
Sebastian#8
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

16.11.2009, 14:46

Der Syntax ist falsch. Wie gesagt, schau einfach mal in der AS-Referenz nach wie ein Array instanziert wird.
Die Basics von ActionScript musst Du Dir selbst aneignen.
JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil
Key6#9
Benutzerbild von Key6
Beiträge: 6
Registriert: Nov 2009

Themenautor/in

16.11.2009, 14:56

wohl war .. mit dem basics .. ich hab nur leider kein ansprechpartner ausser euch X) .. (traurig aber wahr) und englisch au nicht gerade das ass .. noch dazu sehr wenig zeit das wirklich alles nachzuschlagen und auszubrobieren (stress im ersten jahr da die zeitspanne sehr eng liegt beim cheff) .. deswegen hab ich gehofft das mir einer das example einfach ma fertig macht (quasi die arbeit abnimmt ) damit ich den unterschied zu meiner logik und den wirklichen Programmcode ma sehe .. habe vorher auch nur strukturiert/modular programmiert O.o
ist ganzschöner kamp für mich gerade ^^

.. aber naja ich kämpf mich auch alleine durch.. ^^

danke erstmal für den freundlichen antworten ..

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de