Conway`s Game of Live C++ Programmierung
-
Okay kann geschlossen werden!
Hab schon ne bessere Lösung gefunden.
@ maximAL wieso muss ich bitte Programmieren können? dafür gibts doch euch Informatiker! Grundkenntisse ja natürlich okay aber so einen Mist? Schön wenn dir das gefällt, für mich ist es einfach nichts. Aber du scheinst ja der Übergott zu sein der alles kann! Und das ich vielleicht irgend wann einmal dir vorgesetzt sein sollte, liegt ja wohl an dir und nicht an mir!
@ heine eine 4,0 würde mir reichen na klar aber dazu braucht man ja erstmal irgendwas.
@ Gregor ja ich hatte wie gesagt keine Ahnung was es für einen Aufwand macht aber dachte halt wenn ich das können soll (nach effektiv 15 Stunden C++ Einführung) kann es für einen Geübten nur richtig einfach sein^^ Natürlich hätte ich dann die Entlohnung höher angesetzt!
Und irgendwo Namen rein schreiben ist nicht Gruppen wurden eingeteil bla bla..So dann nochmal danke an alle die sich ernsthaft meiner Frage angenommen haben!
Wenn ich mal ne Einführung brauche zu C++ werde ich vielleicht hier netter
Begrüßt^^Mfg Vesa
-
vesa schrieb:
wieso muss ich bitte Programmieren können? dafür gibts doch euch Informatiker!
Ja genau und wieso soll ich eine Bohrmaschine bedienen können? Dafür gibts doch euch Wirtschaftsingenieure. Ihr habt doch den ganzen Tag mit Bohrmaschinen zu tun, ihr Wirtschaftsingenieure, ihr
-
vesa schrieb:
Ich studiere in Richtung Wirtschaftsingenieurewesen.
Bin im ersten Semester und habe Informatik nur in diesem sonst nie wieder!
Ich werde auch nie wieder was mit Informatik zu tun haben, deswegen ist es ja so sinnlos das uns solche Aufgaben gestellt werden...Es hat schon 'nen Grund warum man im 1. Semester Informatik/Einfuehrung ins Programmieren hat, auch wenn es im restlichen Studium nicht mehr vorkommt: weil es zu den Grundlagen gehoert, die spaeter in andere Faechern benoetigt werden. Wenn du dann irgendwann mal in Numerik oder Mathematischer Modellierung oder auch einfach bei der Datenauswertung fuer deine Thesis kuerzere Programme schreiben musst (oder gottbewahre, sogar laengere!) stehst dann erstmal wie der Esel vor'm Berg...
-
Wenn ich mal ne Einführung brauche zu C++ werde ich vielleicht hier netter
Begrüßt^^Vermutlich, ja.
Wobei es dich hoffentlich nicht wundert was hier passiert ist, war ja zu erwarten. Ich muss sagen für die Art von Anfrage ist das hier sogar sehr nett & zivilisiert diskutiert worden.
-
Hm naja ich weis im Nachhinein war es wirklich ganz schön dreist...
Ich hab auch geschrieben das grundlagen okay wären aber das geht für mich über selbige hinaus.
Aber es ist so frustrierend wenn man absolut nichts versteht und keinen Anfang findet aber den hab ich jetzt glaub ich also sehr grob!
Also ich brauch:(Fachbegriffe fehlen völlig ich weis)
1. einen array der mir mein Feld definiert
2. eine funktion die Zufallszahlen erzeugt habe ich ja die muss ich so benutzen das sie mir in mein Feld meine Lebewesen zu dem bestimmten Prozentsatz zufällig rein setzt.
eventuell lass ich für jedes Feld eine Zufallszahl zwischen 1 und 100 erzeugen (wenn das geht) und wenn die Zahl kleiner gleich der Prozentzahl ist mal ich in das Feld ein "Lebewesen" wenn nich geh ich ein Feld weiter.... bis das Feld einmal durchlaufen wurde. Ich weis aber nicht ob das so funktionieren kann...3. müsste das Feld irgendwie dem Datentyp bool ausgefüllt sein.
Wenn das Feld also ausgemalt ist ist es true und wenn leer false...
Naja jetzt müssten Regeln kommen die nun mit einer Schleife(for Schleife?) die Felder und ihre Nachbarn prüfen. Und Auf einem anderen Array nach den entsprechenden Regeln Lebewesen Löschen oder Malen.
So würde auf dem neuen Array die neue Generation enstehen. Nun müsste die Regeln auf diesen Array angewendet werden. Und so weiterIch weis ist nicht viel aber ich will ja nicht als völlig bescheuert da stehen.
Naja also selbst an die Leute die mich für den größten Deppen halten, die mehr oder minder angemessene Kritik werd ich mir annehmen!
-
ad 1) Denau, dazu nimmt man ein Array
ad 2) Ja, das geht so.
ad 3) Der Typ der sich logisch anbietet ist bool, richtig.
Schleife passt auch, "for" ist vermutlich der beste Kandidat, ja.
Beim prüfen der Nachbarn auf Randbedingungen aufpassen (wenn du z.B. den linken oberen Eintrag im "Spielfeld" prüfst, darfst du natürlich nicht in das Feld links daneben, das Feld darüber oder das Feld links und darüber schauen, denn so ein Feld gibt es dann ja nicht).
Arrays für die Regeln sind auch klar.
Was die neue Generation angeht: das macht man normalerweise so, dass man ein 2. Array für das neu generierte "Spielfeld" macht, wo man die neuen Daten reinschreibt.
Nachdem du alle Felder durch hast, kannst du dann z.b. einfach den Inhalt des neuen Arrays in das alte Array zurückkopieren. Man *kann* auch Zeiger auf die Arrays verwenden, und dann einfach nach dem Schleifendurchlauf die Zeiger vertauschen. Wenn du verstehst was da passiert ist das die bessere Möglichkeit. Wenn nicht, dann kopier' lieber den Inhalt des "New Generation Arrays" in das "Haupt Array" zurück.Tips in dieser Art wirst du vermutlich eher bekommen, als dass dir jemand das ganze programmiert. Vor allem wenn du einfach mal anfängst, und, wenn du auf ein Problem stösst, den Code inklusive Problembeschreibung hier postest.
p.S.: statt Arrays würden sich auch Vektoren anbieten (std::vector), aber ich gehe mal davon aus dass ihr die in einem 15 stündigen C++ nicht durchgenommen habt. Wenn das zutrifft, dann auf jeden Fall lieber Arrays nehmen.
-
Okay dann werd ich mal versuchen das zu programmieren.
Aber das wird sich wohl ne weile hinziehen weil das Wochenende schon für BWL Werkstofftechnik und Fertigungstechnik sowie technisches Zeichnen ausgelastet ist!
Vielen Dank für die Rückmeldung
Ich Versuch dann mal mein Bestes
-
Hallo vesa
Da ich das für mich selber als eine nette Aufgabe gesehen habe, habe ich mich mal drangesetzt und habe das Game of Live programmiert. Da ich aber wie die anderen hier der Meinung bin, dass du nichts dabei lernst, wenn ich dir einfach den fertigen Source-Code gebe werde ich das auch nicht tun. Ich bin aber gerne bereit (wenn du willst) dir per E-Mail, ICQ.. zu helfen.
Bei Interesse schreibst du mir am besten eine E-Mail an Ti.mmm@web.de und schreibst am besten hier noch rein, dass du mir eine E-Mail gesendet hast, damit ich auch nachschaue.Mit freundlichen Grüßen
Tim
-
Und die fertige Anwendung? Koenntest du die vllt. bereitstellen? Wuerd's gern testen.
-
Ja klar, kein Problem.
Kleine Anleitung:
1. Spielfeld-Größe eingeben
2. Born-Regel(n) eingeben in der Form : "BXYZ" also z.B.: ("B2")
3. Survive-Regel(n) eingeben in der Form "SXYZ"
4. Prozentsatz bestimmen
5. wgtf eintippen um die 0. Generation als .txt zu speichern oder show um es direkt in der Konsole anzuzeigen.
6. nextgeneration eingeben um die nächste Generation zu erstellen
7. Wieder wgtf oder show eingeben und dann beide Generationen vergleichen (x = lebende Zelle, o = tote Zelle).Beim Vergleichen noch beachten, dass wenn man an die Ränder kommt man auf der anderen Seite schauen muss. Also z.B.: Wenn man wissen will warum in der 1. Reihe in der 1.Generation irgendwo eine lebende Zelle ist, muss man in der 0.Generation die 1. Zeile, 2. Zeile und die letze Zeile anschauen... Ich hoffe ihr versteht was ich meine
Ich hab zwar bis jetzt nur kleine Stichproben gemacht, aber bei mir hat bis jetzt alles funktioniert.
MfG Tim
-
Da gerade eben noch ein Problem gab, habe ich es nochmal neu hochgeladen:
-
Hi Tim
cool von dir, dass auch du mir helfen willst! Wie gesagt siehts bei mir noch ein bisschen schlecht aus mit der Zeit, da ich bereits Donnerstag und Freitag die ersten Prüfungen schreibe! Deswegen wirds wohl erst am Fretag soweit sein, dass ich mich dann bei dir melde.Mit freundlichen Grüßen
Vesa
-
Fatal Error appears schrieb:
Da ich das für mich selber als eine nette Aufgabe gesehen habe, habe ich mich mal drangesetzt und habe das Game of Live programmiert.
Das ist sicher schon öfter implementiert worden als Scheme.
zB: http://johnmacfarlane.net/highlighting-kate/life.lua.html
-
mngbd schrieb:
Fatal Error appears schrieb:
Da ich das für mich selber als eine nette Aufgabe gesehen habe, habe ich mich mal drangesetzt und habe das Game of Live programmiert.
Das ist sicher schon öfter implementiert worden als Scheme.
zB: http://johnmacfarlane.net/highlighting-kate/life.lua.html
Bezweifle ich nicht. Trotzdem habe ich es als nette Aufgabe gesehen.
MfG Tim
-
Sry also ich schaffs nicht vor dem 15.02 dann sind erstmal alle prüfungen herum werde dann mal den code posten den wir bis dahin geschrieben haben!