Blitz_BASIC
Blitz BASICは、ニュージーランドを拠点とする開発者MarkSiblyによって考案された最初のBlitzコンパイラのプログラミング言語方言です。Blitz構文は、BASICから派生しているため、プログラミングを初めて学ぶ初心者でも簡単に理解できるように設計されています。言語はゲームプログラミング指向ですが、ほとんどの種類のアプリケーションで使用できるほど汎用的であることがよくBlitz言語は、新製品がリリースされるにつれて進化し、最近の化身は、オブジェクト指向やマルチスレッドなどのより高度なプログラミング手法のサポートを提供しています。これにより、言語は後年、BASICモニカを失いました。 BlitzBasic 開発者
ブリッツリサーチ。
で書かれている
C ++にコンパイルされていますが、言語はBASICの方言です
オペレーティング・システム
マイクロソフトウィンドウズ
プラットホーム
マイクロソフトウィンドウズ タイプ
ゲームクリエイションシステム
ライセンス
zlibライセンス
Webサイト
www .blitzbasic .com
コンテンツ
1 歴史
1.1 BlitzBasic 1.2 BlitzPlus 1.3 BlitzMax 1.4 Blitz3DSDK 1.5 Max3Dモジュール 1.6 オープンソースリリース
2 例
3 BlitzBasicを使用して作成されたソフトウェア
4 遺産
5 参考文献
6 外部リンク
歴史
Blitz言語の最初のイテレーションは、Amigaプラットフォーム用に作成され、オーストラリアの企業Memory and StorageTechnologyによって公開されました。ニュージーランドに戻ると、Blitz BASIC 2は数年後(このプレスリリースによると1993年頃)にAcid Software(地元のAmigaゲームパブリッシャー)によって公開されました。それ以来、Blitzコンパイラはいくつかのプラットフォームでリリースされています。商業的に実行可能なプラットフォームとしてのAmigaの終焉に続いて、Blitz BASIC2ソースコードがAmigaコミュニティにリリースされました。開発はAmiBlitzという名前で今日まで続いています。
BlitzBasic
Idigiconは、2000年10月にMicrosoftWindows用のBlitzBasicを公開しました。この言語には、基本的な2Dグラフィックスおよびオーディオ操作を実行するための組み込みAPIが含まれていました。Blitz3Dのリリース後、BlitzBasicはしばしば同義語としてBlitz2Dと呼ばれます。
「自由」のバージョンの限られた範囲のような人気のある英国のコンピュータ雑誌に配布されたときBlitzBasicの認識は増加したPCのフォーマット。これにより、開発者と発行者の間で法的な論争が発生し、最終的には友好的に解決されました。
BlitzPlus
2003年2月、Blitz ResearchLtd。はMicrosoftWindows用のBlitzPlusもリリースしました。Blitz3Dの3Dエンジンはありませんでしたが、ネイティブGUIを作成するための限定的なMicrosoft Windowsコントロールサポートを実装することにより、言語の2D側に新しい機能をもたらしました。2Dエンジンの下位互換性も拡張され、コンパイルされたBlitzPlusゲームとアプリケーションをDirectX1しかないシステムで実行できるようになりました。
BlitzMax BlitzMax パラダイム
命令型、オブジェクト指向、モジュール式、反射型
によって設計された
シブリーマーク
デベロッパー
ブリッツリサーチ株式会社
初登場 2004年 最終リリース
1.51 / 2015年9月21日 ; 6年前 (2015-09-21)
規律の入力
静的、弱い、強い(オプション) OS Microsoft Windows、Mac OS X、Linux
Webサイト
www .blitzbasic .com
方言
公式BlitzMax、bmx-ng
に影響を受けた BlitzBasic 影響を受ける 猿 最初のBlitzMaxコンパイラは、Mac OSX用に2004年12月にリリースされました。これにより、* nixプラットフォームでコンパイルできる最初のBlitz方言になりました。その後、Microsoft WindowsおよびLinux用のコンパイラが2005年5月にリリースされました。BlitzMaxは、型システムをオブジェクト指向の概念を含むように拡張し、OpenGLにより適したグラフィックAPIを変更することにより、言語構造の最大の変更をBlitz製品の最新の範囲にもたらしました。BlitzMaxは、UCS-2を使用して内部的に文字列を表す最初のBlitz言語でもあり、ASCII以外の文字で構成される文字列リテラルのネイティブサポートを可能にしました。
BlitzMaxのプラットフォームに依存しないコマンドセットを使用すると、開発者は複数のプラットフォームでソースコードをコンパイルして実行できます。ただし、公式のコンパイラとビルドチェーンは、実行しているプラットフォームのバイナリのみを生成します。非公式に、ユーザーはLinuxとMac OSXをWindowsプラットフォームにクロスコンパイルすることができました。
BlitzMaxは、Blitz言語の最初のモジュラーバージョンでもあり、コマンドセットの拡張性を向上させます。さらに、コンパイラに付属しているすべての標準モジュールはオープンソースであるため、必要に応じてプログラマが調整および再コンパイルできます。公式のBlitzMaxクロスプラットフォーム GUIモジュール(MaxGUIとして知られています)を使用すると、開発者はLinux(FLTK)、Mac(Cocoa)、およびWindows上のアプリケーション用のGUIインターフェイスを作成できます。ユーザーが提供するさまざまなモジュールは、wxWidgets、Cairo、Fontconfigなどのライブラリや、選択したデータベースモジュールをラップすることで、言語の使用を拡張します。サードパーティの3Dモジュール、つまりMiniB3D もこれは、BlitzMaxでサポートされている3つのプラットフォームすべてでコンパイルして使用できるオープンソースのOpenGLエンジンです。
2007年10月、反射モジュールの追加を含むBlitzMax1.26がリリースされました。 BlitzMax 1.32には、新しいスレッドモジュールとLuaスクリプトモジュールが付属しており、ほとんどの標準ライブラリ関数が更新されて、Unicodeに対応しています。
Blitz3DSDK
Blitz3D SDKは、Blitz3Dのエンジンに基づく3Dグラフィックエンジンです。C ++、C#、BlitzMax、およびPureBasicで使用するために販売されましたが、互換性のある呼び出し規約に従う他の言語でも使用できます。
Max3Dモジュール
2008年に、Max3D(C ++ベースのクロスプラットフォーム3Dエンジン)のソースコードがBSDライセンスの下でリリースされました。このエンジンはOpenGLに焦点を合わせていましたが、他のグラフィックスドライバー(DirectXなど)用の抽象的なバックエンドを備えており、Assimp、Boost、ODEなどのいくつかのオープンソースライブラリを利用していました。
Max3DのBlitzコミュニティでの興奮は、Blitz3Dの後継者として待望されていましたが、ソースコードがリリースされた直後に関心とサポートが失われ、最終的に開発が停止しました。BlitzResearchがプロジェクトを再び取り上げるという兆候はありません。
オープンソースリリース
BlitzPlusは、GitHubのzlibライセンスの下で2014年4月28日にオープンソースとしてリリースされました。 Blitz3Dはその後すぐに続き、2014年8月3日にオープンソースとしてリリースされました。 BlitzMaxは後に2015年9月21日にオープンソースとしてリリースされました。
例
Hello Worldプログラムの画面に印刷し、待機キーが押されるまで、その後、終了その:
「 HelloWorld 」を印刷します; 画面に印刷します。WaitKey ()
; キーが押されるまで実行を一時停止します。終了
; プログラムを終了します。
3つの主要なデータ型(文字列、整数、浮動小数点数)を使用して変数の宣言を示し、それらを画面に出力するプログラム:
名前$= “ジョン” ; 文字列変数($)を作成しますage= 36
; 整数変数(サフィックスなし)を作成します温度# = 27.3
; 浮動小数点変数を作成します(#)print “私の名前は” + name $ + “で、私は” + 年齢 + “歳です。” print “今日、気温は” + 気温# + “度”です。ウェイトキー()
; キーが押されるまで実行を一時停止します。終了
; プログラムを終了します。
現在の時刻を2進数および10進数の形式で表示するウィンドウアプリケーションを作成するプログラム。BlitzMaxおよびBlitzBasicバージョンについては、以下を参照して
BlitzBasicバージョン BlitzMaxバージョン
AppTitle “バイナリ時計” グラフィックス 150 、80 、16 、3 ;メインループが 実行さ れることを意味するタイマーを作成します; 1秒に2回実行されますsecondtimer = CreateTimer (2 ) ; ########################### ########################## 繰り返し ; MAIN LOOP 時間 = 左(CurrentTimeを$ ()、2 ) 分 = ミッド(CurrentTimeを$ ()、4 、2 ) セカンド = 右(CurrentTimeを$ ()、2 ) If Hour > = 12 Then PM = 1 If Hour > 12 Then Hour = Hour – 12 If Hour = 0 Then Hour = 12 ;これを行う必要がそうしないと、PMドットが ;時計が真夜中を過ぎたらそのままに なります!Cls 色(0 、255 、0 ) ; PM部分のテキストの緑を作る 場合は PM = 1は、 次に テキスト 5 、5 、”PM”を 、残りの白にテキストの色のバックを設定し た色(255 、255 、255 ) 用 ビット= 0 に 5 XPOS = 20 * (6 -ビット) binaryMask = 2 ^ビット ; do hours If (bit < 4 ) If (hour And binaryMask ) Text xpos 、5 、"1" Else Text xpos 、5 、"0" EndIf EndIf ;分を実行する If (minute And binaryMask ) Text xpos 、25 、"1" Else Text xpos 、25 、"0" EndIf ;秒を実行する If (second And binaryMask ) Text xpos 、45 、"1" Else Text xpos 、45 、"0" EndIf Next ;テキストは小数点時間については、Red作る 色(255 、0 、0 ) テキスト 5 、65 、"進:" + CurrentTimeを$ () ;残りの白にテキストバックを設定する 色(255 、255 、255 ) ; 0.5秒待機します WaitTimer (secondTimer ) Forever ; ###################################### ###############
AppTitle = “バイナリ時計” グラフィックス 145 、85 secondtimer = CreateTimer (2 ) 繰り返し
時間 = CurrentTime () 。ToInt ()
分 = CurrentTime () 。ToInt ()
Second = CurrentTime () 。ToInt ()
If Hour > = 12 Then PM = 1
If Hour > 12 Then Hour = Hour – 12
If Hour = 0 Then Hour = 12
‘これを行う必要がそうしないと、PMドットが
‘時計が真夜中を過ぎたら左に上がります! Cls SETCOLOR (0 、255 、0 ) ‘PM部分のテキスト緑を作る
場合は PM = 1 その後 のDrawText “PM” 、5 、5は
残りのために白にテキストの色のバックを設定する’
SETCOLOR (255 、255 、255 )
用 ビット= 0 まで 6
XPOS = 20 * (6 -ビット)
binaryMask = 2 ^ビット
「行う時間
の場合 (ビット< 4 )
の場合 (時間 & binaryMask )
のDrawText “1” 、XPOS 、5
エルス
のDrawText “0” 、XPOS 、5EndIf EndIf
‘分を実行する
If (minute & binaryMask )
DrawText “1” 、 xpos 、25 Else DrawText “0” 、 xpos 、25 EndIf ‘秒を実行する
If (second & binaryMask )
DrawText “1” 、xpos 、45 Else DrawText “0” 、xpos 、45EndIf Next
‘小数の時間のために赤い文字作る
SETCOLOR (255 、0 、0 )
のDrawText “10進数:” + CurrentTimeを()、5は、65には、
‘休息のために白にテキストバックセット
SETCOLOR (255 、255 、255 ) フリップ
‘0.5秒待機します
WaitTimer (secondTimer ) If KeyHit (KEY_ESCAPE ) Then Exit Forever
BlitzBasicを使用して作成されたソフトウェア
エシャロン:ブックI -BlitzMax
エシャロン:ブックII -BlitzMax
フェアウェイソリティア-BlitzMax
GridWars -BlitzMax
TVTower(MadTVのオープンソースクローン) -BlitzMax
カモノハシ-Blitz2D(Macポート、BlitzMax)
SCP –封じ込め違反-Blitz3D
ワーム-元々はTotalWormageというタイトルで、商用リリース前にAmigaのBlitzBasicで開発されました。
遺産
2011年、BRLはMonkeyと呼ばれる新しいクロスプラットフォームプログラミング言語と、Mojoと呼ばれる最初の公式モジュールをリリースしました。Monkeyの構文はBlitzMaxと似ていますが、アセンブリコードに直接コンパイルする代わりに、Monkeyソースファイルを、選択した言語、フレームワーク、またはプラットフォーム(Windows、Mac OS X、iOS、Android、HTML5、Adobe Flashなど)のソースコードに直接変換します。。
モンキーXの開発は中止され、マーク・シブリーによる言語の更新バージョンであるモンキー2が採用されました。
参考文献
^ 「公式ブリッツウェブサイト」。www.blitzbasic.com。
^ 「BlitzBasic2」。AmigaReport 。
^ 「AmiBlitz」。
^ 「ブリッツニュース」。www.blitzbasic.com。
^ 「BlitzMaxアップデート1.26が利用可能になりました!」。www.blitzbasic.com。
^ WindowsおよびMacIntel用のBlitzMaxV132がリリースされました! アーカイブで2011年5月26ウェイバックマシンblitzbasic.comに
^ BlitzPlusソースコードがリリース されました2016年7月16日にサイモンによってウェイバックマシンでアーカイブされました(2014-04-29)
^ Blitz3Dオープンソース! アーカイブで2016年9月6ウェイバックマシン(2014)によるBlitz3Dフォーラムに
^ Blitz3Dが無料でオープンソースになりました! アーカイブで2016年7月16ウェイバックマシンsimonhで(2014年8月3日)
^ GitHubのblitz3d
^ GitHubのblitzmax
^ IGN。ワームズブラストプレビュー は、2007年2月18日にign.comのウェイバックマシンでアーカイブされました。
外部リンク
電撃研究サブサイトにitch.io(BlitzPlus、電撃3D、モンキーX、モンキー2)
モンキーXサブサイト(オープンソース)
モンキー2サブサイト
ブリッツ・研究(マークSibly)上のGitHub(2017 MSVC-CE用BlitzPlus、BlitzMax、Blitz3D、猿、BlitzMax、Blitz3D)
Blitz ResearchのWebサイト(2017年6月3日アーカイブ)
モンキーXのウェブサイト(2017年7月15日アーカイブ)