Hallo, wir haben in der uni das spiel conway game of life mit c++ programmiert. Dazu haben wir verschiedene Buttons eingefügt (z.B. um die Schnelligkeit zu ändern), verschiedene anzeigen und natürlich das Feld usw. programmiert. Das hat auch spass gemacht und hat auch funktioniert. Leider war es so, dass wir das mit einem uni-internen programm erstellt haben, wo das Programm ansich schon mehrere sachen kann und die benutzte Bibliothek konnte auch schon sachen. So konnten wir im Programm schreiben DrawLine(x1,y1,x2,y2,...) und es wurde je nach input-parameter die linie gezeichnet. Jetzt möchte ich das ganze gerne zu hause auch machen. Dazu habe ich mir Visual Studio 2015 besorgt. Allerdings stehe ich jetzt vor dem Problem, dass wenn ich eine neues Projekt starte, gar nichts da ist. Um leicht anzufangen, würde ich gerne zunächst einfach ein Fenster mit einem Button erstellen, welcher mir dann eine Linie zeichnet (damit habe ich ja schon fast alles was ich brauche (bis auf die Logik des Spiels)) Mal lese ich, dass ich QT brauche, einige sagen GTK sei besser und andere wxWidets. Anders mal lese ich aber, dass ich auch gar nichts von den sachen brauche. Was brauche ich alles dafür? und wie fange ich so ein Projekt an? (IN der Uni war ja schon immer alles inkludiert und Dateien mit entsprechenden Funktionen vorhanden). Bin über jeden Tipp, Hilfe, Tutorials usw. sehr dankbar. Mark
Um auch mal was zum Thema zu sagen: Mark schrieb: > Leider war es so, dass wir das mit einem uni-internen programm erstellt > haben, wo das Programm ansich schon mehrere sachen kann und die benutzte > Bibliothek konnte auch schon sachen. > Jetzt möchte ich das ganze gerne zu hause auch machen. Dazu habe ich mir > Visual Studio 2015 besorgt. Ich finde es - entgegen manch anderem hier - sehr löblich, dass du dich nicht mit dem zufrieden gibst, was dir von der Uni vorgekaut wird, sondern dich etwas tiefer damit beschäftigen willst. Mark schrieb: > Mal lese ich, dass ich QT brauche, einige sagen GTK sei besser und > andere wxWidets. Anders mal lese ich aber, dass ich auch gar nichts von > den sachen brauche. Du brauchst ein sogenanntes GUI-Toolkit. Das ermöglicht es dir, Fesnster und Buttons und andere typische GUI-Elemente zu erzeugen und für dein Programm passend einzustellen. Außerdem kannst du damit auch deine Linien zeichnen. Qt, GTK und wxWidgets gehören zu den GUI-Toolkits. Jedes davon kann genutzt werden für das, was du vor hast. Was davon man nimmt, ist letztendlich Geschmackssache. > Was brauche ich alles dafür? > und wie fange ich so ein Projekt an? (IN der Uni war ja schon immer > alles inkludiert und Dateien mit entsprechenden Funktionen vorhanden). Schau dir für dein gewähltes Toolkit die Tutorials an. Da wird eigentlich alles gezeigt, was du für dein Vorhaben brauchst. Noch jemand schrieb im Beitrag #4602770: > Heiko schrieb: >> Es macht mich auch immer wieder ganz gefühlsduselig, wenn ich sehe, was >> wir hier alle zusammen leisten. > > Lese ich richtig? "Wir hier alle zusammen"? Das sollte doch wohl heißen: > "die anderen außer mir". Ich fürchte, dass er tatsächlich glaubt, dass sein gegen die Forenregeln verstoßendes Hassposting irgendwem was bringt.
Mark schrieb: > Allerdings stehe ich jetzt vor dem Problem, dass wenn ich eine neues > Projekt starte, gar nichts da ist. Was um alles in der Welt soll denn da sein ausser einem leeren Projekt? Mit der Entwicklungsumgebung kann man schliesslich ALLES programmieren, soll der PC etwa erraten, was du für ein Programm erstellen möchtest und bereits alles einsetzen was du nicht kannst? Georg
Mark schrieb: > conway game of life mit c++ ... benutzte Bibliothek > So konnten wir im Programm schreiben DrawLine(x1,y1,x2,y2,...) Auf die Idee mit den Linien bin ich noch garnicht gekommen. Conway's GoL war bei mir immer als ASCII-Grafik oder im Grafikmodus mit Pixeln. Heiko schrieb: > Benutze die Fenster- und Grafikfunktionen des Betriebsystems Mark schrieb: > habe ich mir Visual Studio 2015 besorgt. Falls das nicht klappt, nimm CodeBlocks inkl. MinGW-Setup und dann geht es hier weiter: https://msdn.microsoft.com/en-US/library/windows/desktop/ff818516(v=vs.85).aspx Allerdings ist das mit WinAPI für Neulinge sehr aufwändig! Heiko schrieb: > allgemeine Grafikprogrammierung unter C++ ... Dazu gehören > Framebuffer, Linien-, Kegelschnitt-, 3D-Grafikalgorithmen Habe ich für 2-dimensionale Zellularautomaten wie GoL nie gebraucht. Vor allem auf den Kegelschnitt konnte ich gut verzichten :)
> Benutze die Fenster- und Grafikfunktionen des Betriebsystems,
Böser Tipp, gaaaanz böser Tipp!
GUI-Toolkits kommen und gehen zwar wie schlechte Kleidermode, aber ihr
Zweck ist genau die Betriebssystemanbindung so zu abstrahieren dass Dein
Programm -Verfügbarkeit des GUI-Toolkits vorausgesetzt- auch auf
anderen/künftigen Betriebssysteme kompilierbar sein sollte.
Ja, die GUI-Toolkitwahl ist eher Geschmackssache: krall Dir eins und
arbeite Dich da rein. Beim Einarbeiten in ein nächstes hast dann
zumindest etwas zum vergleichen.
Ja, GUI-Toolkits können nicht alle Feinheiten und Spezialfälle der
systemnativen Grafiksubsysteme brücken, sie wollen eher die 08-15 Fälle
bequemer machen.
Du kannst Dich immernoch in späteren Runden durch dass GUI-Toolkit
durchtauchen bis runter, gar unter die Betriebssystemebene, um zu
verstehen wie tatsächlich die Pixel ausgewählt werden um z.B. eine
Kreislinie am Bildschim zu sehen.
Eine Alternative ist m. M.n, in SVG einzusteigen.
Die "Abstraktion" ist dann nicht "direkt" der Bildschimspeicher sondern
das Browserfenster (FF). Der Vorteil ist dann dass das Gezeichnete vom
Browser aus gleich gedruckt (auch als PDF Datei gespeichert) werden
kann.
OT: wenn ich PLOT10 und Tek40xx in die Runde werfe, klingelts noch bei Jemandem? ;-)
Mark schrieb: > So konnten wir im Programm schreiben DrawLine(x1,y1,x2,y2,...) und es > wurde je nach input-parameter die linie gezeichnet. > Jetzt möchte ich das ganze gerne zu hause auch machen. Dazu habe ich mir > Visual Studio 2015 besorgt. > Um leicht anzufangen, würde ich gerne zunächst einfach ein Fenster mit > einem Button erstellen, welcher mir dann eine Linie zeichnet (damit habe > ich ja schon fast alles was ich brauche (bis auf die Logik des Spiels)) > > Mal lese ich, dass ich QT brauche, einige sagen GTK sei besser und > andere wxWidets. Anders mal lese ich aber, dass ich auch gar nichts von > den sachen brauche. > > Was brauche ich alles dafür? Nichts ausser VS2015. Windows kann DrawLine etc. Bei Linux bräuchtest du eine der genannten Graphiklibraries. Bei Windows musst du dich bloss entscheiden welche: WinAPI, MFC, D2D. DrawLine war wohl WinAPI.
Rainer V. schrieb: > Allerdings ist das mit WinAPI für Neulinge sehr aufwändig! Ach watt, das ist absolut simpel. Nur nicht gerade sehr schnell, wenn man es so simpel implementiert, wie es möglich ist. Allerdings: Wenn man es so schnell implementiert, wie es möglich ist, ist es wirklich nicht mehr simpel. Der klassische Konflikt: je einfacher die Programmierung einer Sache, desto mehr Abstraktionsebenen liegen darunter und desto langsamer ist das Ergebnis.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.