Was mache ich falsch?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Pingu_Killer

Betreff: Was mache ich falsch?

BeitragDi, Okt 17, 2006 11:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe angefangen ein Blackjack Spiel zu proggen. Um aus den Karten (bis jetzt sind es erst 14) eine zufällig rauszusuchen, dimensioniere ich diese unter dem namen "cardkind(i)". naja, nur habe ich da irgendeinen Fehler gemacht, denn es wird immer die selbe karte angezeigt (karo 10). Wenn ihr euch die Zeit nehmen würded, meinen grässlichen code anschauen und den fehler rausuchen würdet, wäre ich euch sher dankbar.
´(Bitte ignoriert, wie schei*e der code geschrieben ist -.-)

hier ist der grässlich Code: [AUSKLAPPEN]

Graphics 640, 480, 16, 2
AppTitle "Bluffshark BlackJack"
SetBuffer BackBuffer()

; Karten
P_a = LoadImage("cards\p_A.bmp")
MaskImage P_a, 255, 0, 255
K_2 = LoadImage("cards\k_2.bmp")
MaskImage K_2, 255, 0, 255
K_3 = LoadImage("cards\k_3.bmp")
MaskImage K_3, 255, 0, 255
K_4 = LoadImage("cards\k_4.bmp")
MaskImage K_4, 255, 0, 255
K_5 = LoadImage("cards\k_5.bmp")
MaskImage K_5, 255, 0, 255
K_6 = LoadImage("cards\k_6.bmp")
MaskImage K_6, 255, 0, 255
K_7 = LoadImage("cards\k_7.bmp")
MaskImage K_7, 255, 0, 255
K_8 = LoadImage("cards\k_8.bmp")
MaskImage K_8, 255, 0, 255
K_9 = LoadImage("cards\k_9.bmp")
MaskImage K_9, 255, 0, 255
K_10 = LoadImage("cards\k_10.bmp")
MaskImage K_10, 255, 0, 255
K_b = LoadImage("cards\k_b.bmp")
MaskImage K_b, 255, 0, 255
K_d = LoadImage("cards\k_d.bmp")
MaskImage K_d, 255, 0, 255
K_k = LoadImage("cards\k_k.bmp")
MaskImage K_k, 255, 0, 255
K_a = LoadImage("cards\k_A.bmp")
MaskImage K_a, 255, 0, 255

; Spielfeld
feld = LoadImage("cards\positioner.bmp")
MaskImage feld, 255, 0, 255
deck = LoadImage("cards\Deck.bmp")
MaskImage deck, 255, 0, 255
anz = 52
backcard = LoadImage("cards\backcard.bmp")
MaskImage backcard, 255, 0, 255
backcard2 = LoadImage("cards\2ndBackcard.bmp")
MaskImage backcard2, 255, 0, 255

; Variablen die Zahlen repräsentieren
givingspeed = 5
givingspeed2 = 5
bc_x = 450
bc_y = 20
bc_x2 = 450
bc_y2 = 20
a_point = 23
b_point = 10
c_point = 321
points = 0
a = backcard
b = backcard2

Dim cardkind(anz)

For i = 1 To anz
cardkind(i) = Rand(1,14); Zufallszahl für die Karten (14 sind es bis jetzt
Next

;Hauptschleifenbeginn
Repeat
ClsColor 0,50,0
Cls
;------------------------------------------------------------------
;Grundanzeige (bilder, felder, texte, die immer angezeigt werden)
DrawImage deck, 450, 20
DrawImage feld, 197, 265
DrawImage feld, 197, 20
fntArial =LoadFont("Monotype Corsiva",40,True,False,False)
Color 200, 255, 55
SetFont fntArial
Text 400, 325, points
;------------------------------------------------------------------
;KARTENGEBEN:
Text 10, 10, cardkind(i)

;verdeckte Karten/ "Geberanimation"
If KeyHit(57) Then
         b_card = 1
EndIf
If b_card = True Then 
         DrawImage a, bc_x, bc_y
         bc_x = bc_x -givingspeed
         bc_y = bc_y +givingspeed 
EndIf
If bc_x = 200 Then
  givingspeed = 0
For i = 1 To anz

;ART DER KARTE/ IDENTIFIZIERUNG
If cardkind(i) = 1 Then
  a = P_a
  points = 11
ElseIf cardkind(i) = 2
  a = K_2
  points = 2
ElseIf cardkind(i) = 3
  a = K_3
  points = 3
ElseIf cardkind(i) = 4
  a = K_4
  points = 4
ElseIf cardkind(i) = 5
  a = K_5
  points = 5
ElseIf cardkind(i) = 6
  a = K_6
  points = 6
ElseIf cardkind(i) = 7
  a = K_7
  points = 7
ElseIf cardkind(i) = 8
  a = K_8
  points = 8
ElseIf cardkind(i) = 9
  a = K_9
  points = 9
ElseIf cardkind(i) = 10
  a = K_10
  points = 10
ElseIf cardkind(i) = 11
  a = K_b
  points = 10
ElseIf cardkind(i) = 12
  a = K_d
  points = 10
ElseIf cardkind(i) = 13
  a = K_k
  points = 10
ElseIf cardkind(i) = 14
  a = K_a
  points = 11
EndIf

; Geben der gegnerischen Karte (Bisweilen ohne Kartenidentifizierung)
Next
  b_card2 = 1
If b_card2 = 1 Then
DrawImage b, bc_x2, bc_y2
bc_x2 = bc_x2 -givingspeed2
EndIf
If bc_x2 = 200 Then
givingspeed2 = 0
EndIf     
EndIf
;------------------------------------------------------------------

Flip
Until KeyHit(1)
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

FOODy

BeitragDi, Okt 17, 2006 11:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich komme vom BM Bereich deshalb weiß ich nicht genau ob es den Befehl gibt.

In BM muss man den "Zufall" erst "initialisieren" (sowas in der richtung).
Und das tut man zb. mit:
Code: [AUSKLAPPEN]
SeedRnd Millisecs()

Am besten du schreibst es noch vor dem ersten Rand-Befehl. (einmal reicht)


EDIT:
Mehr dazu: http://blitzbase.de/befehle2d/seedrnd.htm
Bzw: http://blitzbase.de/menu/2y.htm
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB

Markus2

BeitragDi, Okt 17, 2006 12:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Quelltext ist in der Tat grausam Wink

DebugLog Idea hilft immer Exclamation

Pingu_Killer

BeitragDi, Okt 17, 2006 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Haa..... Die Welt ist gerettet! Tausend Dank dir!!! Very Happy
Klappt jetzte!!!!
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

Pingu_Killer

BeitragDi, Okt 17, 2006 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
wie funktioniert das? ich gehe da auf "Debug" bei bb3d und dann auf "view log". Dann öffnet sich ein schwarzer bildschirm. und was soll das?
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

d-bug

BeitragDi, Okt 17, 2006 13:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutze beim nächsten mal den Button (user posted image ) zum Editieren
deiner letzten Message. Doppelposts werden hier nicht gerne
gesehen und führen zu Herpes bei mir! Evil or Very Mad

cheers
 

Mr Hopp

BeitragDi, Okt 17, 2006 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei "Program" gibt es die option "Debug enabled"- aktivieren Wink
 

Ghost-Buster

BeitragDi, Okt 17, 2006 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
lol Dbug!

@ Topic
Das mit dem Millisec wird dauernd falsch gemacht, vielleicht schreib ich demnächst mal was simples in den Tutorial Teil.
Mein aktueller PC

AMD Athlon 64 X2 4200+ | A8NE-FM Mainboard | Dual DDR 2048 MB Ram | Geforce 7800 GTX 256 MB

www.clanmzk.de

StepTiger

BeitragDi, Okt 17, 2006 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
was ganz anders! wie wäre es mit dim?

Code: [AUSKLAPPEN]
cards=14

dim K(cards)

for x=1 to cards
   k(x)=LoadImage("bilder\karte_"+x+".bmp")
next
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group