Gerade angefangen und schon aufm Schlauch ;-)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

michele

Betreff: Gerade angefangen und schon aufm Schlauch ;-)

BeitragDi, Dez 07, 2004 20:44
Antworten mit Zitat
Benutzer-Profile anzeigen
HI all,

Ich bin neu hier und möchte erst mal alle recht herzlich begrüssen. Ich habe heute zum erstenmal angefangen etwas mit Blitzbasic zu machen. Da mich insbesondere die 3dfunktionen faszinieren habe ich mich entschlossen ein paar sachen damit auszutesten.

Leider fängt hier auch schon mein erstes problem an Sad ich versuche einen ganz simplen chareditor zu entwickeln in dem man bestimmte daten über einen char eingeben kann und dieser dann abgespeichert wird. Wenn ich das mal geschafft hab kommt vielleicht noch ein Kampfsimulator oder sowas hinzu wo man diese chars gegeneinander kämpfen lassen kann.

Das Problem ist das ich es nicht schaffe alles gleichzeitig auf dem bildschirm ausgegeben. die lösung des problems ist sicher recht simpel. ich vermute mal das ich etwas mit renderworld und flip nicht ganz richtig mache. anders kann ich mir nicht erklären das erst die inputs und dann die auswahl (text) am bildschirm ausgegeben wird.

Der code :

Graphics3D 800,600,32,1
SetBuffer BackBuffer()
Cls
Text 10,10,"Char und Fightsimulator"
name$=input$("Wie soll der char heissen :")
Text 10,20,"Bitte wählen Sie eine der verfügbaren Klassen"
Text 10,40,"1.Krieger"
Text 10,50,"2.Magier"
Text 10,60,"3.Warlock"
Text 10,70,"4.Nekromant"
Text 10,80,"5.Druide"

klasse$=Input$("Klasse: ")

;RenderWorld
Flip

WaitKey




Danke für eure Hilfe

Michele

DA

BeitragDi, Dez 07, 2004 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Meinst du so?

BlitzBasic: [AUSKLAPPEN]

Graphics3D 800,600,32,1
SetBuffer BackBuffer()
Cls
Text 10,10,\"Char und Fightsimulator\"
name$=Input$(\"Wie soll der char heissen :\")
Text 10,20,\"Bitte wählen Sie eine der verfügbaren Klassen\"
Text 10,40,\"1.Krieger\"
Text 10,50,\"2.Magier\"
Text 10,60,\"3.Warlock\"
Text 10,70,\"4.Nekromant\"
Text 10,80,\"5.Druide\"

Flip
klasse$=Input$(\"Klasse: \")

;RenderWorld


WaitKey
Deutscher Blitz Basic Chat
 

michele

Betreff: fast :-)

BeitragDi, Dez 07, 2004 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

danke für die schnelle antwort. ich begreif nicht warum er zb am anfang der text char und fightsimulator weglässt, und zum input übergeht. der text steht doch zuerst? warum erscheint der nicht?

muss ich vor jedem text jetz ein renderworld und flip einbauen???

DA

BeitragDi, Dez 07, 2004 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso renderworld?
Das ist doch kein 3D meines wissen nach.
Du brauchst nur Flip!

Weil als erstes schreibt er alles in den Backbuffer.
Und wen du jetzt kein flip rein machst, dann bleibt es ja da. Und du kannst es nicht sehen, weil wie der Name schon sagt im backbuffer sitzt. Immer wen du was schreibst in den backbuffer und dz möchtest es angezeigt kriegen, dann must du flip benutzen.

Ich hoffe du hast es verstanden.

Thx
DarkAngel
Deutscher Blitz Basic Chat
 

michele

Betreff: flipflop

BeitragDi, Dez 07, 2004 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

ok das heisst jedesmal wenn ich den bildschirm aktualisieren will ->flip

GRAPHICS3D 800,600,32,1
SETBUFFER BACKBUFFER()
Cls
Text 10,10,"Char und Fightsimulator"
Flip
name$=Input$("Wie soll der char heissen :")
Text 10,30,"Bitte wählen Sie eine der verfügbaren Klassen"
TEXT 10,40,"1.Krieger"
TEXT 10,50,"2.Magier"
TEXT 10,60,"3.Warlock"
TEXT 10,70,"4.Nekromant"
TEXT 10,80,"5.Druide"

FLIP
klasse$=INPUT$("Klasse: ")

;RenderWorld


WaitKey

gibts ne möglichkeit input zu positionieren dases nicht vor dem titel des programms steht?

Michele

DA

BeitragDi, Dez 07, 2004 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Genau.

Ja, gib mal in der online hilfe "locate" ein.
Da wirst du bestimmt was schönes finden. Wink

Thx
DarkAngel
Deutscher Blitz Basic Chat

D2006

Administrator

BeitragDi, Dez 07, 2004 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

erstens:
mit dem BB-Code Knopf oben kannst du solche Boxen wie DarkAngel für deinen Quellcode erstellen.

zweitens:
ich weiß nicht genau wie das jetzt aussieht. aber eventuell musst du dir dafür eine eigene input routine schreiben, was allerdings für den Anfang reinhaut.
Leb' am besten erstmal damit. In ein paar wochen kriegst du so ne routine in 3 minuten hin.
wenn es dich jetzt schon brennt, im Code-Archiv findet man einige.

na hoppla: stimmt. mit B3D kann man Locate benutzen. sorry

MfG
D2006

DA

BeitragDi, Dez 07, 2004 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

@ D2006
Warum eine eigene eingabe routine?
Es gibt doch locate. Wink
Oder meinst du was anderes?
Wen ja dann entschuldigung.

Thx
DarkAngel
Deutscher Blitz Basic Chat

BladeRunner

Moderator

BeitragDi, Dez 07, 2004 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Input und Locate sind nicht wirklich empfehlenswert. Sie nutzen nur den FrontBuffer, Input unterbricht das Programm (keine Animationen etc. möglich) und sind daher nur bedingt "spielegeeignet". Eine eigene Routine bietet also massig Vorteile. Und man lernt was dabei.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

michele

BeitragDi, Dez 07, 2004 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
thx,

hab locator hilfe schon vorher offen gehat. nun die benutzung hat mich abgeschreckt weil da sowas stand von wegen wird entfernt.

eigentlich hab ich früher mit dem c64 basic programmiert und auch qbasic ist mir ein begriff. da musste man nicht mittels locate den genauen ort für den input ermitteln. komisch das der nicht nach dem text kommt. dünkt mi scho umständlich Wink

ich arbeite erstmal eine maske für werteingabe etc aus. wie würdet ihr die char verwaltung angehen? würdet ihr sämtliche chars in arrays speichern? aus einem textfile rauslesen?

Michele

DA

BeitragDi, Dez 07, 2004 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Das bleibt dir überlassen, aber wen man mich schon so fragt, ich glaube ich würde alles in eine Datei schreiben. Weil ich mit array's nicht so gut auskenne ^^.

Thx
DarkAngel
Deutscher Blitz Basic Chat
 

michele

Betreff: tja

BeitragDi, Dez 07, 2004 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun, da ich es nicht mal schaff einen einfachen chargenerator in ascii zu schreiben, muss ich mich doch fragen ob ich nicht fähig bin oder blitz keine anständig programmierten befehle hat.

Ich mein ich will jetz nicht motzen oder so aber wenn ich nicht mal ein einfaches textadventure hinbekomm, was soll ich dann mit 3d?

dabei frag ich mich ob ich jetz unfähig bin oder wie ihr so eine eingabe machen würdet. ist doch ziemlich dämlich wenn man den text den man vor einem input haben will nicht erscheint.

MIchele

DA

BeitragDi, Dez 07, 2004 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Du bist nicht dämlich, sondern nur faul Laughing .
Probier doch mal aus, such nach anderen Codes denk dir was aus etc.
Ich denke du wirst das wohl schon hinbekommen (irgend wann zumindest) Wink .

Thx
DarkAngel
Deutscher Blitz Basic Chat

D2006

Administrator

BeitragDi, Dez 07, 2004 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
das liegt alles am DoubbleBuffering.

Vielleicht kennst du aus QBasic das Phenomen der flackernden Grafikausgabe. Um dies zu umgehen, gibt es zwei Grafikbuffer.

Einen Front- und Backbuffer. In BB zeichnet man für gewöhnlich auf den Backbuffer. Mit Flip vertauscht man beide Buffer, so dass mit einem mal das gezeichnete auch sichtbar wird.

wenn du also willst, das der Text vor dem Input sichtbar ist, musst du genau davor flippen.

das verursacht wieder andere probleme, wie du beim testen herausfinden wirst.

MfG
 

michele

Betreff: fast :-)

BeitragDi, Dez 07, 2004 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

hier hab ich ein locate drin dennoch kommt erst die input abfrage..

in der online hilfe hab ich auch nichts gefunden wie man das umgehen könnte.

Graphics3D 800,600,32,1
For n=5 To 10
Print "Chargenerator"
Next
Flip
Locate 0,600
name$=Input$("Name: ")
Flip
WaitKey




Michele

DA

BeitragDi, Dez 07, 2004 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Na, guck mal wo du das hinzeichnest, dort kan ndas auch keiner lesen.

Thx
DarkAngel
Deutscher Blitz Basic Chat
 

michele

Betreff: mit functions gehts

BeitragDi, Dez 07, 2004 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
das locate bezieht sich auf den input, bei 600 bildschirmauflösung zeichnet ers ganz unten. das klappt schon.

ich habs mittels funktionen geschafft erst einen text Smile anzeigen zu lassen dann das input.

Graphics3D 800,600,32,1
designmask()
Flip
name$=Input$("hello: ")


Function designmask()
For n=5 To 10
Print "Chargenerator"
Next
Flip
End Function

WaitKey

also irgendwie sollte es mit funktionen gehen
danke euch superschnelle hilfe Smile

Ciaoooo

Michele

Jolinah

BeitragDi, Dez 07, 2004 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es wirklich nur rein Text sein soll, Zeile für Zeile, dann würd ich das Cls und Flip einfach ganz weglassen. Dann Print und Input verwenden. Text funktioniert nur im Grafikmodus (mit Cls + Flip) anständig.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group