Pacman unter Turbo C



  • Hallo liebe Progammier Profis

    Ich bin 19 Jahre alt und mache gerade eine schulische Ausbildung zum Technischen Assistenten für Informatik! Und so habe ich C (leider) für mich kennengelernt!

    Ich weis das C eine der mächtigsten Sprachen überhaupt ist aber für mich als blutigen Anfänger (auch nach einem Jahr C qualen), der blanke Horror!

    Naja, genug Vorgeschichte. Nun zum eigentlichen Problem!

    Ich habe ein Fach das sich nennt Projekte, nun sollen wir in diesem Fach ein Spiel in Turbo C schreiben (als Projekt). Das Problem was ich festgestellt habe ist das ich es wahrscheinlich leichter hätte ersma zich andere Progammiersprachen zu lernen und es in dieser zuschreiben. Nur leider muss es in TC geschrieben werden!

    Ich habe viel nachgeforscht und getan um mir erstmal ein Überblick zu verschaffen und habe festellen müssen das ich eigentlich bei TC von Null anfangen kann!

    Meine Probleme sind das ich 1. Net so richtig weis wie ich das alles Grafisch darstellen soll 2. Dateinarbeit gefragt ist und ich nur minimale Kenntnisse habe 3.Kollisionsabfrage 4. Steuerung über die Tastatur und und und....

    Wie ihr sehen könnt sind meine C Kenntnisse nicht gerade Hoch und da kann ich nur zu stimmen!

    Dazu habe ich noch eine wichtige Frage: "Gibt es Sprites (oder sowas in der Art) bei TC?"

    Den dieses würde mir sehr viel Arbeit abnehmen!

    Über etwas Hilfe durch Tipps würde ich mich sehr freuen oder eine "Diskussion" um einige Sachen auszuschließen oder etc.!

    Ich danke schonmal im Voraus

    Mit freundlichen Grüßen

    Smay



  • Turbo C...

    reden wir da von diesem hier?!


  • Mod

    Das waere auch meine frage, denn TC++ gebe es auch unter windows, wohingegen TurboC nun wirklich asbachuralt ist.

    aber so grundlegend solltest du dir die arbeit in kleinere schritte aufteilen und jeden davon erreichen bevor du den naechsten machst, so wird das sicherlich was mit deinem spiel 🙂



  • Ich meinte das normal Turbo C (das was du gefunden hattest, hellihjb!)

    Aber momentan lerne ich noch kennen wie man unter den VI im Unix Bereich progammieren kann... das noch schlimmer... naja aber das tut (zum Glück) nix zur Sache ich darf ja mit dem TC ran!



  • Hallo Smay!

    Ihr müsst also ein Spiel in TC schreiben. Wenn ich das richtig sehe, dann erstmal mein Beileid!

    Zu Beginn ist da natürlich der Grafikmodus wichtig. Ein paar Funktionen, die da sicherlich wichtig sind, wären:

    closegraph Schließt das Grafiksystem.
    detectgraph Überprüft die Hardware und stellt fest, welcher Grafiktreiber
    zu verwenden ist, und schlägt einen Modus vor.
    graphdefaults Setzt alle Grafiksystemvariablen auf die voreingestellten
    Werte.
    initgraph Initialisiert das Grafiksystem und schaltet die Hardware
    in den Grafikmodus um.
    setgraphbufsize Legt die Größe des internen Grafikpuffers fest.
    setgraphmode Wählt den angegebenen Grafikmodus aus, löscht den
    Bildschirm und stellt alle Voreinstellungen wieder her.

    Und natürlich putimage (graphics.h).

    Da musst Du dich natürlich erst einmal einarbeiten. Das erste scheinbar brauchbare von Goole: http://www.cs.colorado.edu/~main/cs1300/doc/bgi/setgraphmode.html

    Wenn Du nun wirklich Pacman umsetzen willst (es gibt sicher einfacheres), dann würde ich auf jedenfall das ganze auf das Nötigste reduzieren (keine Animationen sonder nur Bilder die verschoben werden, ...)

    Beim Zeichnen, nicht gleich alles in den Grafikspeicher zeichnen, sonder erst einmal alles in eine leere Zeichenfläche, und wenn das Bild dan fertig ist, dieses auf einmal in den Grafikspeicher schreiben. (Stichwort: doublebuffer, http://de.wikipedia.org/wiki/Doublebuffer)

    Das Spiel selbst läuft dann z.B. in ein While-Schleife. Darin werden dann die Tastaturabfragen gemacht, alles gezeichnet, ... und z.B. beim ESC die While-Schleife verlassen.

    So, sehr viel mehr kann ich dazu auch nicht sagen, das ist bei mir alles schon viel zu lange her.
    Viel Erfolg!

    Markus



  • oder einfach auf bgi pfeifen und mode 13h nehmen...


  • Mod

    gerade ein spiel wie pacman kann man auch im textmode machen,da sind die sprites quasi umsonst

    wie z.b. http://dosgamer.com/pac-girl/

    🙂



  • danke für die erste Hilfe, aber so richtig hat mir das noch net geholfen!

    Ich hab ne erste Vorstellung wie ich das Programm angehen könnte aber ich hab den leisen Verdacht das es sowieso falsch sein wird 🙄

    Ich hab mir vorgestellt das ich für das Spielfeld ein 2D Array mache (für Pacman ersma) und das Array ersma mit 0 fülle (Außer auf Positionen wo Pacman nicht hingehen kann dort kommt eine 2 hin). Nun bewegt der Benutzer Pacman und es startet eine Abfrage, in jede richtung wo Pacman gehen kann steht eine Null, wo er nicht hingegehen kann eine 2 und seine eigene Position wird mit einer 1 Bestimmt.
    Für jedes Feld was Pacman sich bewegt änder ich sein "Sprite"!

    Dann wird eine Funktion gebaut die die Gegner macht, diese kriegen ein Array pro Gegner (vier Arrays also)! Nur das Problem ist das sie Pacman verfolgen sollen. Das mit dem Random das sie Pacman nicht permanent verfolgen sollen ist nicht so das Problem, das andere Problem ist das sie auf Pacman zu laufen sollen und das so näher er dran ist, um so stärker!

    Die Steuerung kann ich ja per ASCI Zeichen auslesen lassen, soweit kein Problem!

    Letzte Proplem: Wie binde ich Sprites ein, wie klappen sie und auf was muss ich achten???????

    Wäre nett wenn mir ausführlich geholfen werden köknnte!

    Danke im voraus,

    MFG
    Smay!



  • Wie binde ich Sprites ein, wie klappen sie und auf was muss ich achten?

    kommt darauf an, welche grafikbibliothek du nutzen willst.

    seine eigene Position wird mit einer 1 Bestimmt

    die position der spielfigur sollte dir eh bekannt sein. warum soll die noch explizit verzeichnet werden?

    Dann wird eine Funktion gebaut die die Gegner macht, diese kriegen ein Array pro Gegner (vier Arrays also)!

    und wozu sollen diese arrays gut sein?

    Nur das Problem ist das sie Pacman verfolgen sollen

    das wuerd ich erstmal ganz trivial angehen:
    immer wenn ein gegner an einer abzweigung vorbei kommt (4 benachbarte felder ueberpruefen), aendert er (zufaellig) seine richtung. je naeher der gegner an der spielfigur ist, desto wahrscheinlicher sollte er sich fuer den weg entscheiden der zur spielfigur hinfuehrt (siehe manhattan-metrik).



  • Servus,

    muß es denn unbedingt Pacman sein? Ich denke mal als blutiger Anfänger, kann das schon ein bissle nach hinten los gehen. Gerade wenn du noch ein bisschen Grafik ins Spiel bringen willst. Ich würde auf was einfacheres umschwenken und ein kleines TicTacToe basteln.. oder Vier Gewinnt etc. pp.

    Dafür gibts auch noch unzählige Beispiele für Pascal im Netz wie man sowas bastelt. Ich denke mal für Turbo C wirds auch einige Beispiele geben. Gerade für TicTacToe in Turbo Pascal habe ich selbst noch irgendwo was rumfliegen...

    Ich würde dir raten einfach etwas anspruchloseres zu basteln...

    mfg
    Hellsgore



  • ich muss Pacman machen und auch unter TC(++)!

    Soweit ist die Planung okay und sieht so aus als würde ich es auch Textmodus schaffen (danke ein wenig hilfe)!!!

    Das andere Prob is das ich es wirklich gerne mit Sprites machen würde aber keine wirkliche Ahnung habe!

    Ich hab gehört es gibt Libs die ich einbinden kann die mir das alles ersparen und die Bilder in Array´s umwandeln oder so (weis es nich genau)

    Zumindest wäre es nett wenn mich mal einer aufklären bekommen könnte wie ich am leichtesten Sprites in TC++ verwende!!!

    Mfg
    Smay


Anmelden zum Antworten