Grafikspielereien

Tutorials.at
Verfügbare Informationen zu "Grafikspielereien"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Dirty Oerty - exbs
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 7
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Grafikspielereien
  • Letzte Antwort: vor 17 Jahren, 3 Monaten, 10 Tagen, 8 Stunden, 36 Minuten
  • Alle Beiträge und Antworten zu "Grafikspielereien"

    Re: Grafikspielereien

    Dirty Oerty - 13.01.2007, 18:52

    Grafikspielereien
    tag,

    ich hab mir gedacht, ich mach mal eine "kleine 2d grafikengine für DOS" :roll:

    was ich mir gedacht hab:

    man könnte eine funktion schreiben, der man eine "x - und y koordinate" gibt sowie einen char, die dann an die stelle des dos fensters den buchstaben schreibt.
    also so der bildschirm:

    00000
    00000
    00000

    (0 steht für leer)

    und so der char:

    char* screen = new char [5] [3];

    wenn man jetzt screen [2][3] auf 's' setzt, sollte das ja eigntl so aussehen:

    00000
    00000
    0s000


    schön, nur beschwehrt sich der compiler bei mir über einen 2 dimensionalen char. oder hat das was mit dem namen des char zu tun?

    auf jedenfall hab ich die fct dann so umgebaut::

    Code:
    int paint_single_point ( int , int , char );

     int paint_single_point (int x, int y, char a )
     {
         if (x>=25 || y>=10) {
           return 0;
        }
        char* screen1 = new char[25];
        char* screen2 = new char[25];
        char* screen3 = new char[25];
        char* screen4 = new char[25];
        char* screen5 = new char[25];
        char* screen6 = new char[25];
        char* screen7 = new char[25];
        char* screen8 = new char[25];
        char* screen9 = new char[25];
        char* screen10 = new char[25];
        switch (y) {
            case 0 : *(screen1 + y) = a; break;
            case 1 : *(screen2 + y) = a; break;
            case 2 : *(screen3 + y) = a; break;
            case 3 : *(screen4 + y) = a; break;
            case 4 : *(screen5 + y) = a; break;
            case 5 : *(screen6 + y) = a; break;
            case 6 : *(screen7 + y) = a; break;
            case 7 : *(screen8 + y) = a; break;
            case 8 : *(screen9 + y) = a; break;
            case 9 : *(screen10 + y) = a; break;
        default: *(screen10 + y) = a; break;
           ;
        }
        std::cout << screen1;
        std::cout << "\n";
        std::cout << screen2;
        std::cout << "\n";
        std::cout << screen3;
        std::cout << "\n";
        std::cout << screen4;
        std::cout << "\n";
        std::cout << screen5;
        std::cout << "\n";
        std::cout << screen6;
        std::cout << "\n";
        std::cout << screen7;
        std::cout << "\n";
        std::cout << screen8;
        std::cout << "\n";
        std::cout << screen9;
        std::cout << "\n";
        std::cout << screen10;
        std::cout << "\n";
        delete [] screen1;
        delete [] screen2;
        delete [] screen3;
        delete [] screen4;
        delete [] screen5;
        delete [] screen6;
        delete [] screen7;
        delete [] screen8;
        delete [] screen9;
        delete [] screen10;
        return 1;
     }

    ich bekomm wenn ich die fct aufruf gar nichts, bei wiederholten aufruf einen "stack overflow".

    ich kapiers nich... :cry:



    Re: Grafikspielereien

    exbs - 14.01.2007, 03:33


    sehe grad selbst ken fehler. wo is denn der 2 dimensionale array deklariet?

    wenn du unter windows progs kann ich dir das hier anbieten:

    Code: /* Funktion um den Courser an eine bestimme Stelle zu setzen (x, y) */

    #include <windows.h>

    void gotoxy(int x, int y)
    {
       COORD cur = {x, y};
       SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), cur);
    } zum zeichen eines einzellnen punktes bei (x;y) is das recht gut :).



    Re: Grafikspielereien

    Dirty Oerty - 14.01.2007, 23:03


    nen 2dimensionalen array hat mir der compiler nich erlaubt :cry:

    hm, aber dein code zeichnet ja nen pixel, ich wollte ja praktisch nur ne "matrix"



    Re: Grafikspielereien

    exbs - 15.01.2007, 00:57


    Zitat: hm, aber dein code zeichnet ja nen pixel, ich wollte ja praktisch nur ne "matrix" also eigentlich setzt diese funktion den courser an eine stelle x ; y (wie ne matrix mit x ; y) und dort zeichnest du nen buchstaben oda sonnst was.praktisch so ähnlich wie deins.

    warum hat er dir das nicht erlaubt ? eigentlich brauchst doch nur nen 2dim-array ... von mir aus [8][25] (kA wie groß die konsole genau ist) ... und dann gibts du den aus ... und wenn du dann an stelle [2][12] was zeichen willst musst du nir diese position im array mit (von mir aus) 1 beschriebn und dann dasa ganze ding wieda ausgeben. das ist aba sehr sehr in efizient. besser wäre es wirklich den courser an diese stelle zu setzten, es wird kein eizelnes pixel gezeichnet.



    Re: Grafikspielereien

    Dirty Oerty - 15.01.2007, 19:12


    achso, es wird also nur ein buchstabe gezeichnet?

    und wegen dem arry: also, erlauben tut ers mir immer noch nicht, aber nur mal so, welches wär den dann welche achse?

    also:

    00
    00
    00
    00

    char brabbel [2][4]
    oder
    char brabbel [4][2]

    ?

    mfg



    Re: Grafikspielereien

    exbs - 15.01.2007, 22:05


    00
    00
    00
    00

    = babbel [4][2];

    interessante sache, die eigl net schwer sein sollt.
    ...

    zu der funktion es wird kein buchstabe oda sonnst was gezeichet ... du setzt den courser nur da hin und dann kannst du dort mit von mir aus "printf("A");" ein ja zeichenen.



    Re: Grafikspielereien

    Dirty Oerty - 18.01.2007, 17:10


    jo, ok, danke.

    hab die funktion nun n paar mal verwendet.



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Blitz3D-Welten - gepostet von Dragorad am Dienstag 14.11.2006
    Dev C++ ein Download-Problem - gepostet von mismis am Mittwoch 27.12.2006
    Asseblercode? - gepostet von detewe89 am Freitag 01.06.2007
    HTML/ PHP - gepostet von gs93 am Dienstag 17.10.2006
    Mache ich den richtigen Kurs? - gepostet von Cypher am Samstag 03.03.2007
    sich selbst aufrufendes Programm - gepostet von Moritz am Mittwoch 24.10.2007
    Eigene Programme - gepostet von vpascal am Mittwoch 04.04.2007
    In welchen Programmiersprachen programmiert ihr? - gepostet von ggspp am Montag 15.05.2006
    c/c++? - gepostet von pYp am Montag 04.09.2006



    Ähnliche Beiträge wie "Grafikspielereien"