Autor Thema: Was werdet ihr mit dem Source Code machen?  (Gelesen 62033 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Offline Kreuvf

  • Administrator
  • Held
  • *
  • Beiträge: 2.859
    • https://kreuvf.de/
Was werdet ihr mit dem Source Code machen?
« Antwort #30 am: 2004-09-18, 12:30:07 »
Modularisierung ist ja schon was Gutes. Aber man modularisiert, um eben nicht eine Datei mit 100.000 Zeilen Code zu haben, sondern lieber 100 Dateien mit 1.000 Zeilen Code.

Trotzdem muss man diese 1.000 Zeilen erst angucken, die Abhängigkeiten mit anderen Dateien herausfinden und sozusagen die Vernetzung der Dateien untereinander herausfinden.
Bei Problemen immer WZ-Version, Betriebssystem, Prozessor + Architektur, Treiberversionen der Grafiktreiber und Grafikkarte angeben. RAM und Mainboard dürften selten wichtig sein.
Kein Privatsupport, PMs werden ignoriert.

Offline Botti

  • Held
  • *
  • Beiträge: 586
    • CondorRO
Was werdet ihr mit dem Source Code machen?
« Antwort #31 am: 2004-09-18, 12:45:36 »
Wenn ja eine Datei ca. 100 kb groß ist, dann sind da etliche tausend Zeilen
Code enthalten. Deshalb isses schon schwer!

Gruß
Botti

(Thanks to DarkStrider!)

CondorRO Patch Client: site / topic
CondorRO Website: here.



Offline krandi

  • Spezialist
  • *
  • Beiträge: 263
Was werdet ihr mit dem Source Code machen?
« Antwort #32 am: 2004-09-18, 12:48:18 »
also wenn eine datei immernoch 1000 zeilen hat, weiß ich genau, wovon du sprichst, weil ich ja selbst schon bisschen programmiert hab und auch schon dateien mit um die 2000 zeilen hatte. mit copy&paste kommt  da ja schnell was zusammen, vor allem, wenn man der übersichtlichkeit noch ein paar leerzeilen lässt und immer wieder sachen rauskommentiert, richtig? ;-)
Mein Lieblingsspruch: Kümmere dich zuerst um Gottes Willen und seine Gerechtigkeit, dann wird sich Gott um alles kümmern, was du brauchst.
Frei nach Matthäus 6,33.

Offline Botti

  • Held
  • *
  • Beiträge: 586
    • CondorRO
Was werdet ihr mit dem Source Code machen?
« Antwort #33 am: 2004-09-18, 12:51:02 »
Haste dich auch schonmal in einem Code mit FAST machinennahem Niveau
zurechtgefunden :D
Also ich sag eins, es ist schwerer als du denkst!

Es wäre ja möglich, dass die für die Engine auch Assembler-Code benutzt haben
und ich hasse Assembler (kanns zwar - aber hasse es). :wink:

Gruß
Botti

(Thanks to DarkStrider!)

CondorRO Patch Client: site / topic
CondorRO Website: here.



Offline krandi

  • Spezialist
  • *
  • Beiträge: 263
Was werdet ihr mit dem Source Code machen?
« Antwort #34 am: 2004-09-18, 12:58:03 »
ne, ich hab davon keine ahnung und will ich ehrlichgesagt auch nicht haben. ich muss mir nur die zahlen/zeichen angucken, um eine aversion davon zu bekommen. :)

ich bin froh, dass es andere gibt, die das können.  :D
Mein Lieblingsspruch: Kümmere dich zuerst um Gottes Willen und seine Gerechtigkeit, dann wird sich Gott um alles kümmern, was du brauchst.
Frei nach Matthäus 6,33.

Offline Botti

  • Held
  • *
  • Beiträge: 586
    • CondorRO
Was werdet ihr mit dem Source Code machen?
« Antwort #35 am: 2004-09-18, 13:06:57 »
Hier ein Beispiel aus der Duke Nukem 3D Engine (Duke 3D ist ja Open Source
geworden):

bunchfront (long b1, long b2)
{
long x1b1, x2b1, x1b2, x2b2, b1f, b2f, i;

b1f = bunchfirst[b1]; x1b1 = xb1[b1f]; x2b2 = xb2[bunchlast[b2]]+1;
if (x1b1 >= x2b2) return(-1);
b2f = bunchfirst[b2]; x1b2 = xb1[b2f]; x2b1 = xb2[bunchlast[b1]]+1;
if (x1b2 >= x2b1) return(-1);

if (x1b1 >= x1b2)
{
for(i=b2f;xb2[i]<x1b1;i=p2[i]);
return(wallfront(b1f,i));
}
for(i=b1f;xb2[i]<x1b2;i=p2[i]);
return(wallfront(i,b2f));
}

Man sieht die unübersichtlichkeit sehr stark, aber ist eigentlich einfach zu verstehen.

Darunter ist eine 2368 Zeilen lange Funktion für das Zeichnen der Wände :shock:

Gruß
Botti

(Thanks to DarkStrider!)

CondorRO Patch Client: site / topic
CondorRO Website: here.



Offline krandi

  • Spezialist
  • *
  • Beiträge: 263
Was werdet ihr mit dem Source Code machen?
« Antwort #36 am: 2004-09-18, 13:19:55 »
also ja, ich finde, es sieht sehr einfach aus. ungefähr so wie ichs von dbase kenne, was ja sehr benutzerfreundlich und anwendungsnah ist.
Mein Lieblingsspruch: Kümmere dich zuerst um Gottes Willen und seine Gerechtigkeit, dann wird sich Gott um alles kümmern, was du brauchst.
Frei nach Matthäus 6,33.

Offline Botti

  • Held
  • *
  • Beiträge: 586
    • CondorRO
Was werdet ihr mit dem Source Code machen?
« Antwort #37 am: 2004-09-18, 13:38:15 »
Ich mein, wenn man ihn beim drüberfahren anguckt, kann man nicht viel
erkennen. Man muss es sich erst genau angucken, was jede Zeile macht
(außer es ist kommentiert).

Deshalb wird es bei WarZone2100 auch net viel anders sein - es wird auch
so sein, dass wir jede Zeile begreifen müssen und da hoffe ich natürlich,
dass die Dateien natürlich alle kommentiert sind. :wink:
-> Dann könnte einiges schneller zu lesen sein.

Gruß
Botti

(Thanks to DarkStrider!)

CondorRO Patch Client: site / topic
CondorRO Website: here.



Offline krandi

  • Spezialist
  • *
  • Beiträge: 263
Was werdet ihr mit dem Source Code machen?
« Antwort #38 am: 2004-09-18, 13:52:40 »
ja, stimmt schon. man muss erstmal wissen, was was sein soll und was zu was gehört. wenn das alles nur freaks gewesen wären, hättet ihr da jetzt wohl echt ein problem. weil man als solcher gerne eben solche abkürzungen wie "x1" "x2" "x3" oder xyz für variablen benutzt. zumindest wars bei mir so. :) meinen quellcode möchte ich niemanden antun *g*. aber als beispiel kann ich hier ja mal was einfügen...


do case
 case k=5 .and. z1-3>=oRand .and. oWand=.f. && .and. hoch=.t. && hoch
 
  if hell=.t.
   @ z1+1,s1+1 say nr pict "999" colo /w+
  else && hell
   @ z1+1,s1+1 say nr pict "999" colo /w
  endif && hell
 
  z1=z1-3
  skip-dszSprung
  blink=.t.
 
  weiter=.t.
*  if r="o" .and. back=0
*  else
*   next=.t.
*  endif && r
  stufe=stufe+0
 
 case k=24 .and. z1+3<=uRand .and. uWand=.f. && .and. runter=.t. && runter
 
  if hell=.t.
   @ z1+1,s1+1 say nr pict "999" colo /w+
  else && hell
   @ z1+1,s1+1 say nr pict "999" colo /w
  endif && hell
 
  z1=z1+3
  skip+dszSprung
  blink=.t.
 
  weiter=.t.
*  if r="u" .and. back=0
*  else
*   next=.t.
*  endif && r
  stufe=stufe+0
 case k=19 .and. s1-5>=lRand .and. lWand=.f. && .and. links=.t. && links
 
  if hell=.t.
   @ z1+1,s1+1 say nr pict "999" colo /w+
  else && hell
   @ z1+1,s1+1 say nr pict "999" colo /w
  endif && hell
 
  s1=s1-5
  skip-1
  blink=.t.
 
  weiter=.t.
*  if r="l" .and. back=0
*  else
*   next=.t.
*  endif && r
  stufe=stufe+0
 case k=4 .and. s1+5<=rRand .and. rWand=.f. && .and. rechts=.t. && rechts
 
  if hell=.t.
   @ z1+1,s1+1 say nr pict "999" colo /w+
  else && hell
   @ z1+1,s1+1 say nr pict "999" colo /w
  endif && hell
 
  s1=s1+5
  skip+1
  blink=.t.
 
  weiter=.t.
*  if r="r" .and. back=0
*  else
*   next=.t.
*  endif && r
  stufe=stufe+0
 case k=49 && 1
 
 case k=50 && 2
 
 case k=51 && 3
 
 case k=52 && 4
 
 case k=53 && 5
 
 case k=54 && 6
 
 case k=55 && 7
 
 case k=27 && esc
  weiter=.t.
  schluss=.t.
 case k=-1
  if gesamt2=.t.
   gesamt2=.f.
   
   do anzeige-f
   
  else && gesamt
   gesamt2=.t.
   
   do anzeige-w
   
  endif && gesamt
 
*  schluss=.t.
*  weiter=.t.
endcase

stopz=elap(time(),startz)

if stopz>0
* zeit=zeit-stopz
 startz=time()
 sek=sek-1
 if sek=0 .and. min=0
  @ 27,0 say cent("Timeout!",127) colo r+
  weiter=.t.
  schluss=.t.
  k=27
*  k=inkey(0)
 elseif sek<0
  sek=59
  min=min-1
 endif && sek<0
 @ 0,123 say min pict "99" func "l" colo r+/w+
 @ 0,126 say sek pict "99" func "l" colo r+/w+
endif && stopz


EDIT by Kreuvf: Habe den Code mal in den Code-Tag gemacht :D
Mein Lieblingsspruch: Kümmere dich zuerst um Gottes Willen und seine Gerechtigkeit, dann wird sich Gott um alles kümmern, was du brauchst.
Frei nach Matthäus 6,33.

Offline Botti

  • Held
  • *
  • Beiträge: 586
    • CondorRO
Was werdet ihr mit dem Source Code machen?
« Antwort #39 am: 2004-09-18, 14:01:36 »
Machs mal mit CODE-Option -> sieht besser aus :wink:

Gruß
Botti

(Thanks to DarkStrider!)

CondorRO Patch Client: site / topic
CondorRO Website: here.



Offline Kreuvf

  • Administrator
  • Held
  • *
  • Beiträge: 2.859
    • https://kreuvf.de/
Was werdet ihr mit dem Source Code machen?
« Antwort #40 am: 2004-09-18, 14:02:40 »
Zitat

stufe=stufe+0

Was solln die Zeile?
Bei Problemen immer WZ-Version, Betriebssystem, Prozessor + Architektur, Treiberversionen der Grafiktreiber und Grafikkarte angeben. RAM und Mainboard dürften selten wichtig sein.
Kein Privatsupport, PMs werden ignoriert.

Offline krandi

  • Spezialist
  • *
  • Beiträge: 263
Was werdet ihr mit dem Source Code machen?
« Antwort #41 am: 2004-09-18, 14:10:32 »
:lol: wollte ich eigentlich. aber ich dachte, es geht automatisch, wenn man einen text einfügt. wollte schon immer wissen, wie man dasd macht. :) danke.

diese zeile stufe=stufe+0... *g* war mir klar, dass ihr das wissen wollt *ggg*

also das ganze sollte ein kleines automatisches labyrinth werden, was per zufall gänge mit wänden erstellt. leider hab ich aber euch einen alten quelltext gegeben, wo ich noch versucht hab, gänge selbst zu erstellen und die per zufall dem spieler vorzusetzen. dabei gabs bestimmte "gang-stufen". es sollte "gute", "normale" und "böse" gänge geben, und jenach dem, wie sich der spieler in den einzelnen gängen entscheidet, soll er eine stufe auf- oder absteigen (was dann den nächsten gang mit der entsprechenden stufe beeinflusst) oder seine stufe behalten.

stufe=stufe+0 war deswegen drinne, weil ich den quellcode für die gänge einfach in die module kopiert hab, als muster sozusagen, und dann nur entsprechend abgeändert hab, wie es notwendig war. bei diesem gang sollte also keine änderung der spieler-stufe erfolgen und so hab ichs also auf 0 gesetzt. :)

aber das war wie gesagt das alte. inzwischen hab ichs anders gemacht gehabt (aber schon vor einem jahr oder so), so dass der computer per zufall bei jedem schritt einen neuen gang erstellt, aber bis jetzt nur leere gänge, ohne besondere funktion. hab dann noch so einen anzeigemodus gemacht, in den man wechseln kann. der erste modus zeigt den einzelnen gang mit seiner besonderen funktion bildhaft (mit asci-zeichen), der zweite anzeigemodus zeigt das gesamte labyrinth als übersichtskarte mit wänden und gangnummern zur identifikation, glaube ich.
Mein Lieblingsspruch: Kümmere dich zuerst um Gottes Willen und seine Gerechtigkeit, dann wird sich Gott um alles kümmern, was du brauchst.
Frei nach Matthäus 6,33.

Offline Botti

  • Held
  • *
  • Beiträge: 586
    • CondorRO
Was werdet ihr mit dem Source Code machen?
« Antwort #42 am: 2004-09-18, 19:00:22 »
Oho ... son Labyrinth hatte ich auchmal vor zu programmieren, wollte es mal
machen, hatte aber keine Lust damit anzufangen :wink:

Willste mal meinen MapPrinter-Code sehen 8)
-> nur scherz :P

Gruß
Botti

(Thanks to DarkStrider!)

CondorRO Patch Client: site / topic
CondorRO Website: here.



Offline krandi

  • Spezialist
  • *
  • Beiträge: 263
Was werdet ihr mit dem Source Code machen?
« Antwort #43 am: 2004-09-18, 20:53:26 »
um meinen vorschlägen für ein neues warzone noch was anzuschließen (in bezug auf wettereinflüsse): wenn es schneit, muss die vorher grüne landschaft natürlich weiß werden und der schnee liegenbleiben (echte flocken, die langsam je nach temperatur schmelzen), so hoch, wieviel schnee eben gefallen ist. und je nachdem müssen auch die spuren tief sein.

wenn es wieder wärmer wird, muss der schnee wieder schmelzen und erst schlamm und pfützen verursachen (wie auch regen), was aber nach gewisser zeit und temperatur (spielt wichtige rolle) wieder trocken und fest wird und weniger tiefe bis garkeine spuren hinterlässt.

und nochmal zu den leistungsanforderungen: wenn warzone 3 dann mal fertig ist, wird es wirklich sicher schon rechner geben, die das flüssig darstellen können. und wie gesagt soll es ja die möglichkeit geben, alle effekte einzeln an- oder ausstellen zu können.

aber so eine grafik wäre doch überwältigend, oder? realität pur!
Mein Lieblingsspruch: Kümmere dich zuerst um Gottes Willen und seine Gerechtigkeit, dann wird sich Gott um alles kümmern, was du brauchst.
Frei nach Matthäus 6,33.

Offline Kreuvf

  • Administrator
  • Held
  • *
  • Beiträge: 2.859
    • https://kreuvf.de/
Was werdet ihr mit dem Source Code machen?
« Antwort #44 am: 2004-09-19, 09:45:42 »
Zitat von: krandi
und nochmal zu den leistungsanforderungen: wenn warzone 3 dann mal fertig ist, wird es wirklich sicher schon rechner geben, die das flüssig darstellen können. und wie gesagt soll es ja die möglichkeit geben, alle effekte einzeln an- oder ausstellen zu können.

aber so eine grafik wäre doch überwältigend, oder? realität pur!

Nur ist es eben schon scheiße, wenn man als Entwickler sein eigenes Spiel auf dem Heimrechner nicht richtig spielen kann.

Zitat von: krandi
wenn es schneit, muss die vorher grüne landschaft natürlich weiß werden und der schnee liegenbleiben (echte flocken, die langsam je nach temperatur schmelzen), so hoch, wieviel schnee eben gefallen ist. und je nachdem müssen auch die spuren tief sein.

Dafür müsste man entweder das Partikellimit auf min. 1.000.000.000 Partikel setzen oder zu jeder Textur eine Schneefalltextur berechnen, die dann schrittweise ersetzt wird. Dann bräuchte man aber noch Pfützen-Texturen, Schlamm-Texturen und gefrorene Texturen. Alleine das zu berechnen ist schon ein großer Aufwand. Aber dann noch jedes Tile individuell berechnen zu lassen (beim Hang unten sammelt sich mehr Wasser und auf Anhöhen ist es "trocken"), würde schon so manchen Rechner in die Knie zwingen.
Bei Problemen immer WZ-Version, Betriebssystem, Prozessor + Architektur, Treiberversionen der Grafiktreiber und Grafikkarte angeben. RAM und Mainboard dürften selten wichtig sein.
Kein Privatsupport, PMs werden ignoriert.