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:

Malek - Puzzlespiel in QBasic

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 31.12.2005, 20:07    Titel: Malek - Puzzlespiel in QBasic Antworten mit Zitat

Hi @ all,

Ok, ich hatte die letzten 4 Tage irgendeinen Programmier-"Wahn" und ein neues Spiel erstellt, welches den Namen "Malek" trägt.

Eine kurze Beschreibung, wie ich zu dem Spiel kam: Ich las eine Zeitschrift, in der Werbung für ein Handyspiel gemacht wurde. Die Beschreibung war in etwa so: "Herausforderung für Tüftler: Bei jedem Zug, den du machst, bewegen sich alle Feinde gleichzeitig auf dich zu. Zieh so, dass sie zusammenstoßen und dich nicht treffen". Ich dachte mir, warum soll ich 3 Euro für das Spiel zahlen, wenn ich sowas selbst programmieren kann? Gedacht, getan und rausgekommen ist dabei Malek^^.

Im Spiel geht es darum, dass man in einem Spielfeld platziert wird, in dem unterschiedliche Gegner rumlaufen. Es gibt Gegner, die laufen erst waagrecht und dann senkrecht auf den Spieler zu (oder umgekehrt), andere machen entweder dieselben oder die gegenteiligen Bewegungen des Spielers nach. Das Ziel ist, in jedem Level alle Gegner zu beseitigen. Das erreicht man, in dem man durch kluges Ziehen die Gegner zusammenstoßen lässt, oder man nutzt ein im Level herumliegendes Loch, in dem Gegner (aber auch der Spieler) reinfallen kann. Das Spiel hat 40 zum Teil recht heftige Levels und die Möglichkeit, selbst erstellte Levels laden und spielen zu können. Im Gegensatz zu "Warrior" (einem anderen Spiel von mir) werden die erreichten Levels in einem Spielstand gesichert, und einen Highscore gibt es auch, beides allerdings komplett unverschlüsselt^^.

Öhm... dann noch was aus programmtechnischer Seite: Das Spiel ruft ab und an Windows-Funktionen auf, um Musik abspielen zu können. Das verursacht ein oder zwei Sekunden Ladezeiten, außerdem ist (logischerweise) Windows im Hintergrund erforderlich, damit man die Musik überhaupt hört^^. Getestet habe ich das Spiel unter Win98SE und unter WinXP SP2, zum Glück gab es da keine Probleme... weder mit dem Spiel, noch mit der Soundausgabe^^.

Noch schnell ein Screenshot hergereicht...



... und den Download-Link gepostet:
Malek.zip (ca. 222 KB groß)

Feedback und Kritik sind wie immer erwünscht happy
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 01.01.2006, 17:32    Titel: Antworten mit Zitat

Hi,
wirklich gute Spielidee.
Hast du nicht mal Lust das in freeBASIC zu machen, schon um etwas schönere Grafiken zu erstellen und weniger Klimmzüge für die Musik machen zu müssen?
Es hat mich etwas erstaunt das das kleine Profan-Prog dafür 208k braucht?
Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 01.01.2006, 17:49    Titel: Antworten mit Zitat

Ja das Spiel ist eigentlich ganz gut.

Allerdings würde ich den Verkorksten PC-Speaker "pieps" bei einer Bewgung entfernen. Und für was ist dieses "Hidden"-Programm?
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 01.01.2006, 18:02    Titel: Antworten mit Zitat

Gute Spielidee! lächeln

Zitat:
Und für was ist dieses "Hidden"-Programm?

Das ist nötig, um mit QB ein Soundplayer zu starten, ohne dass der User was davon sieht. Dahinter steckt ein VB Programm mit diesem Code:
Code:
SHELL COMMAND$, vbHide

Mehr nicht. durchgeknallt Genauso habe ich das bei alten Versionen von meinem Cargu-Quiz gemacht, die noch in QB geschrieben waren, um dem PC WAV Sound zu entlocken. Dank FB sind diese "vielen Klimmzüge" nun nicht mehr nötig. happy

Zitat:
Hast du nicht mal Lust das in freeBASIC zu machen,

Ich finde auch, du solltest das Teil mal durch den FreeBASIC Compiler jagen. Damit kannst du ohne Zusatzprogramme Sounds über die WinAPI abspielen. Auf www.freebasic.de habe ich im Downloadbereich ein einfaches Beispiel hochgeladen. lächeln Die Grafiken solltest du imo so lassen. Ich mag diese Retro-Look-Spiele... happy
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 04.01.2006, 14:09    Titel: Antworten mit Zitat

lächeln

Ok, danke. In FreeBasic werd' ich dann auch irgendwann umsteigen... Bis jetzt bin ich noch nicht dazu gekommen, mir das Programm anzusehen, da zum Zeitpunkt des Releases ich noch mit Win98 arbeitete, mit dem die GUI zu FreeBasic ja nichts anfangen kann... und 200 KB für ein Prog das nur MCI-Befehle versendet ist auch 'n bissl zuviel... Übers Wochenende werd ich mich bestimmt damit beschäftigen^^.
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 04.01.2006, 17:07    Titel: Antworten mit Zitat

Hi,
es freut mich/uns dich für FB gewinnen zu können... lächeln
du brauchst für FB nicht notwendigerweise das GUI, auch mit dem BE (siehe Link auf meiner HP) geht es in 98/ME sehr gut (BE einfach in das FB-Verzeichnis installieren).
Bei der Umsetzung deines Programms kann ich dir helfen, denn ich konnte es mir nicht verkneifen deinem Quelltext schon für FB anzupassen (natürlich nur für den Eigengebrauch).
Das ist nicht immer einfach, aber machbar und hat mich besonders gereizt, da du den QB-Befehl 'PLAY "musik"' verwendest und ich vor längerer Zeit eine entsprechende 'FBPLAY "musik"' - Routine geschrieben hatte (endlich mal eine Anwendung dafür grinsen ).
Gruß
Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 04.01.2006, 19:09    Titel: Antworten mit Zitat

Echt Gut!
Macht Fun!

Also die Musik ist Gut gewählt, das einzige was mir auffällt, ist das meine Firewall recht viel meldet beim Porgramm start aber das ist ja nicht schlim.
Auch der Quellcode ist etwas Chaotisch.
Beispiel:
Die vielen "%" könnte man sich durch "Defint A-Z" sparen.
Oder auch
Code:
...
IF punkte% > Punkte1% THEN
PRINT "Herzlichen Gl?ckwunsch!"
PRINT "Sie sind Erster mit"; punkte%; "Punkten!"
PRINT "Geben Sie Ihren Namen ein:"
Eingabe 21, 1, 18
...

Hier könnte man z.B. einrücken.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 04.01.2006, 20:57    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
Bei der Umsetzung deines Programms kann ich dir helfen, denn ich konnte es mir nicht verkneifen deinem Quelltext schon für FB anzupassen (natürlich nur für den Eigengebrauch).
Ich hätte überhaupt nix dagegen, wenn du den FB-Quellcode hochladen würdest. Ich möchte selber gerne sehen, wie das Spiel in FB aussieht... da kann ich auch gleich feststellen, was sich in FB gegenüber manchen QB-Befehlen geändert hat lächeln
Michael Frey hat Folgendes geschrieben:
das einzige was mir auffällt, ist das meine Firewall recht viel meldet beim Porgramm start aber das ist ja nicht schlim.
Wahrscheinlich weil ich eben ein externes Programm aufrufe, das man mit normalen Mitteln nicht wieder beenden kann... oder weil ein Programm das andere Programm ungefragt schließt. Keine Sorge, Spyware oder Trojaner habe ich nicht integriert grinsen . (btw, beim "DrugKing" hat beim ersten Mal auch meine Firewall Alarm geschlagen... ich weiß bis heute nicht warum^^.) Was die Variablennamen mit den vielen Integers angeht: Ich habe mich schon daran gewöhnt, jede wenig benutzte Variable mit einem % statt im Programmstart vorneweg mit DEFINT zu kennzeichnen... Weiß auch nicht warum, das ist irgendein Tick von mir^^. Was das Einrücken angeht, muss ich gestehen dass ich die Highscore-Überprüfung einfach per Copy & Paste aus einem anderen Quellcode von mir kopiert habe... Da ich aber vom anderen Quellcode sowieso wusste, dass der Highscore einwandfrei funktioniert, hab' ich das Einrücken sein lassen. Zum Glück wurde nur dort nicht richtig eingerückt, überall anders schon^^. Aber soo schlimm ist der Quellcode auch wieder nicht (wie hieß die einzige Goto-Marke in diesem Programm nochmal? grinsen bzw. die einzige Marke, die als Goto-Marke verwendet wird... )
Michael Frey hat Folgendes geschrieben:
die Musik ist Gut gewählt
Danke lächeln . Darauf hab' ich Acht gegeben... wäre sicher nicht gut gewesen, wenn ein Musikstück langsam und ein anderes z. B. ungewohnt schrullig wäre^^...
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu


Zuletzt bearbeitet von Manuel am 04.01.2006, 21:12, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.01.2006, 21:07    Titel: Antworten mit Zitat

Was habt ihr denn für komische Firewalls, die Alarm schlagen, wenn man Software startet, die mit dem Internet nicht das Geringste zu tun hat? Lasst mich raten: Norton? Ich hab mir früher immer gerne den Spaß gemacht, an Mails an Mecki den Text "Virus! Virus!" anzuhängen, weil Norton die Mail dann immer als gefährlich eingestuft hat... lachen
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 04.01.2006, 21:16    Titel: Antworten mit Zitat

Nicht Norton, sondern Sygate Personal Firewall (die Freeware-Version)^^
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 04.01.2006, 21:54    Titel: Antworten mit Zitat

Achja Manuel.... Ich hab auch FreeBasic.... ich hab auch Win98 (SE).... und die FbIde funktioniert einwandfrei! Wer sagt hier denn,dass fbIde nicht zu win98 kompatibel ist?
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 04.01.2006, 22:57    Titel: Antworten mit Zitat

Manuel hat Folgendes geschrieben:
Ich hätte überhaupt nix dagegen, wenn du den FB-Quellcode hochladen würdest. Ich möchte selber gerne sehen, wie das Spiel in FB aussieht... da kann ich auch gleich feststellen, was sich in FB gegenüber manchen QB-Befehlen geändert hat lächeln

gerne, hier die erste Version nur minimalste Änderungen am Quelltext (mit EXE).
Ein kleines 'Protokoll' der Änderungen:
Code:
' erstes RUN (als Console-Anwendung), erster ERROR
'49 PLAY kennt der Compiler nicht
'soll mal drin bleiben mache wir mal ne SUB play
Sub play (musik As String)'angefügt
  Beep    'dann hört man wenigstens was
  Sleep 99'manchmal wird mit Play zeitverzögert
End Sub

'206 'Resume will der Compiler nicht
' Resume -> 'Resume  ;d.h. suche: Resume / ersetze mit: 'Resume
'gleiches mit ON ERROR, sollen sich die Fehler erstmal zeigen
' ON Error -> 'ON ERROR

'974 level% gibts schon als Array, hier nur lokale Variable
' level% -> levels% ;in 974,976,980
'1211 DEF SEG  kennt der Compiler nicht; auskommentiert
'ohne Musik, die Shell Befehle erstmal auskommentiert
' Shell -> 'Shell

'und schon läüft es
'allerdings sieht das mit den Zeilenumbrüchen nicht gut aus
'auch keine Tastatursteuerung möglich
'ah, FB braucht statt chr$(0) + chr$(xx) chr$(255) + chr$(xx)
' chr$(0) +  -> chr$(255) +
'1442 - 1452 am Ende mit ; um die Zeilenumbrüche zu verhindern

'Bei der Durchsicht fallen mir 3 SuB/Variablen-namen auf
'Levelwahl.lesen ; DIM.Feinde% ; anzahl.feinde%
'der Punkt darin ist mir nicht geheuer, durch Unterstrich ersezt

'sieht jetzt gut aus,
'läßt sich nur mit sehr schnellen Tastenanschlägen bedienen
'Bedinungsanleitung und Info lassen sich nicht richtig aufrufen,
'wechseln sofort ins Menü zurück
'statt a$ = INPUT$(1) verwende ich mal sleep
' a$ = INPUT$(1) -> sleep 'a$ = INPUT$(1)
'schon besser, ob alles läuft hab ich nicht getestet
'fürs Erste solls reichen :)

An der nächste Version mit Midi bastel ich noch, kommt bald lächeln
PS. ich finde den Quelltext gut geschrieben, sonst hätt ich es nicht so schnell anpassen können zwinkern


EDIT
allein mit den Änderungen oben klappt das nicht 100%.
Hier eine Version mit wav,mp3,mid - Sound , nur mit ME getestet, sollten Fehler drin sein bitte melden!
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
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 -> Projektvorstellungen 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