Texas Hold'em Poker (Progger gesucht)
Übersicht

wutziliBetreff: Verschieben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, verschieben ist doch nicht schlecht. ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
nur so als letzter Hinweis:
Code: [AUSKLAPPEN] a1=10
a2=20 a3=30 a4=40 a5=50 a6=60 a7=70 print a1 print a2 print a3 print a4 print a5 print a6 print a7 Code: [AUSKLAPPEN] dim a(7) for i = 1 to 7 a(i) = 10*i print a(i) next Vergleich nur mal die Schreibarbeit. Wenn Du es von Anfang an richtig machst wirst Du dir massig Zeit sparen. Damit das allerdings funktioniert darfst Du nicht wild losprogrammieren sondern musst erst lernen und verstehen. Es liegt bei dir wie Du es machst. Allerdings werde ich mir nicht die Mühe machen die Codeungetüme die bei deinem jetzigen Stil entstehen durchzuschauen. Wenn Du Hilfe willst solltest Du allgemein anerkannte Prinzipien befolgen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Da es aber keine Fehler sind die die Funktionalität beeinträchtigen (Schönheitsfehler eben) werde ich diese nach und nach ausmärzen wenn ich soweit bin. Das hier ist kein schönheitsfehler: ( 54 zeilig nach unten ) Code: [AUSKLAPPEN] Global karte0.kartenTyp Global karte1.kartenTyp Global karte2.kartenTyp Global karte3.kartenTyp Global karte4.kartenTyp Global karte5.kartenTyp Global karte6.kartenTyp Global karte7.kartenTyp Global karte8.kartenTyp und dann damit weiter den typ erstellen Code: [AUSKLAPPEN] karte0.kartenTyp=New kartenTyp karte1.kartenTyp=New kartenTyp karte2.kartenTyp=New kartenTyp karte3.kartenTyp=New kartenTyp karte4.kartenTyp=New kartenTyp karte5.kartenTyp=New kartenTyp karte6.kartenTyp=New kartenTyp karte7.kartenTyp=New kartenTyp damit du so zuweisen kannst: Code: [AUSKLAPPEN] karte0\k_type$="Pick Ass" karte1\k_type$="Pick König" karte2\k_type$="Pick Dame" karte3\k_type$="Pick Bube" karte4\k_type$="Pick 10" karte5\k_type$="Pick 9" karte6\k_type$="Pick 8" karte7\k_type$="Pick 7" karte8\k_type$="Pick 6" Dein kompletter type braucht unglaubliche 216 Zeilen ![]() Da schreibe ich spaceshooter mit 5 types drinne. Die um einiges mehr beinhalten als die namen einer karte und den frame der mal angezeigt werden soll. Das ist keine kritik! Lediglich der hinweis daraufhin, dass das im sinne deines projektes so kaum durchführbar sein wird. Ich weis das du bb anfänger bist, ich selbst habe auch so in der art angefangen zu proggen, und manchmal, wenn ich zu faul zum denken bin, mach ichs wieder. Um dir zu zeigen, wie umständlich du es machst, schreib doch mal ne function, die alle karten gleichzeitig auf dem bildschirm malt. Kannste ja simpel "als show_all_cads()" in deine schleife mit einbinden, da wo auch "karten_mischen()" und so drinne ist. Früher oder später musst du ja mal den type ansprechen, um zu sehen was aufn tisch liegt. mfg Dottakopf |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dottakopf:
Selbst das ist noch unsauber. Warum nicht einfach so: Code: [AUSKLAPPEN] Dim karte.kartenTyp(8)
For t=0 To 8 karte(t) = New kartenTyp karte(t)\k_type$ = "Bla Blubb" Next |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Selbst das ist noch unsauber. Warum nicht einfach so: äh was ist unsauber ? ich wollte lediglich dazu anregen, dass er mal versucht alle bilder anzuzeigen. Was komplex werden könnte. Ne frage am rande: warum mehrere karten typen ? Bin mit poker nicht wirklich vertraut, und bin glücklich, wenn ich gegen meine 9 jährige schwester 9erles gewinne ^^. lol.karte = new kartentype blup.karte = new kartentype Das sind doch 2 verschiedene types. Oder brauch ich type nachhilfe ? ![]() ~Edit~ ist zwar nicht so cool wie vom admin aber des wäre die 2te variante: Code: [AUSKLAPPEN] For x = 0 To 53 x_koord = x_koord + 50 info.karte = New karte info\kx = x_koord info\ky = 200 info\k_frame = x Next und dann halt noch mit for bla ech blup type ansprechen und malen Maskimage nicht in einer schleife ausführen,sondern nach dem bilder laden. mfg Dottakopf |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: lol.karte = new kartentype
nein, das sind zwei verschiedene instanzen eines types. das lol/blup ist ein zeiger auf eben solch eine instanz. manche nennen types auch klassen und instanzen auch objekte... das ist mit normalem sprachgebrauch auch leichter nachzuvollziehen. lol und blup sind zwar zwei verschiedene objekte, aber objekte derselben klasse, nämlich karte. beide sind karten. da karte der type ist, ist es nur ein type.
blup.karte = new kartentype Das sind doch 2 verschiedene types. Oder brauch ich type nachhilfe ? deine methode unterscheidet sich nicht so sehr von dees. dee speichert lediglich die objektadressen in einem array, wodurch sich später der zugriff vereinfacht. aber wie du schon erkannt hast, ist das nicht zwingend notwendig, da blitz ganz von selbst darauf achtet, das kein objektschäfchen verloren geht, und sie dir alle über foreach abrufbar hält (= |
||
MrKeks.net |
wutzili |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
[quote="Dottakopf"]Zitat: Ne frage am rande: warum mehrere karten typen ? Bin mit poker nicht wirklich vertraut, und bin glücklich, wenn ich gegen meine 9 jährige schwester 9erles gewinne ^^. Also ich habe das As 4 mal so wie alle restlichen 12 Karten (2,3,4,5,6,7,8,9,10,b,d,k,a), jede der Karten möchte ich einen Wert zuordnen. Ich denke mal mit der unteren Schleife könnte ich das machen! Aber dann muß ich 13 verschiedene Types erstellen für jede Kartenansammlung (Gleiche Karten z.B.: 4,4,4,4) also habe ich das erstmal so gelöst bis ich eine Idee habe es anders zu lösen. Dim feld(10) ok währe eine Lösung oder Arrays sowie Mehrdimensionale Arrays. Aber erstmal gehts so. Warum eigentlich soll ich alle Karten ausgeben? He ich weiß das ich das über for....next machen kann. Sehe darin keinen sinn sorry. Wenn Du etwas ungestresster schreiben würdest dann könnte sogar ich es verstehen. [quote="Dottakopf"]Zitat: Code: [AUSKLAPPEN] For x = 0 To 53 x_koord = x_koord + 50 info.karte = New karte info\kx = x_koord info\ky = 200 info\k_frame = x Next Also mit obenstehender Schleife oder die vom Admin währe der Karten Types bestimmt verkürzt. So werde ich das auch noch machen, nur sind das dann 13 verschiedene Types wegen den verschiedenen Wertigkeiten und Kartennamen! z.b. Karo As oder Pick As sollen beide eine Wertigkeit bekomme (die selbe) Aber es sind bei verschiedenen Spielarten völlig verschiedene Karten! Also Pick ist höher wie Karo. Ok das ist noch weit weg aber so wird oder soll es sein. Wenn jemand mir bei den Types helfen kann ohne das ich 13 verschiedene (pro Kartenansammlung eine) mache muß währe das echt suppi lieb. und Dottakopf ich brauche keine karten x - Y Koordinaten im Types. Die x - y Koordinaten gebe ich so aus da diese immer gleichbleiben. Mit freundlichem Gruß wutzili |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Die x - y Koordinaten gebe ich so aus da diese immer gleichbleiben.
Und machst dir damit das leben schwer da du für dutzende Karten die Koordinaten irgendwo hinschreibst anstatt sie anhand eines simplen Einzeilers berechnen zu lassen. Und Du brauchs nicht soviele Types. Jedes Objekt welches Du von einem Type erstellst wird intern in einer Liste verwaltet und kann JEDERZEIT aufgerufen werden, ohne dass Du für jede Instanz eine eigene Variable erstellst. Du hast also den Sinn von Types bislang noch nicht mal im Ansatz erfasst. Types sind ja grade für den Fall dass man sehr viele Objekte braucht sehr gut, da man jedes Objekt in einer Schleife durchlaufen kann und dann anhand der Felder in ihnen entscheidet ob es grade zu bearbeiten ist oder nicht. In deinem Fall jedoch würde ich das Spiel selbst (also die Karten) sogar noch eher als Array verwalten, da Du ja eine feste Kartenzahl hast welche sich nie ändert. Mit einem simplen Karten(13,4) hast Du alle Karten abgedeckt und kannst zB in die einzelnen Zellen die Nummer des Spielers eintragen der die Karte grade hält. Anhand des numerischen Wertes der Arrayposition ist es auch kein Problem das Frame für die visuelle Darstellung zu errechnen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
wutzili |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
[quote="BladeRunner"]Zitat: Du hast also den Sinn von Types bislang noch nicht mal im Ansatz erfasst. Doch ich denke schon, nur hat jeder einzelne Datensatz in dem Types einen anderen Namen. wie also soll ich das mit einer for machen? 13 mal Pick, 13 mal Karo usw. Das ist das einzigste was ich nicht hinbekomme. Ok ich könnte das auf 4 (karo, herz, pick, kreuz) Types eingrenzen aber mehr schaffe ich z.Z. nicht. Und die x - y Koordinaten brauche ich nur einmal für die Community Cards und je zwei für alle Spieler. Wozu also errechnen lassen wenn ich die Werte fest eingeben kann und nur die kartennummer des aufzuruffenden Bildes sich ändert? Das währe auch nicht viel kürzer. ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Doch, soehe oben in meinem Beispiel. Das ist dasselbe Prinzip. Anstatt 7 Zuweisungen und 7*print (14 Zeilen) hab ich 5 Zeilen Code, und das geht auch für die Anzeige. Du musst nur die Anzeige abstrahieren, nach gleichförmigkeiten suchen. Die karten werden schon der Optik wegen in einem regelmäßigen Abstand liegen, also wird es eine Formel geben anhand derer du sie einzeichnen lassen kannst.
Und nein, Du brauchst nicht mehrere Types. Beispiel: Code: [AUSKLAPPEN] Type test
Field name$ Field wert% End Type For i = 1 To 4 For j = 1 To 13 a.test = New test a\wert = j Select i Case 1 a\name="kreuz" Case 2 a\name="pik" Case 3 a\name="Herz" Case 4 a\name="karo" End Select Next Next For a = Each test Print a\name+" "+a\wert WaitKey Next Ich bilde mit einem Type und in weniger als 25 Zeilen mehr ab als Du in 130. Du hast es nicht verstanden, glaub es mir. Du solltest noch weiter üben bevor Du das hier weiter machst. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
wutzili |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BladeRunner hat Folgendes geschrieben: Code: [AUSKLAPPEN] For i = 1 To 4 For j = 1 To 13 a.test = New test a\wert = j Select i Case 1 a\name="kreuz" Case 2 a\name="pik" Case 3 a\name="Herz" Case 4 a\name="karo" End Select Next Next For a = Each test Print a\name+" "+a\wert WaitKey Next He suppi danke, habe das mal umgesetzt und so gehts, mit dem Select da bin ich net drauf gekommen. Cool danke. Das hat meinen code um 163 zeilen verkürzt! DANKE DANKE Aber die Typen habe ich verstanden " Was man damit bezweckt" aber wie ich mit Ihnen in deren unterschiedlichsten anwendungsweisen umgehe nicht. Nochmal Danke |
||
pepetigo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin zwar noch nicht so gut würde aber gerne mal mitbekommen wie das so funktioniert.
Vielleicht lerne ich auch etwas. Und ich denke nur aus "Praxis" lernt man. |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie was funktioniert? Arrays? | ||
wutzili |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
The_Nici hat Folgendes geschrieben: Wie was funktioniert? Arrays?
Wenn Du etwas weiter oben anfangen würdest zu lesen würdest Du auch wissen was gemeint ist! Ich denke mal das Du nicht alles gelesen hast und somit auch den zusammenhang nicht verstehst! So mal eben doppelt gemoppelt ![]() Kommentar war dieses auch bezogen! Danke nochmal an ------------------------------------------------- DICH-----------------------------------------/ -----------------------------------------------| <--- MEISTER KLASSE | DEN RAT HATTE ICH GEBRAUCHT | DANKE BladeRunner--------------------------------\ ------------------------------------------------- ![]() codesalat ![]() MFG |
||
wutziliBetreff: Ich habe mir mal mühe gegeben !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier der Link mit dem Aktuellen Stand des Spiels! ![]() http://www.designer-poker.de/texas%20hold%20em.rar Habe die Nacht bis jetzt durchgemacht ![]() Die ganze struktur ist nun umgebaut und es funktioniert auch alles bis jetzt. Zwar hab ich noch nicht den ganzen Alten Code überarbeitet, das kommt daher das ich auf ein Komentar von einem der es drauf hat warte. Ich möchte gerne wissen ob ich nun auf dem richtigen Weg bin oder ob meine Struktur nun immer noch höchstens für die Ablage P taugt (P = Papiertonne) ![]() Ich würd mich TIERISCH FREUEN wenn jemand sagt so und noch ca. 82% mehr dann biste kein Anfänger mehr ![]() Mit freundlichem Gruß wutzili |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
auf jeden fall besser.
Die main kann man für meinen geschmack so lassen. (von der gliederung her). Auch find ichs gut, dass du mal die includes sinvoll benannt hast und der inhalt der sich da drin befindet da auch reinpasst. Trotzdem passt des so immer noch nicht, bzw. ich würde es anders machen, da es mir einfach zu nervig wäre immer von einer include zur anderen zu hüpfen nur um mal kurz ne varriable hinzuzufügen bzw. einen kleinen wert zu verändern. Vorschlag: Die main kannste so eig. lassen aber ich würde da noch die ganzen grafiken nach den includes laden. Die main-loop glieder ich bei jedem projekt immer so: Code: [AUSKLAPPEN] repeat if menu = 0 cls show_menu elseif menu = 1 cls karten_geben() karten_auswerten() usw() elseif menu = 2 pause() elseif menu = 3 game_over() end if flip until keyhit(1) So kann ich den programmablauf in meinem game leicht und simpel kontrolieren. Die restlichen includes naja..... Statt eine "functionen.bb" zu schreiben, solltest du lieber karten_zeug.bb machen. Da kommen dan so funktionen rein die mit karten zu tun haben. Karten_mischen(),karten_geben(), karten_auswerten(). Sowas in der art. Alle varriablen die du für die gerade gennanten funktionen brauchst müssen dan auch in der karten_zeug.bb stehen. Das gilt auch für die types. Ich schlage vor, dass du das programm in 3 teile unterteilst - main die alles zusammenfasst - karten_zeug.bb ("oder sinvollerer name ka welche ^^) - menu.bb (Das hat einfach nix mit karten zu tun....daher extra .bb) Ich behaupte, dass das gut an strukturiert rankommt. So ist es möglich, dass auch ein fremder dein progamm nachvollziehen kann. mfg Dottakopf |
||
wutziliBetreff: DANKESCHÖN |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja habe das mal so umgesetzt mit der MAIN...
Das klappt so sehr viel besser. Werde mich noch daran setzen das ich die Funktionen und Types etwas sinvoller Verteile. OK, habe es ja einer Datei unterteielt also wirds nicht all zu schwer ![]() He ein lichtchen am ende des Tunnels !! Jippy... Das freut mich... He gebe mir echt mühr net so zu sein wie die die das gleiche wie ich vorhatten und aufgegeben haben. Das macht mir volle elle spass. Soll net so rüberkommen das ich mich anstelle wenn jemand der Erfahrener ist wie ich sagt he lass es. Nein ich möcht da halt Durch und so macht das doch spass! Blade... Der hat mir schon mal dolle geholfen mit dem SELECT... hatte es vor augen aber nicht genutzt und nun ne ganze Nacht durchgemacht und dann Tatsäcklich n Lob.. <--- Mein erstes ![]() So werde mal Optimieren und dann den Code wieder Neu Online als Download stellen. MFG wutzili ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
D2006 hat Folgendes geschrieben: Noch ein Doppelpost und der Thread ist dicht. Benutze den Edit-Button.
Leider gehören leere Drohungen nicht zu meinem Repertoire, daher: ~GESCHLOSSEN~ |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group