 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jet X gesperrt

Anmeldungsdatum: 05.01.2005 Beiträge: 447
|
Verfasst am: 15.03.2005, 14:32 Titel: Spieleprogrammieren ? |
|
|
Wollte mal wissen ob es irgend wo eine Anleitung dafür gibt wie man
eigene Spiele mit QBasic programmiert ? am besten währe so eine Anleitung wo man mit Hilfe des Kurses selber ein Spiel programmiert !
PS : Auf dieser Seite finde ich nichts gutes !
>>> Die Anleitung sollte in Deutsch sein ! <<<
Also Viele Grüße JET X >>>> Der Sommer kommt ! <<<< _________________ Courage ist gut, aber Ausdauer ist besser. |
|
Nach oben |
|
 |
Xolios aka Ray

Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 15.03.2005, 16:23 Titel: |
|
|
Hallo.
www.east-power-soft.de
"Unter 2D - Spiele selbermachen. Spiele im PacMan-Style."
Das PACMAN-Tutorial - ist klasse, kann ich nur empfehlen......
jb |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 15.03.2005, 19:04 Titel: |
|
|
"Wie programmiere ich ein eigenes Spiel"
Das ist eine sehr beliebte Frage unter Anfängern.
Generell gibt es für diese Frage keine allgemeingültige Antwort.
Denn es gibt eine ganze Menge verschiedene Spielvarianten!
Denk nur mal an Brettspiele, Jump&Run, Geschicklichkeit, Textadventures, ...!
Deswegen solltest du dir erst mal Gedanken machen, was du überhaupt programmieren willst.
So lange du noch nicht all zu viel erfahrung hast, sollten die Regeln auch möglichst einfach sein - weniger zu programmieren.
Da ist so etwas wie Mensch ärgere dich nicht gerade richtig!
Was du dir auch überlegen solltest: Text oder Grafikmodus.
Hier bietet sich Grafik am ehesten an, aber Textmodus ist durchaus auch realisierbar, vllt sogar besser, da man damit sehr viel einfacher umgehen kann.
Natürlich leidet die Spielqualität dann oft ein bisschen darunter... (nicht zwangsläufig, ich habe schon ein paar gute Textmodus-Games gesehen, z.B. Warrior von... irgenwem aus dem Forum hier, sorry, name vergessen ... )
Der nächste Schritt ist ein grobes Layout zu erstellen.
Hier etwa:
Ein Großes Quadrat, für das Spielfeld, und evtl eine Statusbar o.ä.
Gleichzeitig kann man sich gleich schon mal überlegen, wie das ganze organisiert sein soll.
Es bietet sich z.B. an, eine Sub zu schreiben, die einfach nur das Speilbrett zeichnet, und evtl noch die Figuren, und eine für die Statusbar.
Dann brauchst du noch eine (oder mehrere) Subroutinen, die die Bedienung übernehmen.
Dann kommst du irgendwann mal auf eine Struktur wie diese:
Code: |
DO
CALL ZeichneSpielBrett ()
CALL ZeichneFiguren ()
CALL UserInput ()
CALL Auswertung
LOOP UNTIL gewonnen
|
Wenn du so weit bist, hast du schon mal eine stabile grundlage, die sich weiter ausbauen lässt.
Das können Grafische aufwertungen sein (z.B. 3D-Figuren), oder auch zusatzfunktionen (Highscore-Liste), oder sonst irgendetwas.
Ein Textadventure ist natürlich ganz anders organisiert.
Hier muss eine Fortlaufende geschichte erzählt werden, die sich leider nicht besonders leicht in SUBs organisieren lässt.
Aber auch hier ließe sich einiges machen:
Unterteilung in Kapitel, auslagerung der "Story" in eine Datei, eine multiple-Choice-function, ...
Und dann wären da noch die Jump&Run-Games.
Die sind wohl die schwierigsten. Man muss Animationen organisieren, eine ganze Menge Sprites erstellen, nebenbei auch noch Welten erstellen, und vllt auch noch gegenspieler, die sich selbstverständlich auch bewegen sollen!
Für die Sprites lassen sich verschiedene Lösungen anwenden.
Bei wenigen Graifken ist es möglich, jedes Sprite einzeln zeichnen zu lassen, etwa so:
Code: |
CALL ZeichneMensch (x, y)
...
SUB ZeichneMensch (x, y)
CIRCLE (x, y + 10), 5, 5
LINE (x - 2, y - 2) - (x + 2, y + 2), 1, BF
....
END SUB
|
Das Problem ist, dass dein Prog dann bald sehr viele SUBs hat, die du erst einmal überblicken musst.
Besser ist es da schon, sie alle auf einmal zu zeichnen, und dann mit GET einzulesen:
Code: |
SUB Figuren
'Mensch
CIRCLE (10, 10), 5, 5
LINE (20, 3)- (50, 7), 2
...
GET (0, 0)-(100, 100), Mensch
'Monster
...
'Pflanze I
...
END SUB
|
So kannst du dann an jeder stelle im Prog deinen Menschen an der Stelle x,y platzieren: PUT (x, y), Mensch. Wichtig ist dabei aber, dass das Array Mensch als SHARED dimensioniert wurde.
Hier hast du zwar nur eine Sub, die aber auch ziemlich lang werden kann.
Deswegen: Ab in eine Datei. Wie du deine Figuren dann Speicherst, musst du dir selbst überlegen.
Du kannst sie z.B. als Pixelmuster einspeichern:
0,0,0,0,0
0,0,4,0,0
0,4,4,4,0
0,0,4,0,0
0,0,0,0,0
oder so, das es von QB interpretiert werden kann:
C,3,3,1,4
Das C steht dabei für Kreis (Circle), die nächsten beiden Zahlen für die Koordinaten (relativ zur angabe), dann der Radius, und schließlich die Farbe.
Oder aber als Binary. Hier kannst du jen nach Modus gleich mehrere Pixel Zusammenfassen. Beispiel für Modus 12, in dem es 16 Farben gibt:
Pixel 1 hat Farbe 4
Pixel 2 hat Farbe 2
=> GespeichertesByte = (4 * 16) + 2 = 66
du schreibst dann in deine Datei CHR$(66), also ein B.
Die rückwandlung geht dann folgendermaßen:
GespeichertesByte = ASC("B")
Pixel1 = GespeichertesByte \ 16
Pixel2 = GespeichertesByte MOD 16
Hmmmm... ein buter Mischmasch an allen Möglichen Ideen.
Schreib am besten, was genau du dir vorstellst, dann können wir weiter reden, ja?
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 15.03.2005, 20:17 Titel: |
|
|
Dusky_Joe hat Folgendes geschrieben: |
Natürlich leidet die Spielqualität dann oft ein bisschen darunter... (nicht zwangsläufig, ich habe schon ein paar gute Textmodus-Games gesehen, z.B. Warrior von... irgenwem aus dem Forum hier, sorry, name vergessen ... )
|
Das war Manuel.
Ähmm, Dusky_Joe, das war zwar eine tolle Einführung, aber im Groben
und Ganzen genau das, was in der MonFAQ und auf www.east-power-soft.de
zu finden ist....
@ Jet X:
Das ist doch nicht so schwer einfach mal in die MonFAQ zu schauen,
bevor man eine schon 100mal gestellte Frage postet, oder?
Wäre ja weiter nicht so schlimm, wenn es nicht schon das 5te Mal wäre,
dass du eine Frage stellst, die in der MonFAQ sehr gut beantwortet ist.
Ich werde den Link mal posten:
----> http://www.antonis.de/faq/index.htm <----
Zur Sicherheit nochmal:
----> http://www.antonis.de/faq/index.htm <----
Bernd hat Folgendes geschrieben: |
ich bezweifle mal, dass das das letzte mal war *g*
|
Dem kann ich mich nur anschließen.
Merk dir bitte mal eins:
Poste nur hier ins Forum, wenn du ein wirkliches Problem hast, und
NACHDEM du die MonFAQ durchsucht hast.
Schließlich wurde die MonFAQ nicht umsonst erstellt.
Denke mal darüber nach.
jb |
|
Nach oben |
|
 |
gandro

Anmeldungsdatum: 18.02.2005 Beiträge: 108 Wohnort: Schweiz
|
Verfasst am: 15.03.2005, 22:30 Titel: |
|
|
@Jet X, ich dachte du wolltest keine Fragen mehr posten die auch in der QBMonFAQ stehen  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 15.03.2005, 22:40 Titel: |
|
|
gandro hat Folgendes geschrieben: |
@Jet X, ich dachte du wolltest keine Fragen mehr posten die auch in der QBMonFAQ stehen
|
Jaja, war wohl etwas voreilig......
jb |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|