Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-08-2006, 14:40   #1 (permalink)
Neuer User
 
Benutzerbild von Robbtodd
 
Registriert seit: Mar 2004
Beiträge: 13
Angry mehrere Variablen in ite-statement abfragen für KNIFFEL???

aus langer Weile habe ich mal, versucht ein kleines Kniffelspiel in Flash zu "implementieren".
Folgender Plan: beim Click auf einen Button soll der entsprechende Wert in das Textfeld eingetragen werden. Auch soweit kein Problem, solange man bei den Zahlen 1-6 bleibt.

Nun das Problem: Für einen 3er-Pasch muss ich ja abfragen ob mindestens 3 der 5 Würfel den gleichen Wert haben (1-6).

Ich habe einiges versucht, sorichtig klappt aber keines davon:

variante 1)
Button.onPress = function () {...
//If-statements mit den 10 möglichen Dreierkombinationen aus 5 Würfeln
a) if ( (w1=w2=w3) || (w1=w2=w3) || ...) // geht das überhaupt???
then: alle summe von w1...w5 ausrechnen
else: gleich summe=0...
rein theoretisch könnte es ja funktionieren? oder mag das flash nicht wenn in einer if-Bedingungen mehrere Variablen stehen?



... = function () {
b) //die ite in einander verschachtelt...
if (w1=w2) {
if (w2=w3) {
etc... ausrechnen...

am einfachsten wäre die variante: einfach ausrechnen und eintragen. aber das wäre ja zu leicht...

Ich hoffe es findet sich der oder andere der das Spiel kennt... ist aber nicht zwingend....

Es muss doch nen Weg geben, ohne großen Aufwand mehr als 2 Variablen "gleichzeitig" abzufragen in einer if-Bedingung, oder etwa nicht???
Robbtodd ist offline   Mit Zitat antworten
Alt 29-08-2006, 16:12   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 12
Habe für eine Semsterarbeit ein Yatzy in JavaScript Programmiert den du sicherlich in AS implementieren kannst.
(Die 1.0 Version läuft nur unter IE)

yatzy

Bsp 3 Gleiche habe ich folgendermassen gelösst:

Die Würfel in ein 2. Array kopiert&sortiert und musst nur noch 3 if's machen

PHP-Code:

if (wuerfelS[1] == wuerfelS[3])     //(Y)-Y-(Y)-A-B
        
{    totalKomb[y]=(wuerfelS[3]);}
if (
wuerfelS[2] == wuerfelS[4])        //A-(Y)-Y-(Y)-B
        
{    totalKomb[y]=(wuerfelS[4]);}
if (
wuerfelS[3] == wuerfelS[5])        //A-B-(Y)-Y-(Y)
        
{    totalKomb[y]=(wuerfelS[5]);} 

Gruss

Geändert von asgardt (29-08-2006 um 16:19 Uhr)
asgardt ist offline   Mit Zitat antworten
Alt 29-08-2006, 16:17   #3 (permalink)
Flashbitch
 
Benutzerbild von X-Tender
 
Registriert seit: Oct 2003
Ort: Hannover
Beiträge: 279
ActionScript:
  1. checkForKniffel = function(w1,w2,w3,w4,w5){
  2.     var Kniffel = 1;
  3.     for(var i=2;i<=5;i++){
  4.         var tempVar = "w"+i;
  5.         if(tempVar == w1){
  6.             Kniffel++;
  7.         }
  8.     }
  9.     if(Kniffel == 5){
  10.         return true;
  11.     }
  12.     return false;
  13. }
  14.  
  15. checkFor4er = function(w1,w2,w3,w4,w5){
  16.     var Result = new Object();
  17.     Result[w1] = 1;
  18.     for(var i=2;i<=5;i++){
  19.         var Exists = false;
  20.         for(Count in Result){
  21.             if(Result[Count] == w2){
  22.                 Result[Count]++;
  23.                 Exists = true;
  24.                 break;
  25.             }
  26.         }
  27.         if(!Exists){
  28.             Result["w"+i] = 1;
  29.         }
  30.     }
  31.     for(Count in Result){
  32.         if(Result[Count] == 4){
  33.             return true;
  34.         }
  35.     }
  36.     return false;
  37. }
  38.  
  39. checkFor3er = function(w1,w2,w3,w4,w5){
  40.     var Result = new Object();
  41.     Result[w1] = 1;
  42.     for(var i=2;i<=5;i++){
  43.         var Exists = false;
  44.         for(Count in Result){
  45.             if(Result[Count] == w2){
  46.                 Result[Count]++;
  47.                 Exists = true;
  48.                 break;
  49.             }
  50.         }
  51.         if(!Exists){
  52.             Result["w"+i] = 1;
  53.         }
  54.     }
  55.     for(Count in Result){
  56.         if(Result[Count] == 3){
  57.             return true;
  58.         }
  59.     }
  60.     return false;
  61. }
  62.  
  63. checkForFullHouse = function(w1,w2,w3,w4,w5){
  64.     var Result = new Object();
  65.     Result[w1] = 1;
  66.     for(var i=2;i<=5;i++){
  67.         var Exists = false;
  68.         for(Count in Result){
  69.             if(Result[Count] == w2){
  70.                 Result[Count]++;
  71.                 Exists = true;
  72.                 break;
  73.             }
  74.         }
  75.         if(!Exists){
  76.             Result["w"+i] = 1;
  77.         }
  78.     }
  79.     var FullHouse = 0
  80.     for(Count in Result){
  81.         if((Result[Count] == 3 || Result[Count] == 2) && FullHouse == 0){
  82.             FullHouse += Result[Count];
  83.         }
  84.         if(Result[Count] == 3 && FullHouse < 3){
  85.             FullHouse += Result[Count];
  86.         }      
  87.         if(Result[Count] == 2 && FullHouse > 2){
  88.             FullHouse += Result[Count];
  89.         }         
  90.     }
  91.     if (FullHouse == 5){
  92.         return true;
  93.     }
  94.     return false;
  95. }


Keine ahnung ob alles geht, das sind bestimt paar syntax fehler drinne, hab heier grad kein flash auf dem rechner. kann den restheut abend machenwenn noch interesse besteht.
__________________
Fuchtelworld
X-Tender ist offline   Mit Zitat antworten
Alt 30-08-2006, 18:07   #4 (permalink)
Neuer User
 
Benutzerbild von Robbtodd
 
Registriert seit: Mar 2004
Beiträge: 13
jungs erstmal danke... für die 2. variante bin ich sehr dankbar, sieht sehr gut aus... hatte jaauch mal an sowas gedacht, aber das musste irgendwie auch so funzen... trotzdem besten dank...

und sorry für die späte message, aber kann zur zeit nicht so oft ins netz...

ich hab euch lieb!
Robbtodd ist offline   Mit Zitat antworten
Alt 02-09-2006, 00:02   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 12
Hallo Robbtodd,

Habe mal Probiert meinen alten JavaScript-Code ins Flash zu bringen:-)

Da ich schon seit langem mal die vorgenensweise von Klassen verstehen wollte, habe ich kurzerhand mal was "gebastelt" und es Funktioniert sogar noch
Habe Probiert die Logik in die Klasse abzulegen und das Grafische in der fla.
Kannst ja mal anschauen, bez. vielleicht könnte mal mir jemand sagen ob ich auf
dem richtigen Weg bin.

Anhang im Flash MX2004-Format

Gruss
Angehängte Dateien
Dateityp: rar AS_yatzy_V0.7.rar (27,0 KB, 9x aufgerufen)
asgardt ist offline   Mit Zitat antworten
Alt 02-09-2006, 12:43   #6 (permalink)
Neuer User
 
Benutzerbild von Robbtodd
 
Registriert seit: Mar 2004
Beiträge: 13
Hallo und erstmal dankeschön!!!

also bei funzt das alles soweit nur das es halt beim kniffel im vergleich zu yatzy ein paar andere sachen gibt, die man würfeln muss bzw. anders zusammengerechnet werden...

verstehe zwar manche sachen nicht aber egal, muss man halt genauer unter die lupe nehmen...

bis dahin... danke
Robbtodd ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele