| Autor |
Nachricht |
wand auf wirklich
Unregistrierter
|
wand auf wirklich Unregistrierter
21:18:52 14.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: | | wirklich, ein BITFLAGS_ENUM(bla, fuh) hinschreiben ist wirklich total viel Aufwand. | Ich frage mich, warum du fuh brauchst. Das ist fehleranfällig und den Typen bekommst du doch auch durch std::underlying_type<bla>::type. |
|
|
|
 |
Unregistrierter
|
Unregistrierter
21:54:44 14.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: |
Bring ein Beispiel, aber schreib keinen Müll. |
Ok.
| C++: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | enum Color
{
black,
blue,
green,
cyan,
red,
magenta,
brown,
light_grey,
dark_grey,
light_blue,
light_green,
light_cyan,
light_red,
light_magenta,
yellow,
white
};
//...
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), TextColour + 16 * BackgroundColor); | | |
|
|
|
 |
314159265358979
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
|
314159265358979 Mitglied
22:04:37 14.05.2012 Titel: |
|
Zitieren |
| wand auf wirklich schrieb: | | 314159265358979 schrieb: | | wirklich, ein BITFLAGS_ENUM(bla, fuh) hinschreiben ist wirklich total viel Aufwand. | Ich frage mich, warum du fuh brauchst. Das ist fehleranfällig und den Typen bekommst du doch auch durch std::underlying_type<bla>::type. |
Dass es std::underlaying_type gibt, hab ich noch nicht verinnerlicht. Du hast natürlich Recht, so wäre es besser.
| Hacker schrieb: | | 314159265358979 schrieb: |
Bring ein Beispiel, aber schreib keinen Müll. |
Ok.
| C++: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | enum Color
{
black,
blue,
green,
cyan,
red,
magenta,
brown,
light_grey,
dark_grey,
light_blue,
light_green,
light_cyan,
light_red,
light_magenta,
yellow,
white
};
//...
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), TextColour + 16 * BackgroundColor); | |
|
Mal abgesehen, dass mich Beispiele mit Windoof-spezifischem Code ankotzen, ergibt dein Beispiel doch gar keinen Sinn. Was soll denn bei 2*black rauskommen? Woher weißt du, dass 165*red immer noch red ist? |
|
|
|
 |
Unregistrierter
|
Unregistrierter
22:08:54 14.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: |
| Hacker schrieb: | | 314159265358979 schrieb: |
Bring ein Beispiel, aber schreib keinen Müll. |
Ok.
| C++: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | enum Color
{
black,
blue,
green,
cyan,
red,
magenta,
brown,
light_grey,
dark_grey,
light_blue,
light_green,
light_cyan,
light_red,
light_magenta,
yellow,
white
};
//...
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), TextColour + 16 * BackgroundColor); | |
|
Mal abgesehen, dass mich Beispiele mit Windoof-spezifischem Code ankotzen, ergibt dein Beispiel doch gar keinen Sinn. |
Selbstverständlich ergibt es Sinn.
| 314159265358979 schrieb: | | Was soll denn bei 2*black rauskommen? Woher weißt du, dass 165*red immer noch red ist? |
Deine Fragen ergeben doch gar keinen Sinn, denn 2 * black ist 0 und 165 * red ist selbstverständlich irgendeine Zahl (und wieso zum Teufel sollte die dann red sein!?). |
|
|
|
 |
314159265358979
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
|
314159265358979 Mitglied
22:23:44 14.05.2012 Titel: |
|
Zitieren |
| Hacker schrieb: | | Selbstverständlich ergibt es Sinn. |
Nein, tut es nicht. Farben werden üblicherweise als RGB, HSV, CMYK oder andere dargestellt. Aber ein BBGCRMBL_GD_GL_BL_GL_CL_RL_MYW Farbsystem kenn ich noch nicht.
| Hacker schrieb: | | Deine Fragen ergeben doch gar keinen Sinn, denn 2 * black ist 0 und 165 * red ist selbstverständlich irgendeine Zahl (und wieso zum Teufel sollte die dann red sein!?). |
Die Fragen waren vermutlich falsch formuliert. Aber ich bin mal so frei und stelle direkt die fundementalere Frage: Welche interne Repräsentation schwebt dir vor? Das würde mich nun schon sehr interessieren. Am besten implementierst du den *-Operator, gibst jeder Farbe einen bestimmten Wert und schreibst eine Funktion std::array<unsigned char, 3> to_rgb(Color). |
|
|
|
 |
Unregistrierter
|
Unregistrierter
22:35:45 14.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: | | Hacker schrieb: | | Selbstverständlich ergibt es Sinn. |
Nein, tut es nicht. Farben werden üblicherweise als RGB, HSV, CMYK oder andere dargestellt. |
Microsoft!
Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig).
| 314159265358979 schrieb: |
| Hacker schrieb: | | Deine Fragen ergeben doch gar keinen Sinn, denn 2 * black ist 0 und 165 * red ist selbstverständlich irgendeine Zahl (und wieso zum Teufel sollte die dann red sein!?). |
Die Fragen waren vermutlich falsch formuliert. Aber ich bin mal so frei und stelle direkt die fundementalere Frage: Welche interne Repräsentation schwebt dir vor? Das würde mich nun schon sehr interessieren. Am besten implementierst du den *-Operator, gibst jeder Farbe einen bestimmten Wert und schreibst eine Funktion std::array<unsigned char, 3> to_rgb(Color). |
Tut mir leid wenn ich dir jetzt sehr blöde Fragen stelle, aber was heißt "interne Repräsentation"? Wovon? |
|
|
|
 |
314159265358979
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
|
314159265358979 Mitglied
22:41:08 14.05.2012 Titel: |
|
Zitieren |
| Hacker schrieb: | | Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig). |
Keine Ahnung, wie du auf einmal auf 8 Bit pro Farbe kommst.
| Hacker schrieb: | | Tut mir leid wenn ich dir jetzt sehr blöde Fragen stelle, aber was heißt "interne Repräsentation"? Wovon? |
Dein enum Color basiert auf einem Datentyp. Jeder deiner enum-Werte braucht einen entsprechenden Wert des Datentyps. |
|
|
|
 |
dot
Mitglied
Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5613
|
dot Mitglied
22:45:54 14.05.2012 Titel: |
|
Zitieren |
|
 |
Unregistrierter
|
Unregistrierter
22:46:12 14.05.2012 Titel: |
|
Zitieren |
| 314159265358979 schrieb: | | Hacker schrieb: | | Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig). |
Keine Ahnung, wie du auf einmal auf 8 Bit pro Farbe kommst. |
Ich jetzt auch nicht mehr (wieso passiert mir das immer?). Dann hat aber Microsoft mich mal wieder enttäuscht... ohne Farbkanäle...
| 314159265358979 schrieb: |
| Hacker schrieb: | | Tut mir leid wenn ich dir jetzt sehr blöde Fragen stelle, aber was heißt "interne Repräsentation"? Wovon? |
Dein enum Color basiert auf einem Datentyp. Jeder deiner enum-Werte braucht einen entsprechenden Wert des Datentyps. | [/quote]
Ist klar- die sind gegeben (0, 1, 2, ...). |
|
|
|
 |
dot
Mitglied
Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5613
|
dot Mitglied
22:48:55 14.05.2012 Titel: |
|
Zitieren |
| Hacker schrieb: | | 314159265358979 schrieb: | | Hacker schrieb: | | Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig). |
Keine Ahnung, wie du auf einmal auf 8 Bit pro Farbe kommst. |
Ich jetzt auch nicht mehr (wieso passiert mir das immer?). Dann hat aber Microsoft mich mal wieder enttäuscht... ohne Farbkanäle... |
Das hat alles nichts mit Microsoft zu tun, so funktioniert nunmal der Text Mode am PC |
_________________ one point of view will never reveal the entire scene.
Zuletzt bearbeitet von dot am 22:49:45 14.05.2012, insgesamt 1-mal bearbeitet |
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|