Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Korowai

unregistriert

21

20.12.2017, 06:55

Ich sende Dir auch gerne das komplette code::blocks Projekt, Blue Cobold, dann kannst Du Dir das alles mal ansehen.

Ich bin leider an der Grenze dessen angelangt, was ich weiß und probiere nur noch blind herum.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

22

20.12.2017, 06:57

Ich will nicht den kompletten Code geschickt bekommen. Ich vertraue darin, dass du in der Lage bist den dafür relevanten Code hier zu posten. Also woher stammen deine Button-IDs?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Korowai

unregistriert

23

20.12.2017, 07:06

Ich habe sie mit resedit erstellt. (.rc) und über einen Header eingebunden.

Die Buttons haben lediglich die Erweiterung WS_EX_LEFT

Der control, in dem gerendert wird, hat WC_STATIC, SS_BLACKFRAME

Jetzt öffnet sich aber eine neue Überlegung, vielen Dank,

ich poste gleich mal den kompletten code.

Korowai

unregistriert

24

20.12.2017, 18:39

O.K.,

hier der Auszug aus der resource.rc:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
#include "resource.h"

//
// Dialog resources
//
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG1 DIALOGEX 0, 0, 731, 417
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_POPUP | WS_SYSMENU
CAPTION "Raumkarte"
FONT 8, "Ms Shell Dlg", 0, 0, 1
{
    CONTROL         "Raumkarte", 5002, WC_STATIC, SS_BLACKFRAME, 200, 0, 400, 300, WS_EX_LEFT
    DEFPUSHBUTTON   "Raumkarte schliessen", ID_SCHLIESSEN, 5, 5, 90, 14, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Links", ID_LINKS, 47, 256, 40, 15, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Rechts", ID_RECHTS, 102, 256, 40, 15, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Oben", ID_OBEN, 76, 239, 40, 15, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Unten +100", ID_UNTEN100, 76, 290, 40, 14, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Naechstes Mobil", ID_NMOBIL, 97, 22, 90, 15, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Vorheriges Mobil", ID_VMOBIL, 5, 22, 90, 15, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Mobil zentrieren", ID_ZENTRIEREN, 47, 199, 95, 15, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Oben +100", ID_OBEN100, 76, 219, 37, 14, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Unten", ID_UNTEN, 76, 273, 40, 15, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Links +100", ID_LINKS100, 9, 257, 36, 14, 0, WS_EX_LEFT
    DEFPUSHBUTTON   "Rechts +100", ID_RECHTS100, 144, 256, 42, 14, 0, WS_EX_LEFT
}


und die übergeordnete Struktur des Dialogs

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
BOOL CALLBACK Raumaktionproc(HWND hDlg1, UINT message, WPARAM wParam, LPARAM lParam)
{
    HWND hwndKarte;
    HINSTANCE hInstance;
    PAINTSTRUCT ps;
    HDC hdc;
    static float oWorldposx=0;
    static float oWorldposy=0;
    static float Spielx, Spiely;
    static float Defx, Defy;
    static std::string Defname;

    hdc=GetDC(hDlg1);
    hwndRaumkarte=GetDlgItem(hDlg1, 5002);

    switch (message)
    {
    case WM_INITDIALOG:
       {
        Start=true;
        Zentrieren=true;

        // Hier werden noch die einzelnen  Steuerelemente aktiviert und angezeigt 
        // über ShowWindow und EnableWindow

        initD3D(hDlg1, hwndRaumkarte, Bildschirmbreite, Bildschirmhoehe);
        InitSprite(hDlg1, Bildschirmbreite, Bildschirmhoehe);
        Spieler[0].posx=400.0f;
        Spieler[0].posy=300.0f;
        Spieler[1].posx=450.0f;
        Spieler[1].posy=350.0f;
        Spieler[2].posx=50.0f;
        Spieler[2].posy=550.0f;
        Spieler[3].posx=750.0f;
        Spieler[3].posy=550.0f;

        Gegner[0].posx=410;
        Gegner[0].posy=310;
        Gegner[1].posx=500;
        Gegner[1].posy=355;
        Gegner[2].posx=55;
        Gegner[2].posy=545;
        Gegner[3].posx=770;
        Gegner[3].posy=570;
        Spieler[0].Rundenaktiv=true;

        InvalidateRect(hDlg1, NULL, TRUE);
        return FALSE;
       };
    case WM_PAINT:
        {
            Spielx=Spieler[aktMobil].posx;
            Spiely=Spieler[aktMobil].posy;

            d3ddev->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 1.0f, 0);

            render_frame_center(hDlg1, Worldposx, Worldposy, Bildschirmbreite, Bildschirmhoehe, Spielx, Spiely, oWorldposx, oWorldposy);

            if (Spieler[aktMobil].Mobilart==0)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[aktMobil].posx;
                    Mobilposy=Spieler[aktMobil].posy;
                    render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Spieler[aktMobil].Mobilart==1)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[aktMobil].posx;
                    Mobilposy=Spieler[aktMobil].posy;
                    render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Spieler[aktMobil].Mobilart==2)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[aktMobil].posx;
                    Mobilposy=Spieler[aktMobil].posy;
                    render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Spieler[aktMobil].Mobilart==3)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[aktMobil].posx;
                    Mobilposy=Spieler[aktMobil].posy;
                    render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }

            render_ZeichenaktivesMobil(Spielx, Spiely, oWorldposx, oWorldposy, Spieler);
            for (int x=0;x<4;x++)
            {
                if (x!=aktMobil)
                {
                if (Spieler[x].Mobilart==0)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[x].posx;
                    Mobilposy=Spieler[x].posy;
                    render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Spieler[x].Mobilart==1)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[x].posx;
                    Mobilposy=Spieler[x].posy;
                    render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Spieler[x].Mobilart==2)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[x].posx;
                    Mobilposy=Spieler[x].posy;
                    render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Spieler[x].Mobilart==3)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[x].posx;
                    Mobilposy=Spieler[x].posy;
                    render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
            }
            }
             for (int x=0;x<4;x++)
            {
                if (Gegner[x].Mobilart==0)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Gegner[x].posx;
                    Mobilposy=Gegner[x].posy;
                    render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Gegner[x].Mobilart==1)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Gegner[x].posx;
                    Mobilposy=Gegner[x].posy;
                    render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Gegner[x].Mobilart==2)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Gegner[x].posx;
                    Mobilposy=Gegner[x].posy;
                    render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
                else if (Gegner[x].Mobilart==3)
                {
                    float Mobilposx, Mobilposy;
                    Mobilposx=Gegner[x].posx;
                    Mobilposy=Gegner[x].posy;
                    render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy);
                }
            }
            if (Start==true&&Zentrieren==true)
            {
            render_cameracenter(hDlg1, oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely);
            }
            else if (Start==false&&Zentrieren==true)
            {
            render_cameracenter(hDlg1, oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely);
            }
            else if (Start==false&&Zentrieren==false)
            {
            render_camera(hDlg1,oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely);
            }

            d3ddev->Present(NULL,NULL,NULL,NULL);

            ValidateRect(hDlg1, NULL);
        }
        break;


    case WM_COMMAND:
        {
        switch (LOWORD (wParam))
       {
           case ID_SCHLIESSEN:
        {
                MessageBox(hDlg1, TEXT ("Runde im All beendet"), "EXO 1.2", MB_ICONEXCLAMATION|MB_OK);
                cleanD3D();
                EndDialog(hDlg1,0);
                return TRUE;
        }
       break;

           
           case ID_NMOBIL:
            {
                Start=false;
                Zentrieren=true;
                Worldposx=0.0;
                Worldposy=0.0;
                oWorldposx=0.0;
                oWorldposy=0.0;
                aktMobil=aktMobil+1;
                if (aktMobil>3)
                {
                    aktMobil=0;
                    Spieler[aktMobil].Rundenaktiv=true;
                }
                for (int x=0;x<4;x++)
                {
                    if (x!=aktMobil)
                    {
                        Spieler[x].Rundenaktiv=false;
                    }
                }
            InvalidateRect(hDlg1,NULL,TRUE);
            }
            break;
           case ID_PLANET:
            {
                Start=false;
                Zentrieren=false;

            }
            break;

           case ID_SCAN:
            {
                Start=false;
                Zentrieren=false;


            }
            break;



           case ID_VMOBIL:
            {
                Start=false;
                Zentrieren=true;

                Worldposx=0.0;
                Worldposy=0.0;
                oWorldposx=0.0;
                oWorldposy=0.0;
                EnableWindow(GetDlgItem(hDlg1, ID_GEGNERAUSWAHL),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_FEUERBEENDEN),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_FEUERFLUCHT),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_BASIS),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_FEUER),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_KOM),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_LABWERFEN),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_LTAUSCHEN),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_MOBILINFO),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_AKTIONSINFO),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_ZIELINFO),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_PLANET),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_SCAN),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_LOGG),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_START),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_STATION),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_TARNEN),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_BEWEGUNG),TRUE);
                EnableWindow(GetDlgItem(hDlg1, ID_SCHUERFEN),TRUE);

                aktMobil=aktMobil-1;
                if (aktMobil<0)
                {
                    aktMobil=3;
                    Spieler[aktMobil].Rundenaktiv=true;
                }
                for (int x=0;x<4;x++)
                {
                    if (x!=aktMobil)
                    {
                        Spieler[x].Rundenaktiv=false;
                    }
                }
           InvalidateRect(hDlg1,NULL,TRUE);
            }
            break;

           case ID_ZIELINFO:
            {
                Start=false;
                Zentrieren=false;


            }
            break;

           case ID_ZENTRIEREN:
            {
                Start=false;
                Zentrieren=true;


                Worldposx=0.0;
                Worldposy=0.0;
                oWorldposx=0.0;
                oWorldposy=0.0;
                InvalidateRect(hDlg1,NULL,TRUE);
            }
            break;

           case ID_RECHTS:
            {
                Start=false;
                Zentrieren=false;
                Worldposx=Worldposx+5.00;
                oWorldposx=oWorldposx+5.00;
                InvalidateRect(hDlg1, NULL, TRUE);
            }
            break;

           case ID_RECHTS100:
            {
                Start=false;
                Zentrieren=false;

                Worldposx=Worldposx+100.00;
                oWorldposx=oWorldposx+100.00;
                InvalidateRect(hDlg1,NULL, TRUE);
            }
            break;


           case ID_LINKS:
            {
                Start=false;
                Zentrieren=false;

                Worldposx=Worldposx-5.00;
                oWorldposx=oWorldposx-5.00;
                InvalidateRect(hDlg1, NULL, TRUE);
            }
            break;

           case ID_LINKS100:
            {
                Start=false;
                Zentrieren=false;

                Worldposx=Worldposx-100.00;
                oWorldposx=oWorldposx-100.00;
                InvalidateRect(hDlg1,NULL, TRUE);
            }
            break;


           case ID_OBEN:
            {
                Start=false;
                Zentrieren=false;

                Worldposy=Worldposy-5.00;
                oWorldposy=oWorldposy-5.00;
              InvalidateRect(hDlg1,NULL, TRUE);
            }
            break;

           case ID_OBEN100:
            {
                Start=false;
                Zentrieren=false;

                Worldposy=Worldposy-100.00;
                oWorldposy=oWorldposy-100.00;
                InvalidateRect(hDlg1,NULL, TRUE);
            }
            break;


           case ID_UNTEN:
            {
                Start=false;
                Zentrieren=false;

                Worldposy=Worldposy+5.00;
                oWorldposy=oWorldposy+5.00;
                InvalidateRect(hDlg1,NULL, TRUE);
                UpdateWindow(hDlg1);
            }
            break;

        case ID_UNTEN100:
            {
                Start=false;
                Zentrieren=false;

                Worldposy=Worldposy+100.00;
                oWorldposy=oWorldposy+100.00;
                InvalidateRect(hDlg1,NULL, TRUE);
                UpdateWindow(hDlg1);
            }
            break;


        }
        break;
        }
        break;

    }
    return FALSE;
    }

Garzec

Alter Hase

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

25

20.12.2017, 19:22

Ohne den Code anzuschauen, zwei gut gemeinte Hinweise

1. Möchtest du nicht lieber komplett englische Begriffe nutzen? Du mischst ja deutsche Worte mit englischen. Wäre zumindest der normale Weg.

2. So oft, wie ich beim Runterscrollen

Quellcode

1
2
Start=false;
Zentrieren=false;


gelesen habe, das Script kannst du doch massiv kürzen. Da geht garantiert einiges kürzer.

Also ich denke, wie David bereits sagte, du solltest versuchen relevante Stellen auszumachen. Für, zumindest beim letzten Post, 400 Zeilen Code, wird sich glaube ich niemand die Mühe machen, es zu lesen.

Auch hier

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        Spieler[0].posx=400.0f;
        Spieler[0].posy=300.0f;
        Spieler[1].posx=450.0f;
        Spieler[1].posy=350.0f;
        Spieler[2].posx=50.0f;
        Spieler[2].posy=550.0f;
        Spieler[3].posx=750.0f;
        Spieler[3].posy=550.0f;

        Gegner[0].posx=410;
        Gegner[0].posy=310;
        Gegner[1].posx=500;
        Gegner[1].posy=355;
        Gegner[2].posx=55;
        Gegner[2].posy=545;
        Gegner[3].posx=770;
        Gegner[3].posy=570;


könnte man ein gewisses Muster erkennen.

Nachtrag: Beim Hochscrollen dann auch wieder einiges gesehen,

Quellcode

1
2
3
                    float Mobilposx, Mobilposy;
                    Mobilposx=Spieler[aktMobil].posx;
                    Mobilposy=Spieler[aktMobil].posy;


Das hast du in allen vier ifs. Wäre denke ich ebenfalls vermeidbar.

Ohne mir den Code anzugucken, wage ich zu behaupten, dass dieser in sich zusammenfällt, sobald du den mal aufräumst und kürzt ;)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Garzec« (20.12.2017, 19:27)


Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

26

20.12.2017, 20:12

Jupp-hatten wir schon vorgeschlagen....
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Korowai

unregistriert

27

20.12.2017, 20:17

Ja. Das ist alles richtig und ich werde mit Sicherheit mit mehr Erfahrung auch effizienter programmieren.

Nur so langsam kommen mir ehrliche Zweifel, ob es richtig war, in diesem Forum nochmal zu versuchen, ein klar definiertes Problem zu besprechen.

Alles, was ich hier lesen kann, sind mehr oder weniger sinnreiche Hinweise auf meinen Programmierstil und dessen Design. Dinge, die meiner Ansicht
nach als Feinschliff gelten, wenn man "vom Holzhacken mehr und mehr in die Schreinerarbeit dringt".

In der Architektur nennt man diese Art der Problembewältigung "Fachidiotie". Etwa in der Art einem Trockenbauer, dessen abgehängte Decke herunter fällt, zu erzählen, dass sie nicht gespachtelt ist...

Ich habe bisher, ausser von blue cobold, keine einzige fundierte Auseinandersetzung mit dem, um was hier geht, gelesen.

Ich kenne meine eigenen Grenzen bei diesem Hobby, und kann mit Sicherheit noch viel viel dazu lernen.

Leider halt wieder mal nicht in diesem thread.

Zusammengefasst habe ich hier bisher weder eine ernste Auseinandersetzung mit directx noch mit c++ vernommen.

Eure Vorschläge sind durchaus wertvoll, aber eben nicht der Sache dienlich. Das hier gepostete Programm ist ein reines "Übungsprogramm". Ich habe
viel darin ausprobiert und herum gefrickelt, und sicher ist es dadurch nicht ansehnlicher geworden.

Schön wäre bspw., wenn jemand das Thema mal aufgegriffen hätte, um etwas von den drei Einstellungsweisen der Kamera zu erzählen, oder was die Funktion der identitymatrix ist, oder wie die viewmatrix funktioniert etc...

Korowai

unregistriert

28

20.12.2017, 20:26

Eine Forenarbeit wäre bspw.,
wenn jemand von Euch mal ein funktionierendes Beispiel zeigen würde.

Vielleicht zeigen die erfahrenen und präzisen Programmierer, die hier Ansagen machen, aber dann nicht weiter antworten, wenn man fragt und interessiert ist, mal, was sie können...

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

29

20.12.2017, 20:38

Natürlich setzt sich niemand mit deinem eigentlichen Problem auseinander. Das willst du ja auch gar nicht, weil sonst würdest du deinen Code aufräumen bevor du um Rat fragst. Oder auch http://idownvotedbecau.se/nomcve/

Garzec

Alter Hase

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

30

20.12.2017, 21:13

@Korowai, das war nicht böse gemeint.

Du musst dich aber auch in die Lage der anderen versetzen. Das ist eine riesige Wall of Code und es ist schwierig, seine Freizeit dafür aufzuwenden, nach einem Fehler in einem fremden riesigen Script zu suchen, wenn man den Code gar nicht kennt. Bei den ganzen Zeilen muss man sich ja erst einmal einarbeiten.

Und du musst verstehen, dass es noch schwieriger ist, fremden Code zu lesen, wenn dieser minimal chaotisch ist. Mit deutschen Begriffen zu Programmieren ist dann nochmal etwas ungewohnter.

Aber ich denke, wenn du den Code ein bisschen kürzt, hilft es beiden Seiten ungemein und man kann besser nach dem Fehler suchen.

Werbeanzeige