Dim-Felder statt Types (Diskussion)

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

 

David

BeitragSo, Sep 26, 2004 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Finde Dims sind kein Ersatz für Types, schon weil der Code richtig umständlich zu lesen ist, aber auch weil es sie einfach nicht dafür gibt.
Aber man kanns natürlich so machen, stimmt.

grüße
http://bl4ckd0g.funpic.de
 

OJay

BeitragSo, Sep 26, 2004 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, dann setze dein tutorial für linked-lists, verknüpfte daten (gegner -> waffen -> munition) und dynamische speicherverwaltung (gegner entfernen, gegner erstellen...) fort.

soviel zum "ersatz" von types...meinst du nicht, mark hat sich IRGENDETWAS dabei gedacht? Rolling Eyes


ich bin der meinung, dieses "tutorial" sollte gelöscht werden, da es anfänger nur auf eine falsche bahn bringt! und für das thema, mehrdimensionale dims mit eigenschaften, genügt ein kleiner hinweis in allgemein...

Jolinah

BeitragMo, Sep 27, 2004 0:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ich habe vor ner Zeit auch Types benutzt. Aber das mit den ganzen Punkten und Backslashs wurde mir irgendwann echt zu viel.


Ich weiss nicht was an monster\health = 100 komplizierter sein soll als monster(i,4) = 100

Zudem sagt mir eine 4 nicht viel aus, dann würde ich es wennschon als Konstante definieren, z.bsp:

Code: [AUSKLAPPEN]

Const health = 4

monster(i,health) = 100



Ich finde es trotzdem gut das du dieses Tutorial geschrieben hast. Anfänger können damit bestimmt etwas über Arrays lernen.

Jedoch finde ich auch das man Types damit nicht vergleichen oder ersetzen kann. Den Vorwand das Arrays schneller sind kann man ziemlich schnell auch wieder vergessen. Denn bei Arrays gehst du immer das ganze Array durch während bei Types nur die Objekte die wirklich existieren behandelt werden. Zudem wird Speicher reserviert den man unter Umständen nie benutzt. Ich denke genau für diese Art von Sachen (monster, raketen etc.) wurden die Types ja auch gemacht.

Das Array bevorzuge ich nur bei Dingen wo ich weiss das so ziemlich das ganze Array auch benutzt wird und wenn man per Array schneller auf ein Objekt zugreifen kann (Maps zum Beispiel)

Jan_

Ehemaliger Admin

BeitragMo, Sep 27, 2004 8:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja.

Ich muss Sagen, es funktioniert alles auch sehr gut, mit Dims (Siehe DX-AS)
Aber Ich habe Types für mich entdeckt Razz
between angels and insects

Hubsi

BeitragMo, Sep 27, 2004 8:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Einen 'was ist besser'-Vergleich hier anzustellen halte ich für unsinnig. Jede Technik hat in bestimmten Themenbereichen ihre Vorzüge. Ich selbst verwende beides, je nach gestellter Problematik und bin nie schlecht damit gefahren Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

tft

BeitragMo, Sep 27, 2004 8:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.....

da gebe ich Hubsi recht. Beides ist interesant. Ich selber verwende zwar gennerell nur Dims. Aber das liegt eher an meinen alten Basic Wurzeln.
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Sep 27, 2004 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
OJay hat Folgendes geschrieben:
dynamische speicherverwaltung (gegner entfernen, gegner erstellen...)


Hast du das Tutorial überhaupt gelesen?
Das steht eindeutig was von einem Eintrag, der bestimmt, ob der Gegner lebt, oder nicht. Zusammen mit der Nummern-Variable kann man das ganze schon als dynamisch bezeichnen. Man kann beliebige Gegner löschen oder neu erstellen. Nur halt mit Begrenzung

Ojay hat Folgendes geschrieben:
soviel zum "ersatz" von types...meinst du nicht, mark hat sich IRGENDETWAS dabei gedacht?


Davon war soweit ich weiß garnicht die Rede, sondern von einer Alternative Idea
Außerdem Willst du damit sagen, ich soll die Types Mark zu liebe nutzen, auch wenn sie mir nicht zusagen?

Ojay hat Folgendes geschrieben:
ich bin der meinung, dieses "tutorial" sollte gelöscht werden, da es anfänger nur auf eine falsche bahn bringt! und für das thema, mehrdimensionale dims mit eigenschaften, genügt ein kleiner hinweis in allgemein...


Wer hat dich hier eigentlich zum Sherrif ernannt? Seit wann hast du hier zu bestimmen, was richtig und was falsch ist?
Außerdem fände ich das ein bisschen hart, ehrlich gesagt.

@ Jolinah
Ja, das stimmt, die Bearbeitung der Variblen bei Types nicht wirklich komplizierter, als bei Dim-Feldern. Mich hat nur immer das mit dem Anlegen am Anfang genervt.

@ all: Ich hab garnichts vonwegen besser - schlechter gesagt, ich habe nur Vorteile und Nachteile erwähnt.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Jolinah

BeitragMo, Sep 27, 2004 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit dynamischer Speicherverwaltung meinte er nicht die Monster die du löschen und erstellen kannst. Es hat mehr mit dem Speicher zu tun wie ich auch schon geschrieben habe. Bei Types wird nur Speicher verbraucht wenn das Objekt auch wirklich existiert. Bei Arrays wird der totale Speicher (der Matrix) am Anfang reserviert. Egal ob alle Werte auf 0 stehen der Speicher ist trotzdem verbraucht. Bei Types wird beim erstellen eines Objektes soviel Speicher reserviert wie für den Type nötig ist, und beim löschen anschliessend wieder freigegeben.


Grundsätzlich bin ich auch dafür das man nicht sagt, Array ist besser oder Type ist besser. Alles hat ja seinen Zweck und ausserdem sind manchmal Arrays einfach unerlässlich. Ich find für dynamische Objekte halt Types einfach geeigneter, aber das ist ja echt reine Geschmackssache.
 

getlose

BeitragMo, Sep 27, 2004 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
@jolinah

ich weiß es selber nicht genau, aber wenn du in bb ein
array erstellst in dem du text speicherst, woher soll
bb dann wissen wieviel text du da rein machen wirst...?

Jolinah

BeitragMo, Sep 27, 2004 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok strings bilden da vielleicht ne Ausnahme Wink
Aber mindestens 1 Byte wird trotzdem fest reserviert denke ich mal, was bei Types nicht der Fall ist.

sbrog

BeitragMo, Sep 27, 2004 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich finde, das ganze ist ein sehr schöner ersatz für Types.

+
Es ist schneller, und außerdem kann man die Objekte mit ihrer Nummer direkt ansprechen.

-
die Anzahl der Objekte sollte festgelegt sein, sonst wird es sehr kompliziert.
 

BIG BUG

BeitragMo, Sep 27, 2004 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
In diesem Anwendungsfall ist DIM LANGSAMER als Type, nicht schneller!
Während bei Types nur die vorhanden Gegner gecheckt werden müssen, müssen bei DIM alle möglichen Gegner(egal ob lebend, abgenibbelt oder noch gar nicht erstellt) geprüft werden.

Bitte also nicht etwas als generell verkaufen, was in irgendeinem Zusammenhang aufgeschnappt wurde.

Bin ebenfalls der Meinung, dass dieses Tutorial getrashed werden sollte(ohne Kabelbinder zu nahe treten zu wollen), da in dem beschriebenen Anwendungsfall Types besser als DIM geeignet ist(schneller, sauberer, einfacher, ...)
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Suco-X

Betreff: .......

BeitragMo, Sep 27, 2004 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Belassen wir es bei "Dims sind schneller".
Andere vor oder Nachteile gibt es nicht. Types haben auch ihre nummern und man kann sie auch direkt ansprechen. Hatte mir irgendwie schon gedacht das die meisten die hier rummeckern sowieso keine ahnung von Types haben.
Types bieten aber den Vorteil das sie praktisch in der Anwendung sind und einem das programmieren zu einem Traum machen. Dims sind mal für ein Sternenfeld geeignet, aber nicht für ein Game. Wer sich da freiwillig durchquält mit den Dims ist ehrlich gesagt selbst schuld. Sollte es aber nicht schlecht machen. Besonders nicht wenn man überhaupt keine ahnung hat wovon man redet.
Types zeigen einem die Vorteile von OOP. Und OOP ist nicht mehr wegzudenken. Man stelle sich mal Heutige games vor die nurnoch mit Arrays Arbeiten. Lächerlich. Keiner würde sich mehr in dem Code zurechtfinden. Team Arbeit könnte man direkt vergessen.
Stellt euch drauf ein, BlitzMax wird euch noch härtere OOP nahe Nüsse vorwerfen die ihr knacken müsst.
Ich kann euch jedenfalls versichern das ihr die OOP lieben werdet wenn ihr sie schlussendlich auch richtig verstanden habt.
Bis es aber soweit ist siehe Signatur.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

hot-bit

Gast

BeitragMo, Sep 27, 2004 18:56
Antworten mit Zitat
Ho.

Gut gebrüllt, Löwe !
Bin auch deiner Meinung .

Toni

Jolinah

BeitragMo, Sep 27, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, ich find OOP ist wirklich was vom Besten das es beim Programmieren gibt. Es wurde doch gerade dazu entwickelt das alles möglichst einfach gehandhabt werden kann und das man dazu nicht die Probleme über kompliziertere Varianten lösen muss.

Ist doch viel einfacher wenn man alle Daten zu einem Gegner direkt unter einem Dach unterbringen kann, inklusive aller Funktionen (Methoden) die was mit dem Gegner zu tun haben etc.. Dann kann man beginnen Objekte (Gegner) zu erzeugen und jedes dieser Objekte hat seine eigenen unabhängigen Eigenschaften und Methoden. Und letztendlich wird auch nur soviel Speicher verbraucht wie es Objekte gibt nicht 100 mal mehr oder so.
 

-BB Noob-

BeitragMo, Sep 27, 2004 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich Benutze Dim-Felder für alles:Schusse,Map,gegner
Mit fornext Schleife viel einfacher als types.

mfg noob

Holzchopf

Meisterpacker

BeitragMo, Sep 27, 2004 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
LOL, sorry, aber deinem Posting kann man ganz einfach entnehmen, dass du noch noob bist Rolling Eyes
Glaub mir, ich arbeitete früher auch ausschliesslich mit DIMs, ist jetzt vorbei, und ich schwöre bei Gott, dass es dank Types viel einfacher ist Smile

@Kabelbinder: Schön, dass du so auf mein Post eingehst Rolling Eyes mindestens ein Statement dazu verlange ich doch Wink
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

Sebe

BeitragMo, Sep 27, 2004 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ich Benutze Dim-Felder für alles:Schusse,Map,gegner
Mit fornext Schleife viel einfacher als types.

mfg noob


Nomen est omen.

Ich finde sowohl DIMs als auch Types haben ihre Daseinsberechtigung. Klar kann man Types weglassen, wenn man kleinere Projekte realisiert, aber sobal es um etwas grössere Projekte ist es eine Qual, ohne Types zu arbeiten.

Jolinah

BeitragMo, Sep 27, 2004 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja,

ich will hier nicht irgendwie angeben oder so. Aber OOP lernt man erst richtig in ner mächtigeren Sprache wie VB .Net oder C++

Ich denke wenn ich nur BB programmieren würde könnt ich deine Aussage sogar irgendwie verstehen. Man muss die Types auch zuerst richtig beherrschen bevor man damit wirklich alles ganz leicht lösen kann.
Ich verstand die Types am Anfang auch noch nicht ganz obwohl ich einige Tutorials darüber gelesen hatte. Damals dachte ich auch noch das Arrays viel einfacher zu benutzen sind und ich hab sie auch für alles mögliche benutzt. Aber wenn ich jetzt die selben Sachen nochmal programmieren würde dann würde ich auch in den meisten Fällen Types benutzen.

Irgendwie kann ich nämlich einfach nicht glauben das du die Types total gut handhaben kannst oder du sonstige OOP Erfahrung hast, sonst würdest du sowas wohl nicht behaupten, wenn doch dann... weiss ich auch nicht Wink


Naja das war wohl mein letzter Post in diesem Thread. Ist halt meine Meinung zu diesem Thema, will auch niemanden angreifen. Aber wer dauernd behauptet das Arrays einfacher zu handhaben sind der sollte vielleicht erstmal die andere Seite kennen lernen bevor er was dazu sagt.
Denn wie Suco sagt, OOP macht das Programmieren zum Traum Wink

Hubsi

BeitragMo, Sep 27, 2004 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Jolinah hat Folgendes geschrieben:
Bei Types wird beim erstellen eines Objektes soviel Speicher reserviert wie für den Type nötig ist, und beim löschen anschliessend wieder freigegeben.
Ich glaube mal gelesen zu haben das einmal durch Type-Einträge benutzter Speicherplatz nicht wirklich freigegeben wird, da Blitz davon ausgeht das mindestens soviele Einträge wieder erstellt werden.
Ich will mich aber nicht darauf versteifen, da ich es noch nicht getestet habe Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group