Funktionsaufrufbug und *Keinnameeinfall*bug in einem Prog

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Woody the woodiest

Betreff: Funktionsaufrufbug und *Keinnameeinfall*bug in einem Prog

BeitragSa, Dez 04, 2004 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
In diesem Code funzt die Funktion irgendwie nicht richtig.
Zudem verschwindet der obere Text, wenn man die Meldung "Keine weieren Zeichen mehr" bekommen hat und auf "Neu klickt".

Code: [AUSKLAPPEN]

Graphics 800,600,32,1     ;Vollbild mit Auflösung 800x600x32
SetBuffer BackBuffer()      ;Backbuffer auswählen

;Font laden
Font=LoadFont("Franklin Gothic Medium",18,0,0,0)

SetFont Font
 

;Images laden
Endbutton=LoadImage("Beenden-Button.png")
Zeiger=LoadImage("Mauszeiger_JLTW.png")
Completebutton=LoadImage("Completebutton_JLTW.png")
Neubutton=LoadImage("Neubutton_JLTW.png")
Anzeigenbutton=LoadImage("Anzeigen_JLTW.png")

;-----------------
;Arrays          |
;_________________

Dim Buchstabe(10)           ;Array für 10 Buchstaben (genauer gesagt: ACSII-Codes der Buchstaben, deshalb Integer)

;-----------------
;Konstanten      |
;-----------------

;Koordinaten der Buttons

Const EndbuttonX=0
Const EndbuttonY=560

Const CompletebuttonX=46
Const CompletebuttonY=568

Const NeubuttonX=134
Const NeubuttonY=568

Const AnzeigenbuttonX=162
Const AnzeigenbuttonY=568

;----------------
;Hauptschleife  |
;----------------

;----------------
;Funktionen     |
;---------------

Function Moeglichkeitenausrechnung(Buchstabenanzahl)
 If Buchstabenanzahl=0 Then Moeglichkeiten=1
 If Buchstabenanzahl=1 Then Moeglichkeiten=2
 If Buchstabenanzahl=2 Then Moeglichkeiten=6
 If Buchstabenanzahl=3 Then Moeglichkeiten=24
 If Buchstabenanzahl=4 Then Moeglichkeiten=120
 If Buchstabenanzahl=5 Then Moeglichkeiten=720
 If Buchstabenanzahl=6 Then Moeglichkeiten=5040
 If Buchstabenanzahl=7 Then Moeglichkeiten=40320
 If Buchstabenanzahl=8 Then Moeglichkeiten=362880
 If Buchstabenanzahl=9 Then Moeglichkeiten=3628800
 Return Moeglichkeiten
End Function

Repeat
 Cls                        ;Bildschirm löschen
 ClsColor 60,130,255        ;Hintergrundfarbe
 
 Color 0,0,0
 ZeigerX=MouseX()
 ZeigerY=MouseY()
 
 If Stelle=0 Then Wievielterbuchstabe$="ersten"
 If Stelle=1 Then Wievielterbuchstabe$="zweiten"
 If Stelle=2 Then Wievielterbuchstabe$="dritten"
 If Stelle=3 Then Wievielterbuchstabe$="vierten"
 If Stelle=4 Then Wievielterbuchstabe$="fünften"
 If Stelle=5 Then Wievielterbuchstabe$="sechsten"
 If Stelle=6 Then Wievielterbuchstabe$="siebten"
 If Stelle=7 Then Wievielterbuchstabe$="achten"
 If Stelle=8 Then Wievielterbuchstabe$="neunten"
 If Stelle=9 Then Wievielterbuchstabe$="zehnten"
 
 
 If Stelle>9 Then
  Text 10,0,"Sie können keine weiteren Zeichen mehr eingeben! (Klicken Sie auf "+Chr$(34)+" Wort komplett "+Chr$(34)+", wenn das Wort bereits komplett ist)",0,0
  Stellenueberschreitung=1
 End If 
 
 ;Eingabeaufforderung
 If Stellenueberschreitung=0
  Text 10,0,"Bitte geben Sie den " + Wievielterbuchstabe + " Buchstaben ein! (Klicken Sie auf "+Chr$(34)+"Wort komplett"+Chr$(34)+", wenn das Wort bereits komplett ist)",0,0
  Eingabe=GetKey()
 End If
 
 Buchstabe(Stelle)=Eingabe
 If Buchstabe(Stelle)>0 And Stellenueberschreitung=0 Then
  Stelle=Stelle+1
 End If


 Daten=WriteFile ("C:\Programme\ASCII-Codes.txt")     ;Datei erstellen
 For a=0 To 10   
  WriteLine Daten,Buchstabe(a)          ;Die ASCII-Codes der Buchstaben in einer Textdatei speichern
 Next
 CloseFile Daten             ;Datei wieder schließen


 
 ;Buttons malen
 DrawImage Endbutton,EndbuttonX,EndbuttonY
 DrawImage Completebutton,CompletebuttonX,CompletebuttonY
 DrawImage Neubutton,NeubuttonX,NeubuttonY
 DrawImage Anzeigenbutton,AnzeigenbuttonX,AnzeigenbuttonY
 
 ;Buttons beschriften
 Text CompletebuttonX+3,EndbuttonY+6,"Wort komplett",0,0       ;Completebutton
 Text EndbuttonX+12,EndbuttonY+6,"Ende",0,0                    ;Endbutton
 Text NeubuttonX+2,NeubuttonY-2,"Neu",0,0                      ;Neubutton
 Text AnzeigenbuttonX+1,AnzeigenbuttonY-2,"Ergebnisse anzeigen",0,0
 
 ;Zeiger malen
 DrawImage Zeiger,ZeigerX,ZeigerY

 
 ;--------------------------------------------
 ;Kollisionsabfragen beim Drücken von Buttons|
 ;--------------------------------------------
 
 ;Maus/Endbutton-Abfrage
 If ImagesCollide(Zeiger,ZeigerX,ZeigerY,0,Endbutton,EndbuttonX,EndbuttonY,0) And MouseDown(1) Then
  Beenden=1
 End If
 
 ;Maus/Completebutton-Abfrage
 If ImagesCollide(Zeiger,ZeigerX,ZeigerY,0,Completebutton,CompletebuttonX,CompletebuttonY,0) And MouseDown(1) Then
  Komplett=1
 End If

 ;Maus/Neubutton-Abfrage
 If ImagesCollide(Zeiger,ZeigerX,ZeigerY,0,Neubutton,NeubuttonX,NeubuttonY,0) And MouseDown(1) Then
  Neu=1
 End If

 ;Säubern des Arrays "Buchstabe" beim Drücken von "Neu"
 
 If Neu=1 Then
  For a=0 To 9
   Buchstabe(a)=0
  Next
  Stelle=0
  Neu=0
 End If
 
 
 If Komplett=1 Then
  Buchstabenanzahl=Stelle           ;Buchstabenanzahl entspricht der Stellenanzahl
  Moeglichkeitenausrechnung(Buchstabenanzahl)
  if Moeglichkeiten>5000 then Beenden=1      ;Funktionstest
   
 End If
 
 
 Flip
Until Beenden=1 Or KeyHit(1)        ;Ende des Programms beim Drücken von Esc oder beim Klicken auf "Ende"



End
Am Sonntag sind die Autobahnen leer, so kann man ruhig in Urlaub fahren.
Würden alle so denken, wären die Autobahnen am Sonntag voll.
Warum sind sie es trotzdem nicht?
Weil der Großteil der Bevölkerung gar nicht denken KANN.
  • Zuletzt bearbeitet von Woody the woodiest am So, Dez 12, 2004 14:51, insgesamt einmal bearbeitet

simi

BeitragSa, Dez 04, 2004 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
MAchs mal so:
Code: [AUSKLAPPEN]

If Komplett=1 Then
  Buchstabenanzahl=Stelle           ;Buchstabenanzahl entspricht der Stellenanzahl
  Moeglichkeiten = Moeglichkeitenausrechnung(Buchstabenanzahl)
  if Moeglichkeiten>5000 then Beenden=1      ;Funktionstest
 End If


Dann noch ClsColor aus der Shcleife, und das abspeichern...
 

Woody the woodiest

BeitragMi, Dez 08, 2004 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie krieg ich es weg, dass der Text oben ganz verschwindet?
Clscolor aus der Schleife funzt nämlich net (Falls das überhaupt diesen Bug bereinigen sollte)
Am Sonntag sind die Autobahnen leer, so kann man ruhig in Urlaub fahren.
Würden alle so denken, wären die Autobahnen am Sonntag voll.
Warum sind sie es trotzdem nicht?
Weil der Großteil der Bevölkerung gar nicht denken KANN.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group