블릿츠 BASIC

Blitz BAS
Blitz Basic
BlitzBasicLogo.gif
개발자Blitz Research.
기입처C++로 컴파일되지만 언어는 BAS의 방언입니다.IC
운영 체제Microsoft Windows
플랫폼Microsoft Windows
이용가능기간:영어
유형게임 제작 시스템
면허증.zlib 라이선스
웹 사이트www.blitzbasic.com[데드링크]

Blitz BASIC은 뉴질랜드에 본사를 둔 개발자인 Mark Sably가 고안한 최초의 Blitz 컴파일러의 프로그래밍 언어 방언입니다.BASIC에서 파생된 Blitz 구문은 프로그래밍을 처음 배우는 초보자도 쉽게 습득할 수 있도록 설계되었습니다.이 언어들은 게임 프로그래밍을 지향하지만 대부분의 응용 프로그램에 사용할 수 있을 만큼 범용성이 높은 언어입니다.Blitz 언어는 신제품이 출시되면서 진화했으며, 최근에는 객체 지향멀티스레딩과 같은 고급 프로그래밍 기술을 지원하게 되었습니다.이것은 말년에 [1]언어들의 기본적 별명을 잃게 만들었다.

역사

Blitz 언어의 첫 번째 반복은 Amiga 플랫폼용으로 작성되었으며 호주 기업인 Memory and Storage Technology에 의해 발행되었습니다.뉴질랜드로 돌아온 Blitz BASIC 2는 몇 년 후 Acid Software(현지 Amiga 게임 퍼블리셔)에 의해 발매되었습니다(이 보도자료에 따르면 1993년경).그 후 Blitz 컴파일러는 여러 플랫폼에서 출시되었습니다.Amiga가 상업적으로 실행 가능한 플랫폼으로서 소멸한 후, Blitz BASIC 2 소스 코드가 Amiga 커뮤니티에 공개되었습니다.개발은 AmiBlitz라는 [3]이름으로 오늘날까지 계속되고 있습니다.

Blitz Basic

Idigicon은 2000년 10월에 BlitzBasic for Microsoft Windows를 발표했습니다.이 언어에는 기본적인 2D 그래픽과 오디오 작업을 수행하기 위한 내장 API가 포함되어 있습니다.Blitz3D 출시 이후 BlitzBasic은 동의어로 Blitz2D라고 불립니다.

Blitz Basic의 인지도는 PC Format 등 영국의 인기 있는 컴퓨터 잡지에 한정된 범위의 무료 버전이 배포되었을 때 높아졌습니다.이로 인해 개발자와 출판사 간의 법적 분쟁이 발생하였고, 결국 원만히 해결되었다.

블릿츠 플러스

2003년 2월 Blitz Research Ltd.는 Microsoft Windows용 Blitz Plus를 출시했습니다.Blitz3D의 3D 엔진은 없었지만 네이티브 GUI를 만들기 위한 제한된 Microsoft Windows 제어 지원을 구현함으로써 언어의 2D 측면에 새로운 기능을 도입했습니다.또한 2D 엔진의 하위 호환성도 확장되어 DirectX 1만 있는 시스템에서 컴파일된 BlitzPlus 게임과 애플리케이션을 실행할 수 있게 되었습니다.

블릿츠맥스

블릿츠맥스
패러다임명령형, 객체 지향형, 모듈형, 반사형
설계자마크 시블리
개발자Blitz Research Ltd.
처음 등장한2004
최종 릴리즈
1.51 / 2015년 9월 21일, 6년 전(2015-09-21)
타이핑 분야정적, 약한, 강한(옵션)
OSMicrosoft Windows, Mac OS X, Linux
웹 사이트www.blitzbasic.com
사투리
공식 Blitz Max, bmx-ng
영향을 받다
Blitz Basic
영향받은
몽키

최초의 BlitzMax 컴파일러는 2004년 12월에 Mac OS X용으로 출시되었습니다.이로써 *nix 플랫폼에서 컴파일할 수 있는 최초의 블릿츠 사투리가 되었습니다.Microsoft Windows 및 Linux용 컴파일러는 2005년 5월에 출시되었습니다.BlitzMax는 객체 지향 개념을 포함하도록 유형 시스템을 확장하고 OpenGL에 더 적합하도록 그래픽 API를 수정함으로써 Blitz 제품의 최신 제품군에 가장 큰 언어 구조를 변화시켰습니다.BlitzMax는 또한 Blitz 언어 중 최초로 내부적으로 UCS-2를 사용하여 문자열을 나타냄으로써 비 ASC로 구성된 문자열 리터럴을 네이티브하게 지원할 수 있게 되었습니다.II 문자

BlitzMax의 플랫폼에 구애받지 않는 명령어 세트를 통해 개발자는 여러 플랫폼에서 소스 코드를 컴파일 및 실행할 수 있습니다.그러나 공식 컴파일러와 빌드 체인은 실행 중인 플랫폼의 바이너리만 생성합니다.비공식적으로 사용자는 Linux와 Mac OS X를 Windows 플랫폼에 크로스 컴파일할 수 있었습니다.

BlitzMax는 Blitz 언어의 모듈러 버전이기도 하여 명령어 세트의 확장성이 향상되었습니다.또한 컴파일러와 함께 제공되는 모든 표준 모듈은 오픈 소스이므로 필요에 따라 프로그래머에 의해 조정 및 재컴파일할 수 있습니다.공식 BlitzMax 크로스 플랫폼 GUI 모듈(MaxGUI)을 사용하면 개발자는 Linux(FLTK), Mac(Cocoa) 및 Windows에서 애플리케이션용 GUI 인터페이스를 작성할 수 있습니다.사용자가 제공하는 다양한 모듈에서는 wxWidgets, Cairo Fontconfig 등의 라이브러리와 데이터베이스 모듈 선택으로 언어 사용을 확장합니다.서드파티제의 3D 모듈도 준비되어 있습니다.MiniB3D는[4] BlitzMax가 지원하는 3가지 플랫폼에서 컴파일하여 사용할 수 있는 오픈소스 OpenGL 엔진입니다.

2007년 10월에는 반사 [5]모듈을 추가한 BlitzMax 1.26이 출시되었습니다.BlitzMax 1.32는 새로운 스레드화 모듈과 Lua 스크립팅 모듈을 출하했으며 대부분의 표준 라이브러리 기능은 Unicode에 [6]적합하도록 업데이트되었습니다.

Blitz3D SDK

Blitz3D SDK는 Blitz3D 엔진을 기반으로 하는 3D 그래픽 엔진입니다.C++, C#, BlitzMax 및 PureBasic함께 사용하기 위해 마케팅되었지만 호환되는 호출 규칙을 따르는 다른 언어에서도 사용할 수 있습니다.

Max3D 모듈

2008년에는 C++ 기반의 크로스 플랫폼 3D 엔진인 Max3D의 소스 코드가 BSD 라이선스로 출시되었습니다.이 엔진은 OpenGL에 초점을 맞췄지만 다른 그래픽 드라이버(DirectX 등)를 위한 추상적인 백엔드를 가지고 있었으며 Assimp, BoostODE와 같은 여러 오픈 소스 라이브러리를 사용했습니다.

Blitz3D의 후속작인 Max3D의 Blitz 커뮤니티의 흥분에도 불구하고, 소스코드가 공개되자마자 관심과 지원은 사라졌고 결국 개발은 중단되었다.Blitz Research가 그 프로젝트를 다시 시작할 조짐은 없다.

오픈 소스 릴리즈

Blitz Plus는 2014년 4월 28일 GitHub[7][8]zlib 라이선스로 오픈 소스로 출시되었습니다.Blitz3D는 [9][10]그 직후 2014년 8월 3일 오픈 소스로 출시되었습니다.BlitzMax는 이후 2015년 [11]9월 21일에 오픈 소스로 출시되었습니다.

화면에 인쇄하고 키를 누를 때까지 기다린 후 종료하는 Hello World 프로그램:

인쇄 '헬로 월드'   ; 화면에 인쇄합니다. 대기 키()             ; 키를 누를 때까지 실행을 일시 중지합니다. 끝.                   ; 프로그램을 종료합니다. 

세 가지 주요 데이터 유형(스트링, 정수 플로트)을 사용하여 이를 화면에 인쇄하여 변수 선언을 보여주는 프로그램입니다.

이름.$        = "존'   ; 문자열 변수 생성($) 나이          = 36       ; 정수 변수 생성(서픽스 없음) 온도# = 27.3     ; 플로트 변수 생성(#)  인쇄물 "내 이름은" + 이름.$ + "그리고 나는" + 나이 + "나이" 인쇄물 "오늘 기온은" + 온도# + '도'  대기 키()               ; 키를 누를 때까지 실행을 일시 중지합니다. 끝.                     ; 프로그램을 종료합니다. 


현재 시간을 이진 및 십진 형식으로 표시하는 창 응용 프로그램을 만드는 프로그램입니다.BlitzMax 및 BlitzBasic 버전은 아래를 참조하십시오.

Blitz Basic 버전 Blitz Max 버전
 앱 타이틀 바이너리 시계  그래픽스 150,80,16,3   ;메인 루프가 다음과 같이 되는 타이머를 만듭니다.  1초에 2회 반복  세컨드 타이머=CreateTimer(생성 타이머)(2)  ;#####################################################  따라하다 ; 메인 루프   시간 = 왼쪽(현재 시각$(),2)   극히 작은 = 중앙의(현재 시각$(),4,2)   둘째 = 맞다(현재 시각$(),2)    한다면 시간 >= 12 그리고나서 PM = 1   한다면 시간 > 12 그리고나서 시간 = 시간 - 12   한다면 시간 = 0 그리고나서 시간 = 12    그렇지 않으면 PM 도트는   시계가 자정을 넘어서면 출발한다!   클로스    색.(0,255,0) ;PM 파트의 텍스트를 녹색으로 합니다.   한다면 PM = 1 그리고나서 본문 5,5,"PM"   나머지는 텍스트 색상을 흰색으로 다시 설정합니다.   색.(255,255,255)    위해서 조금=0 로. 5    xpos=20*(6-조금)     바이너리 마스크=2^조금     시간을 보내다    한다면 (조금< >4)     한다면 (한 시간 그리고. 바이너리 마스크)      본문 xpos,5,"1"     또 다른      본문 xpos,5,"0"     엔드 If    엔드 If     회의록을 작성하다    한다면 (극히 작은 그리고. 바이너리 마스크)     본문 xpos,25,"1"    또 다른     본문 xpos,25,"0"    엔드 If     초를 치다    한다면 (둘째 그리고. 바이너리 마스크)     본문 xpos,45,"1"    또 다른     본문 xpos,45,"0"    엔드 If   다음 분.    ;텍스트를 십진수로 빨간색으로 합니다.   색.(255,0,0)   본문 5,65,"10진수:" + 현재 시각$()   나머지는 텍스트를 흰색으로 되돌립니다.   색.(255,255,255)    1초만 기다리겠습니다.   WaitTimer(대기 타이머)(세컨드 타이머)  영원히.  ;##################################################### 
 앱 타이틀 = 바이너리 시계  그래픽스 145,85   세컨드 타이머 = CreateTimer(생성 타이머)(2)   따라하다          시간 = 현재 시각()[..2].토인트()          극히 작은 = 현재 시각()[4..6].토인트()          둘째 = 현재 시각()[6..].토인트()           한다면 시간 >= 12 그리고나서 PM = 1          한다면 시간 > 12 그리고나서 시간 = 시간 - 12          한다면 시간 = 0 그리고나서 시간 = 12           '그렇지 않으면 PM 닷은          시계가 자정을 넘으면 출발하라!          클로스           세트 컬러(0,255,0) PM 파트의 텍스트를 녹색으로 만듭니다.          한다면 PM  = 1 그리고나서 그리기 텍스트 "PM",5,5          나머지는 텍스트 색상을 흰색으로 다시 설정합니다.          세트 컬러(255,255,255)           위해서 조금=0 까지 6                  xpos=20*(6-조금)                  바이너리 마스크=2^조금                  몇 시간이고 하다                  한다면 (조금< >4)                          한다면 (한 시간 & 바이너리 마스크)                                  그리기 텍스트 "1",xpos,5                          또 다른                                  그리기 텍스트 "0",xpos,5                          엔드 If                  엔드 If                   회의록을 작성하다                  한다면 (극히 작은 & 바이너리 마스크)                          그리기 텍스트 "1", xpos,25                  또 다른                          그리기 텍스트 "0", xpos,25                  엔드 If                   '초'를 실행하다                  한다면 (둘째 & 바이너리 마스크)                          그리기 텍스트 "1",xpos,45                  또 다른                          그리기 텍스트 "0",xpos,45                  엔드 If          다음 분.           '10진수 시간 동안 텍스트를 빨간색으로 만듭니다'          세트 컬러(255,0,0)          그리기 텍스트 "10진수:" + 현재 시각(),5,65          '나머지 텍스트는 흰색으로 되돌립니다'          세트 컬러(255,255,255)     플립.           '1초만 기다리겠습니다'          WaitTimer(대기 타이머)(세컨드 타이머)    한다면 키히트(키_탈출) 그리고나서 퇴장  영원히. 

Blitz Basic을 사용하여 작성된 소프트웨어

레거시

2011년, BRL은 Monkey라는 새로운 크로스 플랫폼 프로그래밍 언어와 Mojo라는 첫 번째 공식 모듈을 출시했다.Monkey는 BlitzMax와 유사한 구문을 사용하지만 어셈블리 코드로 직접 컴파일하는 대신 Monkey 소스 파일을 선택한 언어, 프레임워크 또는 플랫폼의 소스 코드로 변환합니다.Windows, Mac OS X, iOS, Android, HTML5, Adobe Flash.

원숭이 X의 개발은 마크 시블리의 언어 업데이트 버전인 원숭이 2를 위해 중단되었다.

레퍼런스

  1. ^ "The Official Blitz Website". www.blitzbasic.com. Archived from the original on 3 June 2017.
  2. ^ "Blitz Basic 2". AmigaReport. Retrieved 30 April 2020.
  3. ^ "AmiBlitz". GitHub.
  4. ^ "Blitz News". www.blitzbasic.com. Archived from the original on 26 January 2008. Retrieved 12 December 2007.
  5. ^ "BlitzMax update 1.26 now available!". www.blitzbasic.com. Archived from the original on 26 May 2011. Retrieved 11 January 2011.
  6. ^ Windows 및 MacIntel용 BlitzMax V132가 등장했습니다!2011년 5월 26일 blitzbasic.com의 Wayback Machine에서 아카이브 완료
  7. ^ BlitzPlus 소스 코드 출시 2016년 7월 16일 wayback Machine by simonh(2014-04-29)
  8. ^ Blitz3D 오픈 소스!2016년 9월 6일 Blitz3D 포럼의 Wayback Machine에서 아카이브 완료(2014년)
  9. ^ Blitz3D 무료 오픈 소스!2016년 7월 16일 사이몬에 의해 웨이백 머신에 보관(2014-08-03)
  10. ^ Git Hub에서의 blitz3d
  11. ^ GitHub에서의 blitzmax
  12. ^ IGN. Worms Blast Preview 2007년 2월 18일 ign.com의 Wayback Machine에서 아카이브 완료

외부 링크