Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-03-2007, 07:18   #1 (permalink)
wau
 
Benutzerbild von Circushund
 
Registriert seit: Jan 2006
Ort: Hamburch
Beiträge: 404
Verteilung von Chips

hi,
..nein ich meine nicht im Kino oder auf einer Party, ich meine Spiel-Chips:
Ich brüte darüber nun schon seit vorgestern und bin noch zu keiner Lösung gekommen .
Für mein Pokersspiel möchte ich den Inhalt des Pots in Chips aufteile,
die als Bspl. Höhen von 1er, 2er,5er,10er 20er und 50er haben.
Nun möchte ich wissen, wieviel Chips ich von welcher Höhe brauche ?

Also wenn ich zB. im Pot 53 ist, bekommt der Gewinner 1x50er, 1x2er und 1x1er.

Als Mensch kann kann man das einfach Lösen, doch ich komm einfach auf keine Mathematisch Formel dafür??
Als Ansatz hab ich schon versucht mit "Modulo"oder "Int", doch ich bekomms nicht zusammen ?
__________________
Say no to Internet Explorer 6!
Circushund ist offline   Mit Zitat antworten
Alt 04-03-2007, 08:50   #2 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Du fängst halt beim größten Wert an und schaust wie oft dieser reinpasst,
ziehst das ab und gehst zum nächst kleineren Wert und machst das ganze
erneut. So lang bis nichts mehr übrig ist..

(Schau dir auch mal den Modulo Operator (%) an)


So z.B.
ActionScript:
  1. var chips:Array = [50, 20, 10, 5, 2, 1];
  2.  
  3. var balance:Number = 53;
  4.  
  5. var i:Number = 0;
  6. while(balance>0)
  7. {
  8.     var newBalance:Number = balance%chips[i];
  9.     trace(chips[i]+"x "+(balance-newBalance)/chips[i]);
  10.     balance = newBalance;
  11.     //
  12.     i++;
  13. }



[Warum meldest du dich nicht einfach bei einem Pokerraum an um mit deinen
Freunden zu spielen? Du hast keine Arbeit und spielst sogar richtiges Poker]

Geändert von sebastian (04-03-2007 um 09:03 Uhr)
sebastian ist offline   Mit Zitat antworten
Alt 04-03-2007, 09:27   #3 (permalink)
wau
 
Benutzerbild von Circushund
 
Registriert seit: Jan 2006
Ort: Hamburch
Beiträge: 404
thx ,
perfekt, das ist es, manchal rätzelt mann an was rum, was nur ein paar Zeilen braucht...

Ich weiss, wäre einfacher, sich in einem Pokerraum anzumelden aber ich weiss nicht so, ist mir etwas suspekt.
Ich wollte ein Pokerspiel für unsere Clan Seite basteln. Das Ganze funktioniert mit SQL Datanbank und ist ein Pseudo-Multiplayer
Zwischenresultat hier:
http://www.dwienand.de/Expo/karten.swf
Man muss erst die Farbe wählen und dann einen Namen eingeben und dann OK drücken/genau diese Reihnfolge)
Es ist noch nicht fertig, bisher geht nur Karten geben und tauschen.
__________________
Say no to Internet Explorer 6!
Circushund ist offline   Mit Zitat antworten
Alt 04-03-2007, 09:43   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
ActionScript:
  1. function arrange(pott:Number, chipsvalues:Array):Array {
  2.     var chips:Array = new Array();
  3.     for (var i:Number = 0; i<chipsvalues.length; i++) {
  4.         chips[i] = (pott-(pott%chipsvalues[i]))/chipsvalues[i];
  5.         pott = (pott%chipsvalues[i]);
  6.     }
  7.     return chips;
  8. }
Anwendung:
ActionScript:
  1. var pott:Number = 2567;
  2. var chipsvalues:Array = new Array(Number(50), Number(20), Number(10), Number(2), Number(1));
  3. trace(arrange(pott, chipsvalues));
Ausgabe:
Zitat:
51,0,1,3,1
Hey Sebastian, schicke Lösung!

Geändert von Omega Psi (04-03-2007 um 09:45 Uhr)
Omega Psi ist offline   Mit Zitat antworten
Alt 04-03-2007, 09:48   #5 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Psi: Deine Lösung ist im Grunde ja genau die gleiche, mich stört
bei dir aber vorallem die eine unnötige Berechnung und dass
du jedes mal die maximalen Durchläufe hast.

Komisch finde ich deine Castings, warum castest du noch mal
extra auf Number?

greetz

Geändert von sebastian (04-03-2007 um 09:50 Uhr)
sebastian ist offline   Mit Zitat antworten
Alt 04-03-2007, 09:53   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Das Casting war ausversehen... ich bin noch net so lange wach (Kenne das eigentlich nur, dass Arrays einen DT speichern - hatte gerade keinen Musse dann an dieser Stelle nach Fehlern zu suchen, falls da irgendetwas nicht passt).

Hatte auch erst nach deinem Edit deine Lösung bei meinem Reply gelesen.
Omega Psi ist offline   Mit Zitat antworten
Alt 04-03-2007, 10:34   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Also Castings kommen raus, wie ich nun weiss. Die maximalen Durchläufe sind gewollt, weil man so theoretisch (ich weiss ja net, wie das Ding die Chips der Spieler verwaltet), einfach die Chips auf das Konto der Spieler aufaddieren kann.

Ich würde es denke ich durchaus so machen, dass ein Spieler einen Pool von Chips bestimmter Werte hat, wie beim echten Poker. Und da bietet sich ein Array zur Verwaltung dieses Pools einfach an.
Omega Psi ist offline   Mit Zitat antworten
Alt 04-03-2007, 10:48   #8 (permalink)
wau
 
Benutzerbild von Circushund
 
Registriert seit: Jan 2006
Ort: Hamburch
Beiträge: 404
hi omega,

ja, deine Lösung mit dem Array find ich auch ganz gut, da ich eh die Chips mittles einem attacheMovie (in einer Schleife) erzeugen muss. Und klar, jeder Spieler bekommt (schau mal .swf) einen bestimmten Wert in Chips am Anfang ausgehändigt.
Verschiede Werte(bzw. unterschiedliche Chips) machen das Spiel etwas interessanter, das man differenzierter Setzen kann, anstatt nur einen Chip zu haben..
__________________
Say no to Internet Explorer 6!
Circushund 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 19:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele