Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Xolios aka Ray
Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 09.03.2005, 09:19 Titel: Könnte das was werden??? |
|
|
Hallo.
Ich habe eben ein bißchen rumgeproggt und wollte fragen
wie ihr den ansatz findet.
Ich finde an dieser Stelle Screenshots unütz.
Aber ich finde wenn man das Projekt ausweitet dann
könnte das was werden. So z.B. Grafisch Aufpeppen
u.s.w.
Außerdem such ich Leute die daran interesse haben mitzuarbeiten.
So hier is der Link:
http://home.arcor.de/minisoft/Game.zip
Entpacken
Im Prog dann einfach save eingeben.
Ogame.exe und save.txt müssen in einem Verzeichnis liegen!
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
Verfasst am: 09.03.2005, 13:55 Titel: |
|
|
Hi,
Ich finds ne lustige Idee, so ein kleines Anno nachzuprogrammieren
Es gibt übrigens schon einige fortgeschrittenere/abgeschlossene, ähnliche Projekte - vielleicht hat ja jemand mal ne URL dazu, ich hab grad keine in the Brain.
Mal sehen, was draus wird
Und wenn du keine Lust mehr hast, kannst du ja mitmachen beim offiziellen Nachfolger des ersten deutschen QBasic-Programmierwettbewerbs, der QB-City oder beim
Ersatzwettbewerb, der von Thomas Antoni ins Leben gerufen wurde, weil ihm das meiner Meinung nach geniale System von QB-City zu kompilziert war.
Bei beiden Wettbewerben gibt es schöne Preise zu gewinnen. Bei QB-City eher PC-Spiele usw. und bei Nini's Wettbewerb viele seiner schönen Handbücher für alles mögliche.
Wenn du mit deiner Simulation mal etwas weiter fortgeschritten bist, kannst du ja hier weiterposten, Ray
Noch viel Spaß in deinem EDV-Praktikum und beim Programmieren,
Mecki _________________ » Yodl.de: So sucht man gestern.
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 09.03.2005, 19:29 Titel: |
|
|
Ist schon ganz nett, aber mach doch die Dateieingabe am Anfang weg.
Dann fehlt es nur noch an Grafik...
jb |
|
Nach oben |
|
|
Tomtitom
Anmeldungsdatum: 20.09.2004 Beiträge: 308
|
Verfasst am: 09.03.2005, 19:40 Titel: |
|
|
Das erinnert mich ein kleinwenig an mein "Die Insel", was ich früher mal schreiben wollte.
Ich weiß, ist jetzt doch noch ein großer Unterschied, aber vielleicht kann ich ja jemanden dafür interessieren mein Projekt fortzuführen.
Mein "Die Insel" sollte ein Pbem werden, also ein Spiel, wo man einen Zug macht und ihn dann per Email dem Spielpartner oder einem Spielleiter schickt. Es sollte eine Mischung aus Inselkampf werden und Schwert&Magie.
Hab dann aber irgendwann die Lust verloren, bzw. bin ich auf einige Grenzen von QB gestoßen.
@ Ray (oder auch irgendjemand anders): Falls dein Spiel auch mal so werden sollte, wie meins, oder du einfach nur Lust hast kannst du es gerne weiter machen.
MfG, Tomtitom |
|
Nach oben |
|
|
Xolios aka Ray
Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 10.03.2005, 08:15 Titel: ... |
|
|
Hallo.
Mit der Grafik habe ich immer solche Probleme.
Immer wenn mal in meinem Spiel was neues kommen
sollte werden ich hier reinschreiben.
Habt ihr irgentwie bugs(Fehler) gefunden?
und @Tomtitom
1 insel.rar: Unbekannte Methode in insel\INSEL.EXE
2 insel.rar: Unbekannte Methode in insel\INSEL.TOM
3 insel.rar: Unbekannte Methode in insel\Readme.txt
4 insel.rar: Datei "insel" Kopf zerstört
Ich werd das Prog sowiso nochmal erneuern da
der Code so etwas von hirnrissig ist.
Da kann ich mich nicht mal mit dem
"Es funktioniert wenigstens" rausreden.
Tausende Gotos u.s.w.
Verbesserungsvorschläge?
Code: |
ON ERROR GOTO fehler
start:
CLS
PRINT "(1) Starten"
PRINT "(2) Beenden"
DO
a$ = INKEY$
IF a$ = "1" THEN GOTO loadtxt
IF a$ = "2" THEN CLS : END
LOOP
loadtxt:
CLS
INPUT "Savedatei eingeben: ", save$
save$ = save$ + ".txt"
OPEN save$ FOR INPUT AS #1
INPUT #1, metall%
INPUT #1, kristall%
INPUT #1, deuterium%
INPUT #1, metallmine%
INPUT #1, kristallmine%
INPUT #1, deuteriummine%
CLOSE #1
game:
metallmineup% = metallmine%
kristallmineup% = kristallmine%
deuteriummineup% = deuteriummine%
metallmineup% = metallmineup% + 1
kristallmineup% = kristallmineup% + 1
deuteriummineup% = deuteriummineup% + 1
DO
CLS
PRINT " Metall: "; metall%; " Kristall: "; kristall%; " Deuterium: "; deuterium%
PRINT
PRINT "Geb„ude"
PRINT "-------"
PRINT ""
metallko% = metallmineup% * 231
kristallko% = metallmineup% * 131
PRINT "(1) Metallmine auf Stufe"; metallmineup%; "Upgraden. Metall: "; metallko%; "Kristall: "; kristallko%
metallko% = kristallmineup% * 143
kristallko% = kristallmineup% * 142
PRINT "(2) Kristallmine auf Stufe"; kristallmineup%; "Upgraden Metall: "; metallko%; "Kristall: "; kristallko%
metallko% = metallmineup% * 51
kristallko% = metallmineup% * 121
PRINT "(3) Deuteriummine auf Stufe"; deuteriummineup%; "Upgraden Metall: "; metallko%; "Kristall: "; kristallko%
LOCATE 20, 1: PRINT "Mit ESC Abbrechen"
zeit = TIMER: DO: LOOP UNTIL TIMER > zeit + .5
metallmon% = metallmine% * 1
metall% = metall% + metallmon%
kristallmon% = kristallmine% * 1
kristall% = kristall% + kristallmon%
deuteriummon% = deuteriummine% * 1
deuterium% = deuterium% + deuteriummon%
a$ = INKEY$
IF a$ = CHR$(27) THEN END
IF a$ = "1" THEN
metallko% = metallmineup% * 231
kristallko% = metallmineup% * 131
metall% = metall% - metallko%
kristall% = kristall% - kristall7ko%
GOTO built
END IF
IF a$ = "2" THEN
metallko% = kristallmineup% * 143
kristallko% = kristallmineup% * 142
metall% = metall% - metallko%
kristall% = kristall% - kristallko%
GOTO built
END IF
IF a$ = "3" THEN
metallko% = metallmineup% * 51
kristallko% = metallmineup% * 121
metall% = metall% - metallko%
kristall% = kristall% - kristallko%
GOTO built
END IF
LOOP
built:
IF metall% < 0 THEN metall% = metall% + metallko%: kristall% = kristall% + kristallko%: LOCATE 10, 30: PRINT "Nicht genug Mineralien!": SLEEP 2: GOTO game
IF kristall% < 0 THEN metall% = metall% + metallko%: kristall% = kristall% + kristallko%: LOCATE 10, 30: PRINT "Nicht genug Mineralien!": SLEEP 2: GOTO game
CLS
PRINT " Metall: "; metall%; " Kristall: "; kristall%; " Deuterium: "; deuterium%
PRINT
PRINT "Geb„ude"
PRINT "-------"
PRINT ""
IF a$ = "1" THEN
GOTO metall
END IF
GOTO kristall
metall:
timeofbuild% = metallmineup% * 10
DO
metallmon% = metallmine% * 1
metall% = metall% + metallmon%
kristallmon% = kristallmine% * 1
kristall% = kristall% + kristallmon%
deuteriummon% = deuteriummine% * 1
deuterium% = deuterium% + deuteriummon%
a$ = INKEY$
IF a$ = CHR$(27) THEN kristall% = kristall% + kristallko%: metall% = metall% + metallko%: LOCATE 10, 20: PRINT "Bau Abgebrochen! ": SLEEP 2: GOTO game
PRINT
LOCATE 20, 1: PRINT "Mit ESC Abbrechen": LOCATE 10, 20: PRINT "Metallmine: ", timeofbuild%
zeit = TIMER: DO: LOOP UNTIL TIMER > zeit + 1
timeofbuild% = timeofbuild% - 1
IF timeofbuild% = 0 THEN LOCATE 10, 20: PRINT "Abgeschlossen!!! ": SLEEP 2: metallmine% = metallmine% + 1: GOTO game
LOOP
kristall:
metallmon% = metallmine% * 1
metall% = metall% + metallmon%
kristallmon% = kristallmine% * 1
kristall% = kristall% + kristallmon%
deuteriummon% = deuteriummine% * 1
deuterium% = deuterium% + deuteriummon%
IF a$ = "2" THEN
timeofbuild% = kristallmineup% * 12
ELSE
GOTO deuterium
END IF
DO
metallmon% = metallmine% * 1
metall% = metall% + metallmon%
kristallmon% = kristallmine% * 1
kristall% = kristall% + kristallmon%
deuteriummon% = deuteriummine% * 1
deuterium% = deuterium% + deuteriummon%
a$ = INKEY$
IF a$ = CHR$(27) THEN kristall% = kristall% + kristallko%: metall% = metall% + metallko%: LOCATE 10, 20: PRINT "Bau Abgebrochen! ": SLEEP 2: GOTO game
PRINT
LOCATE 20, 1: PRINT "Mit ESC Abbrechen": LOCATE 10, 20: PRINT "Kristallmine: ", timeofbuild%
zeit = TIMER: DO: LOOP UNTIL TIMER > zeit + 1
timeofbuild% = timeofbuild% - 1
IF timeofbuild% = 0 THEN LOCATE 10, 20: PRINT "Abgeschlossen!!! ": SLEEP 2: kristallmine% = kristallmine% + 1: GOTO game
LOOP
deuterium:
IF a$ = "3" THEN
timeofbuild% = deuteriummineup% * 11
END IF
DO
metallmon% = metallmine% * 1
metall% = metall% + metallmon%
kristallmon% = kristallmine% * 1
kristall% = kristall% + kristallmon%
deuteriummon% = deuteriummine% * 1
deuterium% = deuterium% + deuteriummon%
a$ = INKEY$
IF a$ = CHR$(27) THEN kristall% = kristall% + kristallko%: metall% = metall% + metallko%: LOCATE 10, 20: PRINT "Bau Abgebrochen! ": SLEEP 2: GOTO game
PRINT
LOCATE 20, 1: PRINT "Mit ESC Abbrechen": LOCATE 10, 20: PRINT "Deuteriummine: ", timeofbuild%
zeit = TIMER: DO: LOOP UNTIL TIMER > zeit + 1
timeofbuild% = timeofbuild% - 1
IF timeofbuild% = 0 THEN LOCATE 10, 20: PRINT "Abgeschlossen!!! ": SLEEP 2: deuteriummine% = deuteriummine% + 1: GOTO game
LOOP
fehler:
RESUME NEXT
|
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
|
Tomtitom
Anmeldungsdatum: 20.09.2004 Beiträge: 308
|
Verfasst am: 10.03.2005, 11:19 Titel: |
|
|
Also das ist schon richtig verpackt, du solltest dir vielleicht die neueste Version von deinem Zip-Programm besorgen.
Und so richtig weiß ich auch noch nicht, worauf dein Spiel dann laufen soll. Soll das ein Aufbauspiel werden, wo Zeit auch eine Ressource ist? |
|
Nach oben |
|
|
Xolios aka Ray
Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 10.03.2005, 13:02 Titel: ... |
|
|
Hallo.
Also ich weiß auch noch nicht so genau, ob ich allgemein
Wirtschaft mache oder auch Krieg.
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 10.03.2005, 16:19 Titel: |
|
|
Ich würde nur die Fehlerverfolgungsroutine verbessern.
Etwa so:
Code: |
Fehler:
PRINT " Fehler "; RTRIM$(LTRIM$(STR$(ERR))); " aufgetreten."
PRINT " Programm beendet."
SLEEP
END
|
So könnte man auch darauf reagieren, wenn keine Datei gefunden wird.
jb |
|
Nach oben |
|
|
Xolios aka Ray
Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 11.03.2005, 08:54 Titel: ... |
|
|
Hallo.
Das mit dem Laden der save.txt muss da es später verschiedene
Speicherstände geben soll und er auch beim beenden automatisch
speichern soll.
Außerdem hab ich noch ne frage:
Wie formatiere ich Zeit um?
z.B. wenn er 119 Sekunden hat
das er die in 1:59 Umwandelt.
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 11.03.2005, 12:00 Titel: |
|
|
Ganzt einfach:
Integerdivision und Modulus:
minuten = sekunden \ 60
neuSekunden = sekunden MOD 60
wichtig: bei Minuten musst du \ ([ALT gr] + [ß]) verwenden, nicht / ([SHIFT] + [7]). Dieser Backslash hat die selbe funktion wie INT(x / y), ist aber um einiges schneller.
MOD gibt den Rest einer Integerdivision aus.
10 MOD 4 = 2
Viel Spaß damit!
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 |
|
|
Xolios aka Ray
Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 11.03.2005, 12:06 Titel: ... |
|
|
Hallo.
SO?
CLS
sekunden = 119
minuten = sekunden \ 60
neusekunden = sekunden MOD 60
PRINT neusekunden
MOD 4 = 2
Dann sagt er mir Syntax Fehler (MOD makiert)
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 11.03.2005, 12:15 Titel: |
|
|
meinst du vllt die zeile mit 10 MOD 4 = 2?
Das war nur ein Beispiel, wie MOD arbeiten...
die Zeile
PRINT 119 MOD 60
funktioniert bei mir einwandfrei, als erkebnis kommt ganz wie erwartet 59 raus.
Wahrscheinlich liegt der Fehler einfach beim 2. MOD, oder? _________________ 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 |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 11.03.2005, 12:16 Titel: |
|
|
meinst du vllt die zeile mit 10 MOD 4 = 2?
Das war nur ein Beispiel, wie MOD arbeiten...
die Zeile
PRINT 119 MOD 60
funktioniert bei mir einwandfrei, als erkebnis kommt ganz wie erwartet 59 raus.
Wahrscheinlich liegt der Fehler einfach beim 2. MOD, oder?
Lass einfach die letzte Zeile Raus, und alles sollte funktionieren. _________________ 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 |
|
|
Xolios aka Ray
Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 11.03.2005, 12:19 Titel: .. |
|
|
Hallo.
Aber warum kommt 59 raus?
Er soll doch in dem fall so anzeigen:
1:59
1:58
.
.
.
Saug mal eben mein Prog dann weißt du was ich mit der
Zeit möchte.
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
|
ChemicalWarfare
Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 11.03.2005, 17:48 Titel: |
|
|
weil du nur neusekunden anzeigst
so geht richtig:
print minuten; ":"; neusekunden
falls du die leerzeichen weg haben willst, dann mußt es noch in einen string umwandeln und trimmen:
print ltrim$(str$(minuten)) + ":" + ltrim$(str$(neusekunden)) |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 11.03.2005, 17:54 Titel: |
|
|
Oder mit ner FUNCTION:
Code: |
FUNCTION Zeit$(minuten, neusekunden)
Zeit$ = RTRIM$(LTRIM$(STR$(minuten))) + ":" + RTRIM$(LTRIM$(STR$(neusekunden)))
END FUNCTION
|
Dann musste nurnoch z.B:
Code: |
LOCATE 5, 5
PRINT Zeit$(minuten, neusekunden)
|
schreiben....
jb |
|
Nach oben |
|
|
ChemicalWarfare
Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 11.03.2005, 21:17 Titel: |
|
|
rtrimmen brauchst du nicht, es wird nur ein leerzeichen wegen des vorzeichens ("-") vorangestellt |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 11.03.2005, 21:35 Titel: |
|
|
Ach so, OK, alte Angewohnheit, bei LTRIM$ auch direkt RTRIM$
nehmen....
jb |
|
Nach oben |
|
|
Xolios aka Ray
Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 12.03.2005, 12:34 Titel: ... |
|
|
Hallo.
Vielen dank für die Hilfe.
Ich habe es hingekriegt.
@CWF ich werde mich am montag
in icq melden.
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 03.04.2005, 07:32 Titel: Still Tipps: |
|
|
Die ganzen "%" könnte man durch ein DEFINT A-Z bescheidigen.
Nur ein Detail:
statt
INPUT "Savedatei eingeben: ", save$
save$ = save$ + ".txt"
OPEN save$ FOR INPUT AS #1
ginge auch
INPUT "Savedatei eingeben: ", save$
OPEN save$+".txt" FOR INPUT AS #1
und auch hier
metallmineup% = metallmine%
metallmineup% = metallmineup% + 1
hier ginge
metallmineup% = metallmine% + 1
INPUT "Savedatei eingeben: ", save$
OPEN save$ + ".txt" FOR INPUT AS #1
Und verschlüsse die Dateim sonst kommt so ein Spieler wie ich und setz alle Ressurcen hoch ...
ON ERROR GOTO
Sollte in der Finalen Version entfernt werden, es macht das Programm nähmlich träge.
zeit = TIMER: DO: LOOP UNTIL TIMER > zeit + .5
Ich könnte eine Wette abschliessen, das das um Mitternacht zu einem Abstürz führt.
Aber: Die Idee kann etwas werden, bei dir ist Talent zu erkennnen und viele "grosse" Programmierer haben so angefangen.
Viel Spass bei der weiter entwicklung. |
|
Nach oben |
|
|
|