Diesmal eine sehr anspruchsvolle Raketenfrage

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Diesmal eine sehr anspruchsvolle Raketenfrage

BeitragSo, Mai 09, 2004 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Nochmals hoi!
Also, nun zu nem wirklichen Problem:

In meinem SPiel gibt es zur Zeit 2 Waffenmodelle.
Man hat am ANfang waffenmodell nr.1. wenn man die taste STRG drückt, hat man waffenmodus Nr.2.
bei nr.2 kann man andersfarbige raketenschiessen und die stärke erhöht sich. das klappt an sich auch sehr gut, doch ein prob gibt es:
wenn ich raketen der nummer 1 abschiesse (die sind grau) und ich drücke dann strg, kann man nun mit nr.2(gelb) schiessen. doch gleichzeitig werden alle noch auf dem bldschirm vorhandenen grauen raketen zu gelben! ...wie mache ich das nun, das wnen man mit den grauen schiesst, man strg drückt, das die alten raketen auch grau bleiben und dann die neuen gelb sind?
bis jetzt habe ich es so und da tritt nun mal der fehler auf:
Code: [AUSKLAPPEN]

For r.rakete = Each rakete   ;Rakete
   If wmodus = 1         ;Waffe 1
      DrawImage rakete,r\x,r\y
      r\y = r\y - 3
   EndIf
   Text 0,200,""+r\y
   If wmodus = 2          ;Waffe 2
      DrawImage rakete2,r\x,r\y
      r\y = r\y - 3
   EndIf    
Next    
;---------------------------------------


Code: [AUSKLAPPEN]

;Zum ändern des Waffenmodus:
   If KeyHit(strg)
      wmodus = wmodus + 1
      wstaerke = wstaerke + 1
   EndIf    
;------   
~ Hey Ho Let's Go ~

Hubsi

BeitragSo, Mai 09, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Füge noch ein Field dazu in dem die Nr. gespeichert wird.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragSo, Mai 09, 2004 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
ûnd wenn ich das gemacht habe, wie gehe ich dann fort, kannst du mir nen beispiel machen !? ich versteh das net so...
~ Hey Ho Let's Go ~

Kabelbinder

Sieger des WM-Contest 2006

BeitragSo, Mai 09, 2004 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest vielleicht für jede Rakete, die abgefeuert wird im Type ein weiteres feld anlegen, in dem die Art der Rakete verzeichnet ist:

Type Rakete
Field x,y,Art
End Type

und die Art der Rakete bestimmt sich dadurch, ich welchem Modus sie abgefeuert wird.

If wmodus = 1 Then r\Art = 1
If wmodus = 2 Then r\Art = 2

oder falls sich das anbietet:

r\Art = wmodus

Ist ja das gleiche.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

Blitzkrieg Bop

BeitragSo, Mai 09, 2004 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ja und dann hat also jede rakete eine art. und dann?
bitte genauer mit code Embarassed
~ Hey Ho Let's Go ~

Kabelbinder

Sieger des WM-Contest 2006

BeitragSo, Mai 09, 2004 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Und anhand der Art wird halt alles entschieden:

Zum Beispiel die Farbe:
If r\Art = 1 then DrawImage rak_grau,x,y

Um dir einen Code zu liefern müsste ich noch mehr über das Spiel wissen, zum Beispiel mit welcher Taste man schießt.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

Blitzkrieg Bop

BeitragSo, Mai 09, 2004 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich habs mal versucht:
Code: [AUSKLAPPEN]

For r.rakete = Each rakete   ;Rakete
   If wmodus = 1         ;Waffe 1
      r\art = 1
   EndIf    
   If r\art = 1
      DrawImage rakete,r\x,r\y
      r\y = r\y - 2
   EndIf    
   If wmodus = 2
      r\art = 2
   EndIf
   If r\art = 2
      DrawImage rakete2,r\x,r\y
      r\y = r\y - 2
   EndIf       
Next    
;---------------------------------------


das bringt jedoch nichts, das ist genauso wie vorher. hier eineige daten:

man schiesst mit der Leertaste.
Mit STRG wechsle man den waffenmodus.
[/code]
~ Hey Ho Let's Go ~

Hubsi

BeitragSo, Mai 09, 2004 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Du mußt ja auch den wmodus beim Erstellen der Rakete r\art zuweisen. Ich hoffe damit wäre Deine wirklich aüßerst anpruchsvolle Frage beantwortet Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragSo, Mai 09, 2004 22:25
Antworten mit Zitat
Benutzer-Profile anzeigen
ne, versteh ich ehrelich gesagt nicht.,...bitte code!!!
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragSo, Mai 09, 2004 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
weil das wwas du sagst hubsi hab ich doch gemacht oder nicht !? siehe code oben
~ Hey Ho Let's Go ~

Hubsi

BeitragSo, Mai 09, 2004 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Nö, du weist wieder beim ababrbeiten der Einträge dem r\art den Wert des Waffentyps zu. Das muß beim erstellen des Eintrags passieren. Code gibts keinen, weil Du davon nichts hast.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragSo, Mai 09, 2004 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
klaro hätte ich da was von, es würde endlich klick machen!
also wie soll das gehen? man drückt STRG und dann...? Question
~ Hey Ho Let's Go ~

Hubsi

BeitragMo, Mai 10, 2004 8:40
Antworten mit Zitat
Benutzer-Profile anzeigen
...und dann weist man der r\art den Wert von wmodus zu. Und schon machts klick Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Blitzkrieg Bop

BeitragMo, Mai 10, 2004 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
also, ich habs so und es geht immer noch nicht:

Code: [AUSKLAPPEN]

For r.rakete = Each rakete   ;Rakete
   If wmodus = 1
      r\art = 1
   EndIf
   If r\art = 1
      DrawImage rakete,r\x,r\y
      r\y = r\y - 2
   EndIf
   If wmodus=  2
      r\art = 2
   EndIf
   If r\art = 2
      DrawImage rakete2,r\x,r\y
      r\y = r\y - 2
   EndIf          
Next    
;---------------------------------------
~ Hey Ho Let's Go ~

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Mai 10, 2004 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich fürchte, ich muss mich da wieder einmischen:

Also, dieses
Code: [AUSKLAPPEN]

If wmodus = 1
      r\art = 1
   EndIf


Steht im falschen Part des Code-Textes.

Allein an der For-Schleife sieht man doch, das du damit sämtliche Raketen verwandelst.

Wie schon ein paar mal erwähnt wurde:
Die Art der Waffe bestimmt sich dadurch, in welchem modus sie abgefeuret wurde. Im Code würde das (Bei feuer mit Leertaste) so aussehen:

Code: [AUSKLAPPEN]

If keyhit(57) Then

r.rakete = New rakete
r\Art = wmodus

EndIF


Das heißt: wenn die Rakete abgefeuert wird, wird ihre art durch den Gerade aktuellen Waffenmodus bestimmt.
man könnte auch umständlicherweise schreiben:

Code: [AUSKLAPPEN]


If keyhit(57) Then

r.rakete = New rakete

If wmodus = 1 Then r\Art = 1
If wmodus = 2 Then r\Art = 2

EndIF



Das wars auch eigentlich.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

Blitzkrieg Bop

BeitragMo, Mai 10, 2004 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
ok das klappt! nur ein problem:
wenn ich rakete nr. 1 abschiesse , wleche die kraft von 1 hat und dann auf rakete2 wechsel, hat auf ienmal die rakete nr. 1 die kraft 2. wie verhindere ich das?
~ Hey Ho Let's Go ~

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Mai 10, 2004 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Villeicht so:

Code: [AUSKLAPPEN]
r\Kraft = r\Art.



Der aktuelle Waffenmodus ,indem gefeuert wird bestimmt die art der Rakete, das bedeutet, er bestimmt somit auch die Farbe und die Durchschlagskraft. Wink
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

BladeRunner

Moderator

BeitragMo, Mai 10, 2004 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
[Ignore=off]
Blitzkrieg Bop hat Folgendes geschrieben:
Man hat am ANfang waffenmodell nr.1. wenn man die taste STRG drückt, hat man waffenmodus Nr.2.
bei nr.2 kann man andersfarbige raketenschiessen und die stärke erhöht sich. das klappt an sich auch sehr gut, doch ein prob gibt es:
wenn ich raketen der nummer 1 abschiesse (die sind grau) und ich drücke dann strg, kann man nun mit nr.2(gelb) schiessen. doch gleichzeitig werden alle noch auf dem bldschirm vorhandenen grauen raketen zu gelben!

Blitzkrieg Bop hat Folgendes geschrieben:
ok das klappt! nur ein problem:
wenn ich rakete nr. 1 abschiesse , wleche die kraft von 1 hat und dann auf rakete2 wechsel, hat auf ienmal die rakete nr. 1 die kraft 2. wie verhindere ich das?

Beide Probleme haben die gleiche Lösung. Deshalb keinen Code für dich. Du hast weder beim ersten Mal das Problem (oder die Lösung) verstanden noch wirst du es beim zweiten mal tun.
Hättest du dir verinnerlicht was dir in diesem Thread von den Leuten erklärt wurde (anstatt solange rumzugeiern bis dir irgendjemand entnervt n Stück Code hinschmeisst) hättest du die zweite Frage gar nicht mehr stellen müssen...
Und nun...
[Ignore=on]
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
 

BIG BUG

BeitragMo, Mai 10, 2004 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt. Blitzkrieg Bop ist ein tolles Beispiel dafür, dass das Codegebettel nix bringt. Seit langem stellt er alle 2 Tage Fragen, an denen man sieht, dass er das Programmieren nicht verstanden hat.

@Bop und die anderen Newbies: Arbeitet lieber die Anfängertutorials durch und versucht sie zu verstehen. Ruhig ein bisschen rumprobieren, kaputtmachen kann man nix. Wenn ihr ein Problem habt, erstmal drüber nachdenken. Und wenn ihr nach einer halben Stunde immer noch keine Lösung habt, dann nochmal eine halbe Stunde nachdenken/probieren.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

TheShadow

Moderator

BeitragMo, Mai 10, 2004 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
raketen nerven schon....
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group