Elrohir's Harry-Potter-Duell-Game Fragethread

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

Elrohir

Betreff: Elrohir's Harry-Potter-Duell-Game Fragethread

BeitragDi, Apr 21, 2009 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo Leutz, ich mal wieder Razz

Also, ich wollte so ein programm ersellen (aus Spass und Freizeit), welches beim Windoof-Hochfahren sich automatisch öffnet, jedoch unten in der Leiste! (Ich hoffe ihr wisst was ich mein, da, wo man auch die Lautstärke einstellen kann)
Apropo Lautstärke! ^^
So, jetzt sollte dieses Programm sowas können, Wenn ich [CTRL] + [F12] drücke, wird die Lautstärke lauter, und wenn [CTRL] + [F11] dann sollte sich die Lautstärke veringern...
Weil mich nervt das immer mit der Lautstärke per Maus einstellen!
Klar gibt es Programme im Internet, aber ich will selbst ein's schreiben! Wink
Ich würde das Programm gerne mit der If-Funktion schreiben, ich kenn nur einigermassen die Grundlagen, muss noch die komplizierteren lernen!
Aber das dürfte doch gehen, If Taste xx Keydown then VOlume +10% (zum Beispiel) oder?

Meine eigentliche Frage ist aber, wie man das so einbindet, dass es n autostart hat (Windoof fährt hoch) und wie es minimeirt angezeigt wird, also als kleines Icon unten in der Menü-Leiste!
Hoffe ihr könnt mir helfen!

Sollte eine Art Hilfe-Tool werden, auch will ich damit machen, wenn Taste xx gedrückt wurde, dann Opera öffnen usw. Razz

mfg
Elrohir
Le melin Nessa Sáralondë
  • Zuletzt bearbeitet von Elrohir am So, Apr 26, 2009 11:04, insgesamt 2-mal bearbeitet

Nicdel

BeitragDi, Apr 21, 2009 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Fenster verstecken: Userlib

Code: [AUSKLAPPEN]

.lib "user32.dll"
ShowWindow%(hWnd%, nCmdShow%) : "ShowWindow"


Das in eine Datei namens "user32.decls" kopieren und diese nach "Blitz3D-Pfad\Userlibs" verschieben.

Im Programm:

BlitzBasic: [AUSKLAPPEN]

hwnd = SystemProperty("AppHWND")
ShowWindow(hwnd,1) ; Zeigen
ShowWindow(hwnd,0) ; Verstecken


(Sagt, wenn ich mich irre...)

Lautstärke müsste auch irgentwie per Userlib gehen, fällt mir aber grad nichts zu ein.

Fürs Icon unten gibt's ne DLL, sie heißt ggTray. EInfach mal danach suchen
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Eingeproggt

BeitragDi, Apr 21, 2009 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ggTray Smile
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Elrohir

BeitragMi, Apr 22, 2009 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ging ja fix! ^^
Danke für die Antworten, ich werd mich dann wohl wieder beschäftigen! ^^
Le melin Nessa Sáralondë

DAK

BeitragMi, Apr 22, 2009 8:52
Antworten mit Zitat
Benutzer-Profile anzeigen
wegen der tasten brauchst du GetAsyncKeyState. Das Ganze brauchst du um Tastendrücke auch dann zu erkennen, wenn dein Programm grad nicht das aktive Fenster is.

Code: [AUSKLAPPEN]
.lib "user32.dll"
GetAsyncKeyState%(vKey%) : "GetAsyncKeyState"


die vKeys findest du hier: http://msdn.microsoft.com/en-u...S.85).aspx
Gewinner der 6. und der 68. BlitzCodeCompo

Elrohir

BeitragMi, Apr 22, 2009 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Aja, die keys hab ich auch noch gesucht! ^^
Nur schade, dass ich noch net anfangen kann, morgen Buchvortrag... Shocked
Naja, morgen Abend, hock ich mich hinter mein Blitz2D und dann wird das! ^^

Seit echt ne grosse Hilfe hier, super Antworten!
Le melin Nessa Sáralondë

Elrohir

BeitragSa, Apr 25, 2009 17:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Mhm, ich bin nun noch ne andere Funktion einzubauen, mit der "If-Schleife"

Code: [AUSKLAPPEN]

If KeyHit(49) Then
 Cls
...
(code)
...
EndIf


Aber dann will der bildschirm sich net löschen, wenn ich auf die [N]-Taste drücken will... :/

Edit: Oke sorry, hab's gelöst, vergessen über der if schlöeiche n "Input()" reinzuhauen! ^^
Le melin Nessa Sáralondë

Elrohir

BeitragSa, Apr 25, 2009 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Meine neue Frage: Wenn ich zum beispiel im Menü bin und ne auswahl wzischen a und b habe, anstatt a zu drücken und dann enter, kann ichauch a drücken und dann geht's weiter, also sobald a gedrückt wurde kommt automatisch das nechste Bild zum Beispiel...

Gibt es einen anderen Code als Input? Denn wenn ich Input schreibe, muss ich ja schreiben und dann Enter, ich will aber Taste drücken und nix mit Enter! ^^ Wenn ihr versteht was ich meine! Razz
Hoffe ihr könnt mir weiterhelfen!
Le melin Nessa Sáralondë

Nicdel

BeitragSa, Apr 25, 2009 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
GetKey
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Elrohir

BeitragSa, Apr 25, 2009 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, der ist das! Danke Very Happy
Nur... Confused
Wie kann ich den jetzt in mein Projekt umwandeln? Ich kann mit dem genannten Beispiel das nicht wirklich umsetzen... mhm
Le melin Nessa Sáralondë

Nicdel

BeitragSa, Apr 25, 2009 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

k = GetKey()
If k=97
Nächstes_Bild()
ElseIf k=98
Vorheriges_Bild()
Else
Nichts_machen()
EndIf
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Elrohir

BeitragSa, Apr 25, 2009 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
k = GetKey()
If k=97
[b]Nächstes_Bild()[/b]
ElseIf k=98
[b]Vorheriges_Bild()[/b]
Else
[b]Nichts_machen()[/b]
EndIf


Das was man hier nun fett sieht, sind alles Functionen? Ich habe mal für Exit so eine erstellt:

Code: [AUSKLAPPEN]
Function Exit_Tool()
 End
End Function


Reicht das, oder habe ich da was vergessen? Weil sobald ich auf b drücke, passiert nix. Shocked
Bin noch newbi mit diesem Code Sad
Le melin Nessa Sáralondë

DaysShadow

BeitragSa, Apr 25, 2009 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Du sollst statt "NächstesBild()" da deinen Code reinschreiben, kannst aber natürlich auch eine Funktion schreiben die du dann da aufrufst...gleiches gilt für die nächsten beiden "Funktionen"...

MfG DaysShadow
Blessed is the mind too small for doubt

Elrohir

BeitragSa, Apr 25, 2009 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Jop danke für die Tipps!
Entweder bin ich zu blöd... aber:
Ich werde mit den FUnctionen arbeiten, und dachte man ruft die Functionen so auf:

Code: [AUSKLAPPEN]
b = GetKey()
If b = 66 Then
 Print Exit_Game()
EndIf


Bei mir ist die Funktion

[/code]Exit_Game()[code]

Sieht in der Funktion so aus:

[code]Function Exit_Game()
End
End Function
[/code]

Ist das richtig?
Weil in meinem Programm tut sich nix...
Le melin Nessa Sáralondë

DaysShadow

BeitragSa, Apr 25, 2009 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Was um alles in der Welt willst du mit "Print Exit_Game()" bezwecken?
Es passiert nichts, weil die Funktion Exit_Game() nichts zurückgibt was in Kopplung mit Print ausgegeben werden könnte....normalerweise müsste es zwar trotzdem das Programm beenden, aber ich weiß grad nicht genau wie sich das verhält.

Und sortier doch deine Tags bitte mal richtig...

MfG DaysShadow
Blessed is the mind too small for doubt
  • Zuletzt bearbeitet von DaysShadow am Sa, Apr 25, 2009 20:56, insgesamt einmal bearbeitet

Elrohir

BeitragSa, Apr 25, 2009 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Oke, das folgende Programm hat zwar nicht wirklich mit dem eigentlichen Programm zu tun, aber als Beispiel:

Code: [AUSKLAPPEN]

;--------------------------------------------------------------------------------;
;Funktionen
;--------------------------------------------------------------------------------;
Function Tabelle()
 Print "-------------------------"
Color 0,255,0
 Print "|  1. Frage E 50        |"
Color 255,125,10
 Print "|  2. Frage E 100       |"
 Print "|  3. Frage E 200       |"
 Print "|  4. Frage E 300       |"
Color 255,255,255
 Print "|  5. Frage E 500       |"
Color 255,125,10
 Print "|  6. Frage E 1,000     |"
 Print "|  7. Frage E 2,000     |"
 Print "|  8. Frage E 4,000     |"
 Print "|  9. Frage E 8,000     |"
Color 255,255,255
 Print "| 10. Frage E 16,000    |"
Color 255,125,10
 Print "| 11. Frage E 64,000    |"
 Print "| 12. Frage E 125,000   |"
 Print "| 13. Frage E 500,000   |"
Color 255,255,255
 Print "| 14. Frage E 1 MILLION |"
 Print "-------------------------"
End Function

Function Start_Game()
 Return Cls
End Function

Function Exit_Game()
 End
End Function
;--------------------------------------------------------------------------------;
;Wer Wird Millionär?
;--------------------------------------------------------------------------------;
Graphics 640,480,32,2
SetBuffer BackBuffer()

Text 240, 20, "    Willkommen"
Text 240, 33, "       bei"
Text 240, 46, "Wer wird Millionär?"

Text 240, 125, "[a] Start Game"
Text 240, 138, "[b] Exite"

a = GetKey()
If a = 65 Then
 Print Start_Game()
ElseIf b = 66 Then
 Print Exit_Game()
EndIf

While Not KeyHit(1)
Wend


Edit: Mit den Funktionen habe ich so meine Probleme:
Wie baue ich sie auf, also, habe ich sie richtig geschrieben? Reicht das?

Und wie kann ich sie denn nun starten, sobald ich a oder b drücke?
Fragen über Fragen...
Le melin Nessa Sáralondë

DaysShadow

BeitragSa, Apr 25, 2009 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm ok, erstmal, du brauchst keine funktionen schreiben um BB interne Befehle aufzurufen, das ist auf gut deutsch schwachsinn, du kannst auch so einfach, Cls und End aufrufen wenn die Bedingung erfüllt ist.
Funktionen schreibt man sich, wenn man bestimmte Programmabläufe wiederholen will und diese z.B. nicht immer dort wo sie gebraucht werden hinschreiben muss, sondern die Funktion aufruft.

Ich weiß auch nicht ob du so recht die Hauptschleife, wie sie größtenteils genutzt wird, verstanden hast oder überhaupt weißt, die sieht so aus:

Code: [AUSKLAPPEN]
Repeat

   Cls

      'Dein Programmablauf, zeichnen, eingaben usw.

   Flip

Until Keyhit(1)


Desweiteren weist du deinem "b" keinen wert zu, es ist immer 0.

MfG DaysShadow
Blessed is the mind too small for doubt

Elrohir

BeitragSa, Apr 25, 2009 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh das is net gut...
Gut, die Funktionen hab ich rausgeschmissen und n einfaches Csl und End hingefügt, auch noch einen Fehler gefunden...

Code: [AUSKLAPPEN]
;--------------------------------------------------------------------------------;
;Funktionen
;--------------------------------------------------------------------------------;
Function Tabelle()
 Print "-------------------------"
Color 0,255,0
 Print "|  1. Frage E 50        |"
Color 255,125,10
 Print "|  2. Frage E 100       |"
 Print "|  3. Frage E 200       |"
 Print "|  4. Frage E 300       |"
Color 255,255,255
 Print "|  5. Frage E 500       |"
Color 255,125,10
 Print "|  6. Frage E 1,000     |"
 Print "|  7. Frage E 2,000     |"
 Print "|  8. Frage E 4,000     |"
 Print "|  9. Frage E 8,000     |"
Color 255,255,255
 Print "| 10. Frage E 16,000    |"
Color 255,125,10
 Print "| 11. Frage E 64,000    |"
 Print "| 12. Frage E 125,000   |"
 Print "| 13. Frage E 500,000   |"
Color 255,255,255
 Print "| 14. Frage E 1 MILLION |"
 Print "-------------------------"
End Function
;--------------------------------------------------------------------------------;
;Wer Wird Millionär?
;--------------------------------------------------------------------------------;
Graphics 640,480,32,2
SetBuffer BackBuffer()

Repeat
 Cls

Text 240, 20, "    Willkommen"         ;
Text 240, 33, "       bei"             ;
Text 240, 46, "Wer wird Millionär?"    ;
                                       ;
Text 240, 125, "[a] Start Game"        ;
Text 240, 138, "[b] Exite"             ;
                                       ;
a = GetKey()
If a = 65 Then
 Cls
ElseIf a = 66 Then
 End
EndIf

 Flip
Until KeyHit(1)

While Not KeyHit(1)
Wend


Ich raff das aber immer noch net, ist denn immer noch kein Wert hinzugefügt? Dann muss ja aber rein theoretisch, wenn ich a drücke, dich das Bild leeren oder?
Le melin Nessa Sáralondë

DaysShadow

BeitragSa, Apr 25, 2009 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, ich weiß nicht warum das mit GetKey() nicht funktioniert, aber mit Keyhit() gehts:



Code: [AUSKLAPPEN]
;--------------------------------------------------------------------------------;
;Funktionen
;--------------------------------------------------------------------------------;
Function Tabelle()
 Print "-------------------------"
Color 0,255,0
 Print "|  1. Frage E 50        |"
Color 255,125,10
 Print "|  2. Frage E 100       |"
 Print "|  3. Frage E 200       |"
 Print "|  4. Frage E 300       |"
Color 255,255,255
 Print "|  5. Frage E 500       |"
Color 255,125,10
 Print "|  6. Frage E 1,000     |"
 Print "|  7. Frage E 2,000     |"
 Print "|  8. Frage E 4,000     |"
 Print "|  9. Frage E 8,000     |"
Color 255,255,255
 Print "| 10. Frage E 16,000    |"
Color 255,125,10
 Print "| 11. Frage E 64,000    |"
 Print "| 12. Frage E 125,000   |"
 Print "| 13. Frage E 500,000   |"
Color 255,255,255
 Print "| 14. Frage E 1 MILLION |"
 Print "-------------------------"
End Function
;--------------------------------------------------------------------------------;
;Wer Wird Millionär?
;--------------------------------------------------------------------------------;
Graphics 640,480,32,2
SetBuffer BackBuffer()

Repeat
 Cls

Text 240, 20, "    Willkommen"         ;
Text 240, 33, "       bei"             ;
Text 240, 46, "Wer wird Millionär?"    ;
                                       ;
Text 240, 125, "[a] Start Game"        ;
Text 240, 138, "[b] Exite"             ;
                                       ;

If Keyhit(30) Then
 Cls
ElseIf Keyhit(48) Then
 End
EndIf

 Flip
Until KeyHit(1)


Das Cls mit der Tastenabfrage ist zwar trotzdem schonmal seltsam aber naja und die nachfolgende While-Wend Schleife hat da auch nicht wirklich was zu suchen.

MfG DaysShadow
Blessed is the mind too small for doubt

Elrohir

BeitragSa, Apr 25, 2009 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen dANk! Den Code merk ich mir jetzt! Wink
Und sorry, falls ich dir ein paar Nerven geraubt habe!
Bist mri ne grosse Hilfe!
Le melin Nessa Sáralondë

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group