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:

Variablen

 
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: 18.04.2005, 16:47    Titel: Variablen Antworten mit Zitat

Hallo , habe mal wieder ne eigentlich sehr einfache Frage ...
Leider habe ich keine Antwort in der Q-Basic Monster FAQ
gefunden , aber es ist ja eine einfache Sache . Es geht um
Variablen J Also mein Prog. Sieht so aus :


Code:

10
PRINT " Varibalen "
PRINT ""
PRINT " Burg Stufe : "; Burg$
PRINT ""
PRINT " [A] Abrunden     [B] Aufrunden  [C] Ende "
PRINT ""
PRINT ""
PRINT ""
INPUT "", Eingabe$

IF INSTR(Eingabe$, "A") THEN GOTO 20

IF INSTR(Eingabe$, "B") THEN GOTO 30

IF INSTR(Eingabe$, "C") THEN END







20
PRINT " Abgerundet ! "
Burg$ = "1"
SLEEP
CLS
GOTO 10


30
PRINT " Aufgerundet ! "
Burg$ = "2"
SLEEP
CLS
GOTO 10


Nun würde ich gerne wissen wie es geht dass Automatisch immer eins Drauf und wieder abgezogen wird ? Also bei [A] 1 - und bei [B] 1 + . Ich weis ja das GOTO nicht gerade das
Beste ist aber für mich reicht es J Bitte setzt die Sachen einfach an der richtigen Stelle ein .
Die Goto Befehle sollten am besten bleiben .

Download Link : http://rapidshare.de/files/1322191/Prog.rar.html

Download Anleitung :
Seite öffnet sich , bis nach unten gehen und auf Free klicken . Neue
Seite erscheint wieder bis nach unten gehen und auf Download klicken .
_________________
Courage ist gut, aber Ausdauer ist besser.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
code



Anmeldungsdatum: 19.01.2005
Beiträge: 154

BeitragVerfasst am: 18.04.2005, 17:48    Titel: Antworten mit Zitat

also erstes solltest du doe variable burg nicht als string speichern, sondern als integer (also einfach das $ weglassen).

der code sieht dann so aus:

Code:
10
PRINT " Varibalen "
PRINT ""
PRINT " Burg Stufe : "; Burg
PRINT ""
PRINT " [A] Abrunden     [B] Aufrunden  [C] Ende "
PRINT ""
PRINT ""
PRINT ""
INPUT "", Eingabe$

IF INSTR(Eingabe$, "A") THEN GOTO 20

IF INSTR(Eingabe$, "B") THEN GOTO 30

IF INSTR(Eingabe$, "C") THEN END







20
PRINT " Abgerundet ! "
Burg = Burg - 1
SLEEP
CLS
GOTO 10


30
PRINT " Aufgerundet ! "
Burg= Burg + 1
SLEEP
CLS
GOTO 10


Du mußt auch unterscheiden, ob der benutzer groß oder kleinbuchstaben eingegeben hat. mi deiner methode würde die eingabe nur auf großbuchstaben reagieren.
dazukommt, das bei dir der benutzer A, B und C hätte auf einmal eingeben können. deshalb solltest du die eingabe verbessern. Du willst hier nur ein zeichen einlesen, also lohnt sich hier der code:
Code:
Eingabe$=INPUT$(1)


mit ucase$(zeichenkette) wandelts du einen string in großbuchstaben um.

also sieht der fertige code forgendermaßen aus:
Code:
10
PRINT " Varibalen "
PRINT ""
PRINT " Burg Stufe : "; Burg$
PRINT ""
PRINT " [A] Abrunden     [B] Aufrunden  [C] Ende "
PRINT ""
PRINT ""
PRINT ""
Eingabe$=INPUT$(1)

IF UCASE$(Eingabe$)="A" THEN GOTO 20

IF UCASE$(Eingabe$)="B"  THEN GOTO 30

IF UCASE$(Eingabe$)="C" THEN END

GOTO 10




20
PRINT " Abgerundet ! "
Burg$ = "1"
SLEEP
CLS
GOTO 10


30
PRINT " Aufgerundet ! "
Burg$ = "2"
SLEEP
CLS
GOTO 10


Das GOTO 10 nach der IF-Abfrage hab ich reingeschrieben, damit er wieder zu 10 geht und die eingabe wieder holt, wenn nicht a, b oder c eingeben wurde.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Devilkevin
aka Kerstin


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

BeitragVerfasst am: 18.04.2005, 19:02    Titel: Antworten mit Zitat

Ich würde nicht A, B, C verenden sondern 1-3, weil wen der User einfach nur "a" eintippt wird die Eingabe nicht richtig erkannt da QB zwischen Gross und Klein Schreibung unterscheidet zwinkern

/Edit: Ups hab den Beitrag (wegen den Grossbuchstaben) von Code übersehen

/Edit #2: Der "fertige" Quellcode von Code is nicht richtig

/Edit #3: Ich denke das ihr wisst das Abrunden bzw. Aufrunden nciht einfach -/+ 1 bedeutet durchgeknallt - oder zwinkern ?

/Edit #4: Ziemlich viele Edits oder durchgeknallt
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 18.04.2005, 19:52    Titel: Re: Variablen Antworten mit Zitat

Jet X hat Folgendes geschrieben:
Nun würde ich gerne wissen wie es geht dass Automatisch immer eins Drauf und wieder abgezogen wird ? Also bei [A] 1 - und bei [B] 1 + . Ich weis ja das GOTO nicht gerade das
Beste ist aber für mich reicht es J Bitte setzt die Sachen einfach an der richtigen Stelle ein .
Die Goto Befehle sollten am besten bleiben .


Hallo JetX!

Brauchst du das jetzt für einen neuen 3D-Echtzeit-Internet-Rollenspiel-Multiplayer-Egoshooter oder arbeitest du noch an einem revolutionären Betriebssystem, vor dem Microsoft insgeheim schon zittert? Und wann gibt's endlich die DeLuxe-GoldEdition der Personenangabe?

Gruss
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 18.04.2005, 20:00    Titel: Antworten mit Zitat

Zitat:
Brauchst du das jetzt für einen neuen 3D-Echtzeit-Internet-Rollenspiel-Multiplayer-Egoshooter oder arbeitest du noch an einem revolutionären Betriebssystem, vor dem Microsoft insgeheim schon zittert? Und wann gibt's endlich die DeLuxe-GoldEdition der Personenangabe?

vor lachen auf dem Boden rollen vor lachen auf dem Boden rollen vor lachen auf dem Boden rollen
_________________

Die gefährlichsten Familienclans | 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
Jet X
gesperrt


Anmeldungsdatum: 05.01.2005
Beiträge: 447

BeitragVerfasst am: 18.04.2005, 20:19    Titel: Antworten mit Zitat

@ Skilltronic : Naja , mein "revolutionären Betriebssystem" habe ich erstmal in den Hintergrund gestellt , war glaube ich nur so ne Fase happy
Mein wie du es so schön nantest DeLuxe-GoldEdition von Personenangabe wird in der nächsten Zeit erscheinen grinsen
Und ja , ich arbeite an einem kleinem Text Basierenden Strategiespiel lächeln
Aber halt ohne Bilder desswegen halt Text Basierend .

Noch mal ne andere Frage : Hat schon mal jemand was von Rays Spiel
Gehört das er letztens angekündigt hat ???


Also Grüße JET X
_________________
Courage ist gut, aber Ausdauer ist besser.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Devilkevin
aka Kerstin


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

BeitragVerfasst am: 18.04.2005, 20:24    Titel: Antworten mit Zitat

Jet X hat Folgendes geschrieben:
@ Skilltronic : Naja , mein "revolutionären Betriebssystem" habe ich erstmal in den Hintergrund gestellt Ähm ... gute Idee , war glaube ich nur so ne Fase (das nennt man Phase) happy
Mein wie du es so schön nantest DeLuxe-GoldEdition von Personenangabe wird in der nächsten Zeit erscheinen grinsen Juhu ! Warte schon die ganze Zeit darauf dachte es wird nie fertig
Und ja , ich arbeite an einem kleinem Text Basierenden Strategiespiel lächeln
Aber halt ohne Bilder desswegen halt Text Basierend Mach erstmal die Hyper Edition von Personenangabe ferig ... immer langsam mit den Jungen Jets grinsen .

Noch mal ne andere Frage : Hat schon mal jemand was von Rays Spiel
Gehört das er letztens angekündigt hat ???

Schau ins Projektvorstellungs Forum in den passenden Thread


Also Grüße JET X

_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jet X
gesperrt


Anmeldungsdatum: 05.01.2005
Beiträge: 447

BeitragVerfasst am: 18.04.2005, 20:40    Titel: Antworten mit Zitat

Zitat:
Juhu ! Warte schon die ganze Zeit darauf dachte es wird nie fertig


War das jetzt ernst gemeint ? Dachte das alle mein Programm Personenangabe echt scheiße fanden ??? Wer ja cool wen es dir gefallen würde happy



Grüße J E T X
_________________
Courage ist gut, aber Ausdauer ist besser.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Devilkevin
aka Kerstin


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

BeitragVerfasst am: 18.04.2005, 20:51    Titel: Antworten mit Zitat

Also: Die Idee is nicht neu und die erste Version ist (das wirst du wohl zugeben) ähm nunja reden wir nicht drüner zwinkern
Ich will einfach sehen wie die 2te Version wird, also vom Design her ob du dich da Verbessert hast und so lächeln - also ein bisschen gespannt bin ich schon wies wird lächeln
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
code



Anmeldungsdatum: 19.01.2005
Beiträge: 154

BeitragVerfasst am: 19.04.2005, 16:29    Titel: Antworten mit Zitat

Devilkevin hat Folgendes geschrieben:
/Edit #2: Der "fertige" Quellcode von Code is nicht richtig

was ist falsch?

ich hatte beim zweiten code noch burg$ aber das hab ich hier verbessert:
(man sollte halt aufpassen wenn man kopiert und einfügt zwinkern )

Code:
10
PRINT " Varibalen "
PRINT ""
PRINT " Burg Stufe : "; Burg
PRINT ""
PRINT " [A] Abrunden     [B] Aufrunden  [C] Ende "
PRINT ""
PRINT ""
PRINT ""
Eingabe$=INPUT$(1)

IF UCASE$(Eingabe$)="A" THEN GOTO 20

IF UCASE$(Eingabe$)="B"  THEN GOTO 30

IF UCASE$(Eingabe$)="C" THEN END

GOTO 10




20
PRINT " Abgerundet ! "
Burg = Burg - 1 
SLEEP
CLS
GOTO 10


30
PRINT " Aufgerundet ! "
Burg=Burg + 1
SLEEP
CLS
GOTO 10


ich weiß das das aufrunden und abrunden nicht plus eins ist, aber jet x wollte das halt so.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jet X
gesperrt


Anmeldungsdatum: 05.01.2005
Beiträge: 447

BeitragVerfasst am: 19.04.2005, 16:43    Titel: Antworten mit Zitat

Vielen Dank für euer Hilfe lächeln
Hab noch ne zweite Frage :
Ich will das für den Anfang erstmal nur ein Gegner besteht ... der soll
in zufälligen Anständen Angreifen , das heißt er zieht etwas von der
Burg ab , auch zufällig ! Könntet ihr den Code so ergänzen ? Warscheinlich
gibt es doch eine einfache Lösung die ich mal wieder nicht kenne happy
Das heißt man sollte weiterhin noch eingeben können ob man abrunden oder aufrunden will aber zwischendurch zieht der "Gegner" einem halt was ab , am besten in einem Zeitraum von 1-5 Minuten . Ist so was
möglich ? Eine kurze lösung wäre echt Supi ! lächeln

Also Grüße JET X
_________________
Courage ist gut, aber Ausdauer ist besser.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Dusky_Joe



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

BeitragVerfasst am: 19.04.2005, 16:54    Titel: Antworten mit Zitat

ich denke mal, du meinst, abziehen von der Variablen burg, oder?

Spätestens jetzt solltest du auf DO-LOOP umsteigen:

Code:

RANDOMIZE TIMER

DO
 LOCATE 2,1
 PRINT "BURG STUFE : "; Burg
 PRINT
 PRINT "A..., B..., C..."

 in$ = INKEY$
 SELECT CASE UCASE$(in$)
 CASE "A"
  burg = burg - 1
 CASE "B"
  burg = bur + 1
 CASE "C"
  END
 END SELECT

 Attack = INT(RND * 500)
 Strength = INT(RND * 5)
 IF Attack = 1 THEN Burg = Burg - Strength
LOOP


Die Chance, dass der Gegner pro DO..LOOP-Durchlauf Angreift ist hier 1:500. Er zieht dir zwischen 0 und 4 Punkte ab.

Anmerkung:
Du musst evtl. noch ergänzen, ich hab nicht den ganzen Code abgeschrieben (kopieren hätte sich wegen der neustrukturierung nciht gelohnt).

Wenn du einen Zeitraum festlegen willst, gehts über TIMER:

Code:

lastattack = INT(TIMER)
DO
 ....
 IF nextAttackSek THEN
  nextAttackMin = RND * 5 + 1
  nextAttackSek = INT(NextAttackMin * 60)
  Strength = INT(RND * 5)
 END IF

 IF lastattack + nextAttackSek >= TIMER THEN
  nextAttackSek = 0
  Burg = Burg - Strength
  'evtl Print?
 END IF

 ...
LOOP


viel Spaß dabei *g*
_________________
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
Jet X
gesperrt


Anmeldungsdatum: 05.01.2005
Beiträge: 447

BeitragVerfasst am: 19.04.2005, 20:34    Titel: Antworten mit Zitat

hmm.... also , habe das obere ausprobiert das geht ja viel zu schnell !!!
Könntest du vileicht mal alles in mein Programm einbinden ? Weiteroben siehst du ja wie es bisher ausehen sollte :

Zitat:
10
PRINT " Varibalen "
PRINT ""
PRINT " Burg Stufe : "; Burg
PRINT ""
PRINT " [A] Abrunden [B] Aufrunden [C] Ende "
PRINT ""
PRINT ""
PRINT ""
Eingabe$=INPUT$(1)

IF UCASE$(Eingabe$)="A" THEN GOTO 20

IF UCASE$(Eingabe$)="B" THEN GOTO 30

IF UCASE$(Eingabe$)="C" THEN END

GOTO 10




20
PRINT " Abgerundet ! "
Burg = "1"
SLEEP
CLS
GOTO 10


30
PRINT " Aufgerundet ! "
Burg = "2"
SLEEP
CLS
GOTO 10


So , könntest du deine Art nochmal Einbauen ? Also der Gegner greift zufällig in einem Zeitabspann von 1 -5 Minuten an (Bitte entsprächende Stelle kenzeichnen) und zieht sagen wir ... 1-10 ab O.K ? ( Bitte auch kenzeichnen)

Bin dir sehr dankbar wenn du mir Hilfst lächeln


Grüße JET X
_________________
Courage ist gut, aber Ausdauer ist besser.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Devilkevin
aka Kerstin


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

BeitragVerfasst am: 19.04.2005, 20:40    Titel: Antworten mit Zitat

So ich liefere dir keinen Fertigen Code sondern n paar Hinweise (dann lernste das auch viel besser):

--> Zufallszahlen sind sehr einfach mit RANDOMIZE TIMER zu erzeugen
--> Zeiten etc. kannste mit Sleep oder TIMER machen (siehe MonFAQ) aber es wäre auch möglich mit FOR/NEXT zu arbeiten
_________________
www.piratenpartei.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Exp-Soft



Anmeldungsdatum: 10.09.2004
Beiträge: 79

BeitragVerfasst am: 19.04.2005, 23:38    Titel: Antworten mit Zitat

Jet X hat Folgendes geschrieben:

So , könntest du deine Art nochmal Einbauen ? Also der Gegner greift zufällig in einem Zeitabspann von 1 -5 Minuten an (Bitte entsprächende Stelle kenzeichnen) und zieht sagen wir ... 1-10 ab O.K ? ( Bitte auch kenzeichnen)

Bin dir sehr dankbar wenn du mir Hilfst lächeln
Grüße JET X


hm Jet X selber proggen ist in zwinkern progen lassen ist out durchgeknallt

und man kann hinterher wenningstens stolz auf sich sein, ohne zu wissen, das der größte Teil der Arbeit eigentlich garnicht von einem selber stand grinsen

soll nun keine anmache oder sowas sein, nur lediglich ein kleiner hinweis grinsen

auch sollte mal drauf hingewiesen werden, wie gut es die Neueinsteiger in Basic ect.. eigentlich haben, sie haben heute die Möglichkeit nicht nur aus Büchern zu lernen, sondern auch aus Tutorials, von freunden ect.. bei Problemen, gibts mitlerweile die möglichkeit der FOREN, Chats ect..

Wenn ich daran denke wie ich früher Basic angefangen habe, und auch einiege andere hier (denke ich mal), wir mussten aus Büchern lernen, und hatten meist bei Problemem keine anlaufstelle um nach Rat / hilfe zu fragen grinsen
sollte man sich ggf auch mal vor Augen halten grinsen

naja auch das soll nun nicht Diskriminierend wirken, wollt es nur mal loswerden grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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