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

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

11

29.08.2010, 17:40

Man muss nicht alles in einem Ruck zeichnen und dass man nicht übereinander zeichnen kann ist jetzt wohl bei einem Snake Klon nicht unbedingt das Problem oO

Ich vermute mal, Nacho meinte die Bewegung der Schlange, welche in der Konsole dargestellt/gezeichnet ,Probleme bereiten könnte.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

12

29.08.2010, 18:20

ich wollte damit nur sagen, dass es sich in dem fall lohnen würde auf eine grafiklib umzusteigen. der mehraufwand um alles in einem ruck zeichnen zu können ist größer als sich 2-3 tuts für eine grafiklib anzuschauen und es damit zu schreiben.
bei tictactoe oder so ist es in der konsole viel einfacher.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

13

29.08.2010, 18:44

Meiner Meinung nach ist Konsle am Anfang besser geeignet, um sich erst mal einzuarbeiten.

Die Schlange, das Futter und der Rand müssen eben in das Spielfeldarray integriert werden, dadurch dürfte das Zeichnen nicht mehr so schwer sein. Es wird aber komplizierter sein, das Array dann auszuwerten, also die Schlange zu bewegen und mögliche Kollisionen zu berechnen.

Eine Grafiklib ist sicher nicht schlecht, wenn man weiß, wie sie funktioniert, aber das Einarbeiten dauert eben seine Zeit.

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

14

30.08.2010, 12:04

Ich finde es garnicht schlecht, dass er erstmal die Grundlagen mit der Konsole lernt. Für ein "richtiges" Spiel lohnt es sich dann natürlich die SFML anzuschauen. Das ist am Anfang aber auch nicht leicht, wenn man mit C++ wenig bis keine Erfahrungen hat. Die Grundlagen der Sprache lernt man in der Konsole einfacher, weil man nicht durch die vielen anderen Funktionen abgelenkt wird.

Es gab mal eine Bibliothek Conio2 für Konsolen unter Windows. Mit denen konnte man den Cursor in der Konsole auch positionieren und mit Farben etc. arbeiten. Es war also nicht nötig das ganze Spielfeld neu zu zeichnen. Ich weiß nicht ob die Conio2 so verfügbar ist und unter welchem OS Du arbeitest. Aber wenn Du mit Windows arbeitest, die Möglichkeit den Cursor an eine Stelle zu setzen gibt es auch, wenn man die <windows> Header Datei inkludiert.
Weiter Informationen dazu gibt es hier: *Maunz*
Für die Cursorposition kannst Du dann die Funktion SetConsoleCursorPosition nehmen, für Farben die Funktion SetConsoleTextAttribute.
Da kann man sich ein wenig einlesen. :D

Vielleicht hilft Dir das ja ein wenig.

Sc4v

Alter Hase

  • »Sc4v« ist der Autor dieses Themas

Beiträge: 376

Beruf: Student

  • Private Nachricht senden

15

30.08.2010, 18:24

Hey
danke für diesen klasse Link! Der sollte bestimmt weiterhelfen
Habs mitlerweile geschafft die Schlange zu zeichnen und einfach jede Sekunde zu bewegen...
muss mir jetzt nur was für die Steuerung überlegen :D

Ich weiche vllt doch auf die SFML aus... mit der hab ich wenigstens schon Grafiken bewegt...
lg und danke für die Hilfe

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

16

30.08.2010, 18:53

Schön, dass Dir der Link geholfen hat. :D
Die Eingabe für Bewegungen ist in der Konsole schon sehr trickreich. Da wird es in der Tat einfacher, für alles zusammen SFML zu benutzen. Wenn Du dort auf stolpersteine stößt, wirst Du hier im Forum bestimmt viel Hilfe finden. :D

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

17

30.08.2010, 20:01

Oder man sammelt erst mal Erfahrungen in einer einfacheren Sprache als C++ :o
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

18

30.08.2010, 20:05

Oder man sammelt erst mal Erfahrungen in einer einfacheren Sprache als C++ :o

Halte ich für keine gute Idee. Wenn ernsthaft anfangen, dann richtig.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

19

30.08.2010, 20:39

Oder man sammelt erst mal Erfahrungen in einer einfacheren Sprache als C++ :o

Halte ich für keine gute Idee. Wenn ernsthaft anfangen, dann richtig.

Aha, begründe das mal?
Das C++ nicht besonders Anfänger - freundlich ist, wirst du wohl zugeben, immerhin ist eines der Ziele des neuen C++0x Standards, die Sprache für Anfänger leichter erlernbar zu machen.
Und wenn ich jmd. Mathe beibringen will fange ich auch beim ein mal eins an und setze ihn nicht gleich Geometrie oder Vektoren vor. So etwas schreckt ab, es ist schwer sichtbare Resultate schnell und ohne größere Probleme zu bekommen. Also hat man auch in den meisten fällen weniger Spaß am weiter Lernen und in tieferes Verständnis von all dem (Zeiger Arithmetik z.B. ist da so ein präzedenz Fall, aber das nur als ein Beispiel). Deswegen ist es meiner Meinung nach besser, mit einer einfacheren Sprache tiefere Einblicke und Verständnis zu sammeln wovon man, wenn man sich dann einer etwas höhere Sprache widmet, profitieren kann, da man schon ein etwaiges Verständnis besitzt und sich dann schneller einarbeitet. Da Python, PHP etc. auch einen recht C++ ähnlichen Stil haben (alle in C geschrieben) ist auch der Syntax vertrauter und man kann nun, wie schon gesagt, auf die bisherigen Basics leichter etwas aufbauen, statt das man gleich überfordert wird. Denn das ist bei vielen mit C/C++ der Fall.
Aber um hier nicht wieder eine vom Thema abkommende Unterhaltung zu führen sage ich ganz klar: das ist Geschmackssache und darüber existieren sicherlich verschiedene Meinungen. Meine ist, man sollte mit einer leichteren Sprache wie Python oder eben sogar PHP klein anfangen.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

20

30.08.2010, 22:20

Ich weiche vllt doch auf die SFML aus... mit der hab ich wenigstens schon Grafiken bewegt...

da fehlt doch nichtmehr viel zum snake. die größte herausforderung dürfte das verwalten der vielen sprites sein... und das ist im vergleich zur snakelogik ein klacks.(jedenfalls in meinen augen...)
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Werbeanzeige