Elrohir's Harry-Potter-Duell-Game Fragethread

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen

Elrohir

BeitragSo, Apr 26, 2009 8:00
Antworten mit Zitat
Benutzer-Profile anzeigen
So, jetzt wie kann ich denn nen Zufallsgenerator generieren?

Zum Beispiel bei Hary Potter:

Code: [AUSKLAPPEN]
Leben = 100
Stupor = 10
Avada_Kedavra = 100
Expelliarmus = 10

Print Leben + " Leben hat dein Gegner!"


;-1. Fluch-;

Fluch1$ =Input("Dein erster Fluch: ")

If Fluch1 = "Stupor" Then
 Leben = Leben - Stupor

ElseIf Fluch1 = "Avada Kedavra" Then
 Leben = Leben - Avada_Kedavra

ElseIf Fluch1 = "Expelliarmus" Then
 Leben = Leben - Expelliarmus
EndIf
 
Print Leben + " Leben hat dein Gegner noch!"

If Leben = "0" Then
 Print "Game Over"
 Delay 5000
 End
EndIf

Delay 5000
Cls

;-2. Fluch-;

Fluch1$ =Input("Dein zweiter Fluch: ")

If Fluch1 = "Stupor" Then
 Leben = Leben - Stupor

ElseIf Fluch1 = "Avada Kedavra" Then
 Leben = Leben - Avada_Kedavra

ElseIf Fluch1 = "Expelliarmus" Then
 Leben = Leben - Expelliarmus
EndIf
 
Print Leben + " Leben hat dein Gegner noch!"

If Leben = "0" Then
 Print "Game Over"
 Delay 5000
 End
EndIf

Delay 5000
Cls

;-3. Fluch-;

Fluch1$ =Input("Dein letzter Fluch: ")

If Fluch1 = "Stupor" Then
 Leben = Leben - Stupor

ElseIf Fluch1 = "Avada Kedavra" Then
 Leben = Leben - Avada_Kedavra

ElseIf Fluch1 = "Expelliarmus" Then
 Leben = Leben - Expelliarmus
EndIf
 
If Leben = "0" Then
 Print "Game Over"
 Delay 5000
 End
ElseIf Leben > "0" Then
 Print "Dein Gegner hat noch " + Leben + " Leben!
 Delay 5000
 End
EndIf


Da wo ... Zufallsgenerator Confused ... steht, will ich so ein Zufallsgenerator zum Beispiel hinbauen...
Das heisst dass man nur eine Chance von 33.33% hat, dass dieser Fluch klappt. GIbt es da auch so einen Code doer muss ich da doch dann ne FUnktion schreiben? Ich google noch einbisschen rum!
Wäre aber für kleine Antworten sehr dankbar!
Le melin Nessa Sáralondë
 

konstantin

BeitragSo, Apr 26, 2009 9:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein paar Schleifen wären nicht schlecht...

Die Lösung deines Problems:
BlitzBasic: [AUSKLAPPEN]
SeedRnd MilliSecs() 
foo = Rand(1, 3) ; foo enthaelt nun eine zufaellige Zahl (1, 2 oder 3)
If foo = 1 Then
Print "deine 33%"
Else
Print "deine 66%"
EndIf

Elrohir

BeitragSo, Apr 26, 2009 10:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Cool danke! Wahnsinn was diese Programmiersprache alles für tolle Codes hat! Very Happy
Programmieren macht Spass! Danke euch, für die Antworten, weitere Fragen folgen! ^^ Razz

Hier n kleines Avada Kedavra-Spiel! ^^

Code: [AUSKLAPPEN]
Repeat
 Cls

Fluch1$ = Input("Gibt deinen Fluch ein: ")

If Fluch1 = "Avada Kedavra" Then
 SeedRnd MilliSecs()
 foo = Rand(1,3)
 If foo = 1 Then
  Color   0,255,110
  Print "Avada Kedavra!"
 Delay 1000
  Color 255,255,255
  Print "Dein Gegner liegt tot am Boden..."
 Delay 3000
 End
 ElseIf foo = 2 Then
  Print "Der Angriff ging daneben!"
 ElseIf foo = 3 Then
  Print "Dein Gegner weicht aus!"
 EndIf
Else
 Print "Falscher Fluch!"
EndIf

Delay 3000

 Flip
Until KeyHit(1)


Ich würde dies nun gerne weiter entwicklen bis zu einem Multiplayer-Modus, daher, glaubt nicht, ich hätte keine Fragen mehr! Wink
Le melin Nessa Sáralondë

Elrohir

BeitragSo, Apr 26, 2009 11:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht noch zu früh, aber ich habe gehört aus Blitz3D kann man auch .exe-Dateien erstellen, wie geht das denn? Habe in der BLitz3D Help-Funktion nachgesehen, nix gefunden... Sad
Le melin Nessa Sáralondë

Nicdel

BeitragSo, Apr 26, 2009 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die Vollversion hast, gehst du oben im Menü auf "Program" und dann auf "Create Executable...".
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

BeitragSo, Apr 26, 2009 11:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Besten Dank! Kann ich das Icon irgendwie verändern?
Also Anstatt diese Rakete, so mein eigenes Icon?
Achja, gibt es nicht auch einen Code, mit dem Man den Titel des Programmes ädnern kann? ALso oben in der Leiste?

Gross
Elrohir
Le melin Nessa Sáralondë

Eingeproggt

BeitragSo, Apr 26, 2009 11:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Probier mal diesen und diesen und diesen Link.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

ozzi789

BeitragSo, Apr 26, 2009 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Stichwort: Recource Hacker (findet man im Blitzfaq !!)
Stichwort2 :BlitzHilfe -> Grundlagen -> Sonstiges, hier solltest du es selber finden
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Elrohir

BeitragSo, Apr 26, 2009 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Oke, sorry für die Dummen Fragen. Sad
Wird nicht mehr vorkommen!

EIne Frage hätte ich trotzdem:
Es gibt ja ein paar SPiele, die gehen für WIndows, Linux und Mac...
Mit BLitz3D kann man ja *.exe erstellen, kann man Blitz3D auch beibringen, *.dlc (Mac) zu lesen, damit man das Game auch auf dem mac spielen kann?
Oder kann man mit BLitz3D ausschlislich nur für Windows programmieren?

Würde mich noch interressieren...
Vielleicht könnte man ja den Quellcode in ein anderes Programm schieben und dieser würde das dann in eine *.dlc umwandeln?
Le melin Nessa Sáralondë

DAK

BeitragSo, Apr 26, 2009 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, blitz3d kann nur exen machen. es gibt keine programme, die .exe in .dlc oder so umwandelt. das einzige, was gehen würde, ist exen bb-exen unter linux per wine abzuspielen (vll gibts was wine-artiges auch für mac, weiß ich nicht).

wenn du für alle 3 plattformen programmieren willst, würd ich dir blitzmax empfehlen. das is der nachfolger von b3d. mit dem programmiert sichs wesentlich schöner und der kann für win,lin&mac verwendet werden.
Gewinner der 6. und der 68. BlitzCodeCompo

Elrohir

BeitragSo, Apr 26, 2009 12:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte ich damit ha genau die gleichen Codes schreiben wie in Blitz3D?
Also die selben 2D Codes, wie Print "Hallo" usw.?
Das heisst die GrundCodes sozusagen! ^^

Also Blitz2D und Blitz3D sind in BlitzMax mitintekriert?
Le melin Nessa Sáralondë

Nicdel

BeitragSo, Apr 26, 2009 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzMax ist eine etwas andere Programmiersprache als Blitz3D. Sie kann von Haus aus nur 2D, aber auf Basis von 3D. 3D lässt sich per Modul nachrüsten.
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

BeitragSo, Apr 26, 2009 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
AH oke, ich bleibe trotzallem bei Blitz3D! ^^
Es steht zwar vie über ein Netzwerk-Game, Direct Ip usw. aber man kann bestimmt auch sowas programmieren, dass 2 SPieler an einem Computer sitzen oder?
Also Ich tippe Fluch ein, 2. Spieler tipp Fluch ein und so weiter...

Es gibt auch Hamachi, ein nützliches tool, und nun wollte ich mein Game (Fluch Fluch ^^) mit dem Kumpel dann mal zocken, der ist aber wo anders, und wollte daher DirectIp einbinden...
Hamachi teil jedem eine IP zu, diese kann man dann benutzen um direkt mit der IP zu verbinden und so ne FUnktion wollte ich einbauen, geht das?
Also da kommt Mnü:

Start Game
Direct IP
Exit

Und dann geht man auf Direct IP, dann kommt muss maan die IP des anderen eingeben, der andere gibt meine IP ein und dies muss aber wärend 10 Sekunden gehen, wenn beide sich gegenseitig verbinden dann startet das Game (Duell).

Bei FIFA 09 ist das auch enthalten mit dem Direct IP.

Hoffe ihr evrsteht meine Frage, wie man ne DirektIP einbauen kann ich das Programm...
Le melin Nessa Sáralondë

Nicdel

BeitragSo, Apr 26, 2009 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz allgemein: https://www.blitzforum.de/help/?cat=3
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

BeitragSo, Apr 26, 2009 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Mhm Joa, da war ich auch schonmal, nur wie kann ich das in meine Idee umwandeln? Shocked
Le melin Nessa Sáralondë

Nicdel

BeitragSo, Apr 26, 2009 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
In Rob's BB Kurs ist ein Teil Netzwerk dabei.
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

BeitragSo, Apr 26, 2009 15:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Oke gut, ich werd mich umschauen!
Le melin Nessa Sáralondë

Elrohir

BeitragSo, Apr 26, 2009 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Mhm irgendwie mag der bei mir net, mit dem Cls, also Bildschirm löschen, damit der wieder leer ist:

Code: [AUSKLAPPEN]
;-Einstellungen-;

Graphics 640,480,32,2
SetBuffer BackBuffer()

;-Sonstiges-;

Leben = 100
Expelliarmus = 10

;-Funktionen-;



;-Hauptschleife-;

Cls


  Text 262,200, "[a] Start Game"
  Text 262,213, "[b]    Exit"

  If KeyHit(30) Then

   Cls
   Text   0,  0, "Leben: " + Leben
   Text 560,  0, "Leben: " + Leben

  EndIf


While Not KeyHit(1)
Wend


Weiss jemand Rat?
Sobald ich auf die A Taste drücke, löscht der nix...
Aber ich will ja wieder einen schwarzen Bildschirm, also auf dem ersheint dann später das Spiel, aber logischerweise, wenn ich jetzt auf [a] drücke sollte sich der BIldschirm leeren, oder nicht?
Le melin Nessa Sáralondë

DaysShadow

BeitragSo, Apr 26, 2009 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast es immer noch nicht verstanden oder?

Code: [AUSKLAPPEN]
;-Einstellungen-;

Graphics 640,480,32,2
SetBuffer BackBuffer()

;-Sonstiges-;

Leben = 100
Expelliarmus = 10

;-Funktionen-;



;-Hauptschleife-;

Repeat ;Du musst schon eine Schleife machen! Kannst auch While nehmen, aber ich bevorzuge Repeat

Cls


  Text 262,200, "[a] Start Game"
  Text 262,213, "[b]    Exit"

  If KeyHit(30) Then

   Cls ;Ein Cls Pro Schleifendurchgang ist die Regel, es sei denn du brauchst es, hier brauchst du es aber keineswegs! Kommentier es aus und die siehst es geht auch ohne...
   Text   0,  0, "Leben: " + Leben
   Text 560,  0, "Leben: " + Leben

  EndIf

  Flip

Until Keyhit(1)

While Not KeyHit(1) ;Was in Gottes Namen willst du hiermit???
Wend



Für einen Spielablauf solltest du so etwas machen:
Code: [AUSKLAPPEN]
Graphics 800, 600, 32, 2

SetBuffer Backbuffer()

State = 0
State_Menu = 1
State_Spiel = 2

Repeat

  Cls

    If State = State_Menu Text 0, 0, "Menu"
    If State = State_Spiel Text 0, 10, "Spiel"

    If Keyhit(30) State = State_Spiel
    If Keyhit(48) State = State_Menu

  Flip

Until Keyhit(1)


Du musst dein Programm schon irgendwie verwalten und ihm eine Struktur verpassen.
Statt Text 0, 0, "Menu" machst du dann eben deine Sachen die du für das Menü brauchst usw.

MfG DaysShadow
Blessed is the mind too small for doubt

Elrohir

BeitragSo, Apr 26, 2009 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
So, wenn ich nun mit meinen Momentanen Code hier:

Code: [AUSKLAPPEN]
;-Einstellungen-;

Graphics 640,480,32,2
SetBuffer BackBuffer()

;-Sonstiges-;

Leben = 100
Expelliarmus = 10

;-Funktionen-;



;-Hauptschleife-;

Repeat
Cls


  Text 262,200, "[a] Start Game"
  Text 262,213, "[b]    Exit"

  If KeyHit(30) Then

   Text   0,  0, "Leben: " + Leben
   Text 560,  0, "Leben: " + Leben

  EndIf

Flip
Until KeyHit(1)


Jetzt mal [a] drücke, dann verschwindet das Bild für ca. 500 Millisekunden, aber [a] Start Game & Co. sehe cih immer noch, die Leben oben sehe ich eben für 500 Millisekunden und dann bin ich wieder an meinem Anfangsbild, ich versuchs jetzt mal mit deinem 2. beispiel, vielleicht bekomm ich's ja noch hin...
Le melin Nessa Sáralondë

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group