Item ins Inventar einfügen
Übersicht

maviBetreff: Item ins Inventar einfügen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo BLitzer ![]() Ich habe mal wieder ein kleines Problem und zwar.... Möchte ich ein Inventarsystem basteln, soweit so gut ich habe schonmal einen code gemacht der das inventar zeichnet Type für ein test item ![]() Jetzt möchte ich mit Tastendruck 1 Item in mein Inventar wandern lassen. So schön so gut, entweder ist das komplette inventar gepflastert mit items oder ich muss 20x die taste drücken und dann ist es wieder gepflastert mit items ich bekomm nichts ein einzelndes item in das inventar?! Hier mein Code: Code: [AUSKLAPPEN] If KeyHit(59) Then
For i = 0 To 19 If inventory(i) = 0 Then inventory(i) = 92 DebugLog "Ich adde dich jetzt" EndIf Next EndIf |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du machst es ja auch 20 mal...
Einfach ein Exit nach "DebugLog..." setzten lg |
||
WIP: Vorx.Engine |
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ComNik hat Folgendes geschrieben: Du machst es ja auch 20 mal...
Einfach ein Exit nach "DebugLog..." setzten lg Das mit dem Exit nach dem DebugLog habe ich getan aber dann geht garnichts ![]() Code: [AUSKLAPPEN] If KeyHit(59) Then
For i = 0 To 19 If inventory(i) = 0 Then inventory(i) = 92 DebugLog "Ich adde dich jetzt" Exit EndIf Next EndIf |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würdes es mit einem 2-dimmensionalem Array machen, dann fällt die berechnugn praktisch weg.
Code: [AUSKLAPPEN] Dim Inv_Use(19,19)
Dim Inv_Name$(19,19) Inv_Use : Ob das Fled grade genutz wird oder nicht Inv_Name : Name des Obj (kann auch eine nummer sein, wäre speicherschonder) Malen : Code: [AUSKLAPPEN] For xx = 0 ot 19
For yy = 0 to 19 Rect xx*20,yy*20,19,19,Inv_Use(xx,yy) Next Next Function zum adden : Code: [AUSKLAPPEN] Function AddInv(Name$)
For yy = 0 to 19 For xx = 0 to 19 If Inv_Use(xx,yy) = 0 Inv_Use(xx,yy) = 1 Inv_Name(xx,yy) = Name$ Return Endif Next Next End Function Dann sucht der immer das nächste feld, das frei ist. mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
beanage.johannes |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich würde es ehrlich gesagt nicht mit 2 arrays machen sondern mit einer 1 dimensionellen und nem type z.B. TInventarSlot oder ähnlich.
Code: [AUSKLAPPEN] Type TInventarSlot field name$ field icon:TImage field used% endtype oder halt iwie so |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
das macht gar kein sinn weil du ja eine DIFFINIERTE anzahl von feldern hast. Types machen dann nur sinn, wenn du unbestimmte anzahlen von Einträgen hast, was hier nicht der fall ist... Villeicht wäre ein wenig Grundwissen doch praktisch ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nunja... ich würde denn Sinn absolut nicht daran fest machen, ob ich weiß wie viel ich von etwas brauche oder nicht. Schon eher, ob ich damit das erreichen kann, was ich gerne möchte und ob ich es programmieren kann.
Wenn man unbedingt das Feature braucht, dass man seine Taschenplätze mit einem selbst gehäkelten Beutel vermehren kann, würde ich eher zu Types raten. Wenn man sowieso alles statisch schreibt und sich mit Types noch gar nicht beschäftigt hat, kann man bei Arrays bleiben. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
ToeB hat Folgendes geschrieben: das macht gar kein sinn weil du ja eine DIFFINIERTE anzahl von feldern hast. Types machen dann nur sinn, wenn du unbestimmte anzahlen von Einträgen hast, was hier nicht der fall ist... Villeicht wäre ein wenig Grundwissen doch praktisch
![]() mfg ToeB Und du scheinst nicht verstanden zu haben, dass man Types auch in ein Array packen kann. Die liste ist nur intern und aus einfachheit vorhanden, man muss sie nicht nutzen. |
||
![]() |
beanage.johannes |
![]() Antworten mit Zitat ![]() |
---|---|---|
types finde ich sind deshalb von vorteil weil man nicht wie bei obigem beispiel von ToeB 2x2 arrays verwendet werden sondern nur eine "normale".
@ToeB warum bitte soll ich kein grundwissen haben? Types sind weit aus praktischer und flexibler als viele arrays. |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja das stimmt schon, das sie sehr flexible und auch bei manchen anwedungen sehr praktisch sind, das habe ich ja hier nie angezweifelt, ich meine nur das das hier für mich wenig sinn macht, vor allem, weil man viel schneller auf Arrays als auf Types zugreifen kann. ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es würde Sinn machen Arrays mit Types zu kombinieren.
Toeb: Wenn du von einem Item auch Name, Icon, Stärke, Preis usw. speichern willst, würde man das ja nach deiner Lösung sechs oder sieben Arrays machen. Ich hingegen würde nen Type 'Item' Machen, dort Stärke, Preis, Name, Beschreibung, etc. reinspeichern und fürs Inventar einfach nen Array nehmen. mfG |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja einfach sowas :
Code: [AUSKLAPPEN] Type info
Field name$ Field preis End Type Dim Inventar.info(19,19) tmp.info = New info tmp\Name$ = "Trank" tmp\preis = 100 Inventar(0,0) = tmp So wäre es auch sinnvoll fällt mir grade ein xDD Sry ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für eure ganzen Bemühungen ich hab es endlich geschafft ![]() Nun habe ich nur noch ein Problem wenn ich ein Item aus meinem Inventar gezielt mit einer Steuerung "entfernen" möchte, wie mach ich das mit der einer schleife funktioniert es iwie nicht und mit einer Mehrfachen tasten abfrage = unmöglich iwie?! Hier mal der Code: Code: [AUSKLAPPEN] Graphics 640,480,16,0
SetBuffer BackBuffer() item_slot = LoadImage("slot.bmp") item_pic = LoadImage("axe.bmp") maus = LoadImage("maus.bmp") MaskImage maus, 0,0,0 Type item Field id Field image End Type Global item1.item item1.item = New item item1\id = 1 item1\image = item_pic Global isx,isy = 50 Dim inventory(19) For i = 0 To 19 inventory(i) = 0 Next Repeat ii = 10 For i = 0 To 19 Text 10,ii, inventory(i) ii = ii + 10 Next If KeyHit(28) Then fenster = Not fenster EndIf If fenster Then ipx = 50 ipy = 50 For i = 1 To 20 If inventory(i-1) = 0 Then DrawImage item_slot, ipx,ipy EndIf If inventory(i-1) = 92 Then DrawImage item1\image, ipx,ipy EndIf ipx = ipx + 50 If i Mod 4 = 0 Then ipy = ipy + 50 ipx = 50 EndIf isteuerung() Next EndIf If KeyHit(60) Then For i = 0 To 19 inventory(i) = 0 Next EndIf If KeyHit(59) Then For i = 0 To 19 If inventory(i) = 0 Then inventory(i) = 92 Exit EndIf Next EndIf Flip Cls Until KeyHit(1) End Function isteuerung() If KeyHit(200) Then isy = isy - 50 EndIf If KeyHit(208) Then isy = isy + 50 EndIf If KeyHit(203) Then isx = isx - 50 EndIf If KeyHit(205) Then isx = isx + 50 EndIf Rect isx,isy, 48,48,0 Text 100,10, isx Text 100,20, isy If isx = 0 Then isx = 50 EndIf If isx = 250 Then isx = 200 EndIf If isy = 0 Then isy = 50 EndIf If isy = 300 Then isy = 250 EndIf If isx = 50 And isy = 50 And KeyHit(57) Then inventory(0) = 0 EndIf If isx = 100 And isy = 50 And KeyHit(57) Then inventory(1) = 0 EndIf End Function |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Einrücken: Man erkennt ja gar nichts.
2. Die Types sind mit dem Inventar nicht verknüpft. Code: [AUSKLAPPEN] Dim inventory.item(19)
Wie ich schon mal bemerkte gab es hier schon ein Beispiel zu Types und Items. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
mavi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Xeres hat Folgendes geschrieben: 1. Einrücken: Man erkennt ja gar nichts.
2. Die Types sind mit dem Inventar nicht verknüpft. Code: [AUSKLAPPEN] Dim inventory.item(19)
Wie ich schon mal bemerkte gab es hier schon ein Beispiel zu Types und Items. Jung merkste was? der eine sagt ich soll das mit types machen der andere mit DIM nun hab ich mich auf die variante mit dim geeinigt und jetzt schrebi ci hdas nicht mit types um?! |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Reg dich doch ab, wir wollen ja nur helfen -.-
Mavi hat Folgendes geschrieben: Code: [AUSKLAPPEN]
Type item
Field id Field image End Type Global item1.item item1.item = New item item1\id = 1 item1\image = item_pic Und was soll der code dann ? Scheinst ja doch die Type methode reinzubringen... Also weist dus ja selber nicht ... mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
beanage.johannes |
![]() Antworten mit Zitat ![]() |
---|---|---|
@mavi
1. reg dich mal ab und 2. dein code ist total unlesbar. wie oben schon gesagt, bitte einrücken. auserdem erscheint mir das ganze etwas durcheinande rund iwie unlogisch^^ |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group