Seite 11 von 16

Verfasst: 11.02.2008 21:54
von ZeHa
Wer liest schon die deutschen Artikel ;) ich geh zuerst immer auf die englischen Artikel, und dort kann ich kein Wort darüber finden ;)

Nach meiner Erfahrung ist es halt das Programm, das immer als erstes in irgendwelchen Programmierbüchern vorkommt. Ich persönlich find's dämlich, weil ich allein schon den Ausruf "Hallo Welt" so blöd finde... und unrealistisch dazu, jeder gibt doch erstmal gern irgendwelche Profanitäten ein, wenn er eine neue Sprache lernt (und zwar nicht nur bei den Ausgaben, auch bei den Variablennamen ;) )

Verfasst: 12.02.2008 13:17
von #NULL
dann eben das helloworld weglassen, und dafür das sprite-beispiel (für die game-devel-träumer) und ein beispiel für eine applikation, mit fenstern und gadgets.

<edit>
übrigens finde ich das Define.l lI, lX, lY und die bezeichner auch weder prickelnd noch nötig. die sprite-konstane ist ok.
ClearScreen() würde ich mit einem farbwert ausstatten..

Code: Alles auswählen

; Identifier-Konstante für unser Sprite deklarieren
#MySprite = 0


If Not InitSprite ()  Or  Not InitKeyboard ()
  MessageRequester("Error", "Can't open DirectX 7 or later.")
  End
EndIf

; fullscreen oeffnen
If Not OpenScreen (640, 480, 32, "Sprite Example")
  MessageRequester ("Error", "Can't open a 640*480 - 32 bit screen.")
  End
EndIf

; eine grafik laden
If Not LoadSprite (#MySprite, #PB_Compiler_Home+"Examples\Sources\Data\Geebee2.bmp")
  MessageRequester ("Error", "Can't load sprite.")
  End
EndIf
; transparente farbe der grafik definieren
TransparentSpriteColor(#MySprite,$FF00FF)

; auf sprite zeichnen
If StartDrawing(SpriteOutput(#MySprite))
  FrontColor (RGB(255, 0, 0))              ; zeichenfarbe festlegen (rot)
  For i = 0 To SpriteHeight(0) Step 6
    Line(0, i, SpriteWidth(0), 0)          ; linien zeichnen
  Next
  StopDrawing()
EndIf


; hauptschleife
Repeat
  ClearScreen($AA0000) ; bildschrim leeren (mit dunkelblau)
  
  DisplayTransparentSprite(#MySprite ,x, y)  ; sprite positionieren
  x + 2
  y + 1
  
  FlipBuffers()           ; alles anzeigen
  
  ExamineKeyboard()       ; keyboard-daten aktualisieren
  
Until x > 500  Or  KeyboardPushed(#PB_Key_Escape) ; zum beenden <ESC> druecken
End

Verfasst: 12.02.2008 15:34
von Hroudtwolf
Die Einrückung sieht ziemlich mickrig aus.
Und im deutschen Wiki-Artikel sollten die Texte in der Sources auch auf Deutsch sein.

Code: Alles auswählen

; auf sprite zeichnen
If StartDrawing(SpriteOutput(#MySprite))
  FrontColor (RGB(255, 0, 0))              ; zeichenfarbe festlegen (rot)
  For i = 0 To SpriteHeight(0) Step 6
    Line(0, i, SpriteWidth(0), 0)          ; linien zeichnen
  Next
  StopDrawing()
EndIf 
Wenn schon Konstanten zu vermeidung von magischen Zahlen verwendet werden dann sollte das auch Source weit gemacht werden.

Code: Alles auswählen

; Identifier-Konstante für unser Sprite deklarieren
#MySprite = 0

; Variablen vordefinieren. In PureBasic ist das optional.
Define.l lX , lY, lI

If Not InitSprite ()  Or  Not InitKeyboard ()
   MessageRequester("Fehler", "Konnte DirectX 7 oder höher nicht öffnen.")
   End
EndIf

; Vollbildschirm öffnen.
If Not OpenScreen (640, 480, 32, "Sprite Example")
   MessageRequester ("Fehler", "Konnte keinen Vollbildschirm mit 640x480x32 öffnen.")
   End
EndIf

; Eine Grafik laden.
If Not LoadSprite (#MySprite, #PB_Compiler_Home+"Examples\Sources\Data\Geebee2.bmp")
   MessageRequester ("Fehler", "Konnte Sprite nicht laden.")
   End
EndIf

; Transparente Farbe der Grafik definieren.
TransparentSpriteColor(#MySprite,$FF00FF)

; Auf Sprite zeichnen.
If StartDrawing(SpriteOutput(#MySprite))
   FrontColor (RGB(255, 0, 0))              ; Zeichenfarbe festlegen (rot).
   For lI = 0 To SpriteHeight(#MySprite) Step 6
    Line(0, lI, SpriteWidth(#MySprite), 0)          ; Linien zeichnen.
   Next
   StopDrawing()
EndIf


; hauptschleife
Repeat
   ClearScreen($AA0000) ; Bildschirm leeren (mit Dunkelblau).
   
   DisplayTransparentSprite(#MySprite , lX, lY)  ; Sprite positionieren.
   lX + 2
   lY + 1
   
   FlipBuffers()           ; Alles anzeigen.
   
   ExamineKeyboard()       ; Keyboard-daten aktualisieren.
 
Until lX > 500  Or  KeyboardPushed(#PB_Key_Escape) ; Zum Beenden <ESC> drücken.
End

Verfasst: 12.02.2008 15:47
von Kiffi
nochmalfürallediesnichtmitbekommenhaben:
bildschrim

Verfasst: 12.02.2008 16:01
von ZeHa
Okay mein Senf noch: Zu einem Next gehört meiner Meinung nach auch die Zählvariable (ist halt stilistisch irgendwie "korrekter") und den RGB-Wert bei ClearScreen sollte man mit RGB() machen, da man erstens sicher weiß, daß er auch wirklich in RGB und nicht z.B. BGR umgesetzt wird, und zweitens weils ebenfalls schöner ist als der direkte Hexwert. (Wenn man aber z.B. unbedingt zeigen will, daß man innerhalb von PB-Code auch Hexwerte benutzen kann, dann würde ich das an einer anderen Stelle machen)

Verfasst: 13.02.2008 13:09
von Xaby
Ich weiß nicht ...

Ich finde, um eine Sprache vorzustellen, muss man nicht jede Einzelheit beschreiben.
Für wen kann es denn interessant sein? Wen will man ansprechen?

Für CodeBeispiele: Forum, CodeArchive (sollte erneuert werden)
Für Anwendungsbeispiele und Spielebeispiele (cooles Wort): ShowCase

Ansonsten Syntax:

Keine Zeilenangabe notwendig, keine Semikolons notwendig, Befehl endet mit Zeilenumbruch oder Doppelpunkt.

Schleifen:

Zählerschleife

Code: Alles auswählen

For i=0 To 10
  [...]
Next
Kopf gesteuerte Schleife

Code: Alles auswählen

While [Bedingung]
  [...]
Wend
Fuß gesteuerte Schleife

Code: Alles auswählen

Repeat
  [...]
Until [Bedingung]
Bedingungen:

Code: Alles auswählen

If [Bedingung]
  [...]
EndIf
Beispiel für ConsolenAnwednung:

Code: Alles auswählen

OpenConsole()
  Print("Hallo Welt")
  A$=Input()
CloseConsole()
Beispiel für Fensteranwendung, ein paar Gadgets ...
Und ScreenShot davon.

Kleines Spiel...
2D und eine 3D-Anwendung ...

Nicht zu komplex. Wichtig ist doch, dass die Leute sehen, dass man alles mit wenigen Befehlen erreichen kann. Wie das dann im einzelnen ist, das wird man doch erst bei der Benutzung merken. Und ob man nun Hexerdezimalzahlen direkt eingeben kann oder nicht, ich glaube nicht, dass das für irgendwen von den Leuten hier im Forum, die PureBasic gekauft haben, ein Kaufkreterium war. Das könnte man bei jeder anderen Sprache auch als Pre-Compliler-PlugIn einbauen, dass bestimmte zeichen in irgendwas anderes umgewandelt werden. Und wir wir aus dem Forum wissen, wissen die Anfänger noch nicht mal, was eine Bedingung ist, denen wird es also auch egal sein, ob Hexerdings oder nicht ...


Befehlsbiblioptheken für ...
Und dann kann man einen Groben überblick von der PB-Hilfe reinstellen.

ES IST EIN BASIC DIALEKT, damit ist also die genaue Anwendung für eine grobe Vorstellung weniger wichtig. Und die grundlegenden Unterschiede kann man an den oberen Beispielen sehen. Und wen es weiter interessiert, kann die PureBasic-Hilfe sich online anschauen.

Leute, die sich mit Programmierung auskennen, können nach bestimmten Dingen in der Hilfe suchen. Kinder, die noch nie programmiert haben, denen reicht es, wenn es blinkt und Spiele mit programmierbar sind.

:roll:
http://scratch.wik.is/About_Scratch/Deutsch

Das Problem ist immer das selbe
http://www.purebasic.fr/german/viewtopic.php?t=13269

Wie wird PureBasic attraktiver? Marketing :o
Ohne Pearl wüsste ich bestimmt heute noch nicht, dass es PureBasic gibt.

Verfasst: 13.02.2008 14:16
von RSBasic
Xaby hat geschrieben:Ohne Pearl wüsste ich bestimmt heute noch nicht, dass es PureBasic gibt.
Ohne Media Markt wüsste ich bestimmt heute noch nicht, dass es PureBasic gibt.
:mrgreen:

Verfasst: 13.02.2008 14:40
von ZeHa
Ohne Visual Basic (und der Titelzeile "Visual Basic Compiler" auf purebasic.com) wüßte ich bestimmt heute noch nicht, daß es PureBasic gibt ;)

Verfasst: 13.02.2008 15:01
von Kiffi
<OT>
ZeHa hat geschrieben:Ohne Visual Basic (und der Titelzeile "Visual Basic Compiler" auf purebasic.com) wüßte ich bestimmt heute noch nicht, daß es PureBasic gibt ;)
endlich mal ein positives Beispiel dafür, was irreführende Werbung bewirken kann ;-)

</OT>

Grüße ... Kiffi

Verfasst: 13.02.2008 15:33
von Xaby
Ja, aber wie man sieht ...

wenn jemand nach Basic sucht oder nach einer Programmiersprache, oder nach Spieleentwicklung oder bei YouTube wie man einfach programmiert ... etc. ...

findet man das nicht wirklich.

Weiß auch nicht, ob es sinnvoll ist, so viel Kraft in einen Wikipediaartikel zu investieren, wenn man eher auf Spielebörsen anfangen sollte ran zu schreiben:

MADE WITH PureBasic :mrgreen:

Denn auf Wiki kommt man ja erst, wenn man das Wort PureBasic suchst.

und da ist das Hauptproblem. Wer schon mal das Wort PureBasic kennt, der wird auch auf die PureBasic-Webseite kommen mit oder ohne Wikiartikel.
Weiß ja auch, was C# ist, obwohl ich das nicht bei Wiki nachgeschlagen habe. Hier muss es auftauchen, ganz klar
http://de.wikipedia.org/wiki/Kategorie: ... ache_Basic

Bin auf das hier gestoßen:
http://www.inspirant.de/BasicLinks.htm#Cross
und dann hab ich das gesehen:
http://www.inspirant.de/index.php?ref=p ... free&lg=de

Auch ne coole Seite
http://www.robsite.de/links.php

Wenn man bei Google nach Basic sucht,
stößt man immer wieder auf Visual Basic und BlitzBasic

Bild

Schicke Frau bei Amazon:
http://www.amazon.de/Pure-Basic-3D-Game ... 853&sr=1-1

Aber sucht man nach Büchern, scheitert man und stellt fest, dass VisualBasic vorherrschend ist.

Vielleicht sollten wir uns nicht nur über einen Wiki-Artikel Gedanken machen, sondern um Werbung für PureBasic an sich.

Games Developer :mrgreen:

Als ich PureBasic 3.3 von Topos hatte, dachte ich:
So eine Scheiße, doch selbst programmieren.

Klar finde ich es gut, dass ich damit Fensteranwendungen schreiben kann, aber für Leute, die sich mit Programmierung nicht auskennen oder auskennen wollen fehlen einfach noch ein paar schöne Tools.

Ich würde ja an dieser Stelle ein Projekt vorschlagen, was eine Kombination aus Hilfe, CodeArchive, VisualDesigner und GameMaker ist.

Damit Leute, die das zum ersten mal machen auch schnelle Erfolge habe.

Und wenn sie mehr machen wollen, das auch machen können.

Ein PureBasic-Buch wäre zwar nicht zwingend notwendig, aber wenn ich zum Beispiel in einem Zeitungskiosk bin, dann schaue ich nach hübschen Frauen, DVD-Filmen, Spiele, und vielleicht auch PHP/SQL ...

Also, wenn ich einfach mal so in die Runde schaue, ohne was bestimmtes zu wollen. Und PureBasic ist mir da noch nie aufgefallen.

Wenn in jeder dritten SpieleMagazinZeitschrift groß drauf stehen würde:

Mit PureBasic als Testversion Gratis (gleiche wie Downloadversion) und 5 TopTitel aus dem ShowCase ...

dann würde man was von PureBasic hören.

Wenn man Kinder nicht erreicht oder Jugendliche, dann hat man verloren.
Denn Eltern haben sich auf ihrer Sprache festgefahren und werden höchstens ihren Kindern wieder von ihrer Sprache erzählen.

Vielleicht sollte PureBasic auch für Eltern mit Kinder attraktiver werden ...

Schaut euch mal das Scratchboard an:
http://scratch.mit.edu/projects/nirwe/91064

Da heult kein Kind rum: Was ist eine Variable, was ist eine Schleife, wie mache ich eine Bedingung ...
und es muss sich auch kein Kind anhören: Lern erstmal programmieren.

Vielleicht sollte man PureBasic als KIDs Version herausbringen.

Weniger Text, wenig Englisch in den Befehlen. Auf Fensteranwendungen erstmal nicht weiter eingehen. Sondern Grundlegende Codeteile zur Verfügung stellen, dass die Leute gleich loslegen können.

Immer mit dem Hinweis: Wünsche ich mir zum Geburtstag

8)
>>>>>>>>>>>>>> Kein PureBasic für KIDs :roll:

http://www.amazon.de/s/ref=nb_ss_b?__mk ... .y=0&Go=Go

Bild

Nicht geizig sein, DEMOs raushauen :D