tomaschku
Goto Top

Sollen die Streifen so sein?

Hallo Leute!

Schaut euch mal das Bild an und sagt mir, was ihr davon hält. Ist das Normal?
Wenn man mit der Mouse (und Quickedit enabled) draufklickt oder das Fenster nur Vergrößert/Verkleinert verschwindet es. (Bei der Maus nur teilweise)
Der Code ist selbsterstellt und in einem Kommentar von mir aufgelistet.

Gruß,
tomaschku
admin.de

Content-Key: 368973

Url: https://administrator.de/contentid/368973

Printed on: April 26, 2024 at 05:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Mar 22, 2018 at 20:30:30 (UTC)
Goto Top
Zitat von @tomaschku:

Ist das Normal?

Was sagt denn die Spezifikation?

lks
Member: tomaschku
tomaschku Mar 22, 2018 updated at 20:45:38 (UTC)
Goto Top
Spezi-was? Meinst du den Code, oder?

Gruß,
bis Morgen
Member: rubberman
rubberman Mar 22, 2018 at 21:00:39 (UTC)
Goto Top
Versuchst du irgendwas grafisches in einem Konsolefenster? Das wird Murks. Ohne Code kann aber niemand auf deine Frage antworten ...

Steffen
Member: Lochkartenstanzer
Lochkartenstanzer Mar 22, 2018 at 21:11:41 (UTC)
Goto Top
Zitat von @tomaschku:

Spezi-was? Meinst du den Code, oder?

bevor man Code schreibt, spezifiziert man, was das Programm tun soll und wie z.b. der Bildschirm aussehen soll. dementsprechend kann man bewerten, ob das was der Code produziert das ist, was die Spezifikation sagt.

lks
Member: nikoatit
nikoatit Mar 23, 2018 at 10:53:33 (UTC)
Goto Top
Auf alle Fälle Monitor und Grafikkarte tauschen!

Gruß
Member: Penny.Cilin
Penny.Cilin Mar 23, 2018 at 11:48:43 (UTC)
Goto Top
Was ist denn diese Drawing.exe? Ein Programm von Dir?
Keine Ahnung was Du da machst.

Gruss Penny.
Member: tomaschku
tomaschku Mar 23, 2018 updated at 15:06:41 (UTC)
Goto Top
Ich habe mir einfach eine Funktion erstellt, die an den angegebenen Koordinaten ein Zeichen schreibt (Header außenvor):

void printxy(unsigned int x, unsigned int y, char sym) {
	_printxy_check_(x, y, 1);

	COORD pos;
	pos.X = x;
	pos.Y = y;

	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
	std::cout << sym;
}
Und das in 2 for Schleifen:

	for (int X = 0; X < 119; X++) {
		for (int Y = 0; Y < 30; Y++) {
			printxy(X, Y, 'Û');  
			std::this_thread::sleep_for(std::chrono::microseconds(1));
		}
	}
	pause();
	cls();
	for (int Y = 0; Y < 30; Y++) {
		for (int X = 0; X < 119; X++) {
			printxy(X, Y, 'Û');  
			std::this_thread::sleep_for(std::chrono::microseconds(1));
		}
	}
	pause();

Eigentlich war es mehr eine humoristische Frage, aber ich dachte, in Humor passt es dann doch nicht so rein. face-smile

(Mein Plan war ein pseudografisches Spiel, dass war halt ein Schnelligkeitstest, da ich mir unter microsecond nicht viel vorstellen hab können)
Member: tomaschku
tomaschku Mar 23, 2018 at 15:09:30 (UTC)
Goto Top
bevor man Code schreibt, spezifiziert man, was das Programm tun soll und wie z.b. der Bildschirm aussehen soll.
Spezifizieren tut man also außerhalb des Programmes, mehr oder weniger gedanklich, oder? Nicht Böse gemeint, aber ich verstehe grad nur Bahnhof, auch weil Google meine einzige Quelle ist (und nichts ausspuckt).
Member: tomaschku
tomaschku Mar 23, 2018 at 15:10:37 (UTC)
Goto Top
Ja, hab mein Code getestet. Hatt ich vergessen, dazuzuschreiben.
Member: rubberman
Solution rubberman Mar 23, 2018 updated at 17:56:16 (UTC)
Goto Top
OK, das beantwortet deine Frage nach dem "soll das so sein". Antwort, nein soll nicht, aber ist nun mal so. Da du mit dem "Full Block" Zeichen versuchst Grafiken zu erstellen, ist es nun mal so, dass das immer noch einzelne Zeichen bleiben. Das Windows Konsolefenster ist in einzelne Character Cells aufgeteilt. Kannst du dir vorstellen wie eine Exceltabelle, bei der jede Zelle die Breite und Höhe hat, um genau ein Zeichen zu beinhalten. Kleine Ungenauigkeiten in der Darstellung (Überlappen oder Abstand der Blockzeichen zum Rand der Character Cells) führen zu dieser streifigen Darstellung.

Die Windows Konsole ist ein rein textbasiertes Fenster. Wenn du dort versuchst missbräuchlich Grafiken hinein zu zaubern, dann muss dir klar sein, dass das nicht der Sinn eines Konsolefensters ist und dass du mit Nebenwirkungen zu rechnen hast.

Steffen