Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.01.2006, 16:42

Eigenes Spiel: Little Civ - pls Comments!

UPDATE
@All

Ich habe den Code jetzt nochmal intensiver kommentiert. Bevor ihr ihn öffnet: Es ist ein Anfängercode, ich habe schon überlegt von vorn anzufangen, aber dazu fehlt mir die Lust! Aus diesem Grunde ist mir klar das vieles unübersichtlich ist und einfacherer gemacht werden könnte. Ich würde mich aber freuen wenn genau solche Optimierungsvorschläge gemacht werden.

Download Quellcode in cpp Format
DELETED wegen Missbrauchs -.-

:huhu: Hallo!

Ich habe mir das Buch "C++ für Spieleprogrammierer" gekauft - hiermit erstmal ein Lob an den Autor! Da mich das Kapitel "6 - Zeiger" etwas abgeschreckt hatte, habe ich mich an ein kleines Spiel gesetzt um mein Wissen zu festigen. Leider ist es noch nicht fertig und ich weiß auch nicht ob ich daran weiter arbeiten werde, aber um diese Entscheidung leichter fällen zu können würde ich gern ein bisschen Feedback haben!

Entstanden ist das Programm aus einer kleinen Array-Bearbeitung (aus dem Buch, zugegebener Maßen, habe die Aufgabe aber selbst und ohne Hilfe programmiert).
Ich habe mich dann an eine Planung gesetzt, dabei kam das hier raus:


(Link)


Da ich auch in der Schule nicht mehr davon loslassen konnte musste ich notgedrungener Weise auf Papier coden, hier mal eins von vielen:


(Link)


Nun, das also zur Vorgeschichte. Damit ihr mal einen genauen Einblick ins Spielprinzip bekommt gibts hier schon die fertige Readmedatei (bitte unbedingt lesen):

Download HELP - 80kb WordDoc



Sooo. Nun könnt ihr ja schonmal bisschen was dazu sagen! Ich habe das Spiel fast fertig. Was noch fehlt: Alle eigenen Interaktionen, also Einheiten bauen und setzen! Desweiteren erschafft der Gegner nicht automatisch Kämpfer. Das ist nun nicht weiter problematisch...
Jetzt aber zu dem Problem, das mich etwas nervt. Wenn ihr euch die Exe zieht und immer wieder "Runde beenden" drückt, dann fängt der K ja ab Jahr 6 an auf euch zuzugehen. Um das Problem zu erläutern erkläre ich noch wie die "KI" funktioniert:

Die K bewegt sich IMMER auf X oder Y Achse zur B hin. Er wird nie den Abstand erhöhen! Wenn der K auf der gleichen X oder Y Position wie die B ist, so wird die andere Achse erzwungen, damit sich der K nicht entfernt sondern zielstrebig zur B läuft.
Wenn ein W-Feld um ihm herum steht, so wird dies erstmal erkannt und dessen Daten werden zwischengespeichert. Wenn das Feld im Weg des K liegt, so geht der K auf der anderen Achse weiter um den W nicht zu überqueren. Ist das W-Feld in der entgegengesetzten Richtung wird es natürlich ignoriert.
Das Problem ist jetzt, wenn der W eine Ecke bildet, oder wenn er eine Linie bildet (Y Achse) - auf der linken Seite ist das B und auf der rechten Seite ist das K. Wenn nun K und B auf der gleichen Y-Achsenposition sind, so wird sich der K nicht mehr weiterbewegen, (er darf ja nicht ausweichen da das eine Entfernung auf einer der Achsen bedeuten würde) und bleibt an der gleichen Stelle. Ich weiß nicht wie ich das beheben soll... wenn es überhaupt möglich ist... ihr erkennt das Problem bestimmt in der Exe, dort wird auch angezeigt wenn eine Achse erzwungen wird! Ist schwer zu erklären.

Download EXE - 125kb Release DELETED wegen Missbrauchs -.-

Naja falls ich das hinkriegen sollte, wäre das nächste Problem wenn die KI mehrere K's setzen soll usw... aber darüber habe ich mir noch keine Gedanken gemacht.

Schauts euch mal an!

PS: Code ist - sofern erwünscht - natürlich zugänglich!

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

2

28.01.2006, 17:15

SEHR gute Idee, mit einfachen mitteln.... einfach genial. Konnte mir zwar das Konzept noch nicht ansehen, aber trotzdem gut :huhu:

3

28.01.2006, 17:25

Danke für das Lob. Würde mich freuen wenn du dir das Konzept dann später auch anschaust ;)

Sheddex

unregistriert

4

28.01.2006, 17:36

1. Um irgendwelche Probleme zu lösen brauchen wir den Code.

2. Unübersichtlich, da der 'alte' Bildschirm nicht gelöscht wird.
Um zu löschen: windows.h einbinden und dann unter den zu löschenden Text system ("cls") schreiben. So hab's ich zumindest in meinem Konsolen-Spiel gemacht (Download siehe unten). Aber irgenwie sagen alle 'Proprogger', zu denen ich nicht gehöre, das alles was mit system () zu tun hat nur nachteile hat...

Heiko Kalista

Treue Seele

Beiträge: 99

Wohnort: Hessen

  • Private Nachricht senden

5

28.01.2006, 17:39

Hi!

Ich finde die Idee auch klasse. Wäre cool, wenn Du das weiterführen würdest.
Meiner Meinung nach genau der richtige Weg: Aus den "ersten Grundlagen" was machen und nicht gleich an den dicken 1st Person Shooter denken. Saubere Leistung.

mfg,
Heiko

Sheddex

unregistriert

6

28.01.2006, 17:41

Wow, Heiko sagt auch mal was :-D
Wenn du schon mal dabei bist kannst du auch was zu meinem 'Catcher' sagen (siehe unten) :)

Noch eine Frage: Gibst's eigentlich noch eine Heiko-Seite oder ist jetzt wirklich alles hier?

Sicaine

unregistriert

7

28.01.2006, 17:49

no-ip? liegt das Zeug daheim? Soll mans sooft probieren bis du mal on bist?

Ansonsten @threadersteller: man schreibt keinen Programmiercode auf Papier sondern, wenn überhaupt nen Pap oder struktogramm oder ähnliches. Google mal nach programmablaufplan.

Sheddex

unregistriert

8

28.01.2006, 17:54

@DarkRage: Geh' mal in meinen Thread 'Sammlung von Win32-Konsolenanwendungs-Spielen'. Den Thread hab' ich für alle erstellt, die Konsolen-Games geproggt haben. Der Sinn davon ist eine saubere Auflistung von solchen Spielen. - Ich weiß, meine Ideen sind einfach FANTASTISCH^^

9

28.01.2006, 18:12

Zitat von »"DarkRage"«

Danke für das Lob. Würde mich freuen wenn du dir das Konzept dann später auch anschaust ;)

du hast wirklich verdamt talent...

wenn dein spiel komplet ist wisr es bestimt nicht mehr so schwirig sein das princip fur ein grosseres spiel zu verwenden :wirbel:

PS: ich habe auch manchmal einen kod in der schule auf ein papier geschcrieben..(ich hatte angst das ich die idee vergesse)

10

28.01.2006, 18:16

@Hunter

Der CLS Befehl steht schon ein paar mal drin. Wann und wo der eingesetzt wird habe ich mir aber noch nicht komplett überlegt, denn bei einigen Menüoptionen wäre der ungünstig angesetzt. Aber das ist Feintuning ;)

@Heiko Kalista

Danke für das Lob. Vielleicht guckst du dir ja auch mal den Code an, kann ja sein du hast nen guten Lösungsansatz für mein Problem. Mir soll ja keiner das Programmieren abnehmen aber ich komme nicht dahinter wie das funktionieren sollte!

@Sicaine

No-Ip? Hä? ... bitte hier jetz nich Off Topic...

Warum schreibt man keinen Programmiercode auf Papier? Der Code war fast immer 1:1 so übernehmbar und für mich ist das x-Mal übersichtlicher als so ein Struktogramm. Bei solchen simplen IF Fragen usw. kann man das doch wohl gleich in Code schreiben. Mir hats viel gebracht :)

@Viso

So ging es mir auch. Langeweile haben, die Lösung finden und dann keinen PC dahaben *g*. Auch dir danke für das Lob.

@All

Ich habe den Code jetzt nochmal intensiver kommentiert. Bevor ihr ihn öffnet: Es ist ein Anfängercode, ich habe schon überlegt von vorn anzufangen, aber dazu fehlt mir die Lust! Aus diesem Grunde ist mir klar das vieles unübersichtlich ist und einfacherer gemacht werden könnte. Ich würde mich aber freuen wenn genau solche Optimierungsvorschläge gemacht werden.

Download Quellcode in cpp Format DELETED

Werbeanzeige