Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Spieleprogrammieren ?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jet X
gesperrt


Anmeldungsdatum: 05.01.2005
Beiträge: 447

BeitragVerfasst am: 15.03.2005, 14:32    Titel: Spieleprogrammieren ? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Xolios
aka Ray


Anmeldungsdatum: 07.12.2004
Beiträge: 589
Wohnort: Wildeshausen

BeitragVerfasst am: 15.03.2005, 14:43    Titel: ... Antworten mit Zitat

Hallo.

http://www.antonis.de/qbtuts/index.htm

Weiter unten sind grafik tuts.
Erst die Grafik dann die Spiele zwinkern

Gruß
Ray
_________________
www.ray-earth.de
Anm.: Neue ICQ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 15.03.2005, 16:23    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 15.03.2005, 19:04    Titel: Antworten mit Zitat

"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 ... verlegen )

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
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 15.03.2005, 20:17    Titel: Antworten mit Zitat

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.... zwinkern lächeln

@ 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 <----

jb hat Folgendes geschrieben:

Ich sags zum letzten Mal,
--> 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. missbilligen

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
gandro



Anmeldungsdatum: 18.02.2005
Beiträge: 108
Wohnort: Schweiz

BeitragVerfasst am: 15.03.2005, 22:30    Titel: Antworten mit Zitat

@Jet X, ich dachte du wolltest keine Fragen mehr posten die auch in der QBMonFAQ stehen durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 15.03.2005, 22:40    Titel: Antworten mit Zitat

gandro hat Folgendes geschrieben:

@Jet X, ich dachte du wolltest keine Fragen mehr posten die auch in der QBMonFAQ stehen durchgeknallt


Jaja, war wohl etwas voreilig......

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz