Skip to content

Commit

Permalink
Merge pull request #1 from kuina/develop
Browse files Browse the repository at this point in the history
marge update
  • Loading branch information
hisuie08 authored Apr 27, 2020
2 parents 349b0c5 + ecd26f9 commit 900c4f9
Show file tree
Hide file tree
Showing 280 changed files with 20,684 additions and 5,661 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,7 @@
*.vs
*.ps
*.opendb
*.iobj
*.ipdb
*.VC.db
/test/output/
10 changes: 9 additions & 1 deletion kuin.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "compiler", "src\compiler\compiler.vcxproj", "{386064E7-EF36-4A2C-BAA1-0085F547AE60}"
EndProject
Expand Down Expand Up @@ -30,6 +30,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_math", "src\lib_math\li
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_net", "src\lib_net\lib_net.vcxproj", "{804409A7-FFE4-4BBE-8FCF-6FE250BCDC56}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_draw2d", "src\lib_draw2d\lib_draw2d.vcxproj", "{9136E651-D063-49FD-AD03-4F21EC347407}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Expand Down Expand Up @@ -81,6 +83,12 @@ Global
{804409A7-FFE4-4BBE-8FCF-6FE250BCDC56}.Release_dbg|x64.Build.0 = Release_dbg|x64
{804409A7-FFE4-4BBE-8FCF-6FE250BCDC56}.Release_rls|x64.ActiveCfg = Release_rls|x64
{804409A7-FFE4-4BBE-8FCF-6FE250BCDC56}.Release_rls|x64.Build.0 = Release_rls|x64
{9136E651-D063-49FD-AD03-4F21EC347407}.Debug|x64.ActiveCfg = Debug|x64
{9136E651-D063-49FD-AD03-4F21EC347407}.Debug|x64.Build.0 = Debug|x64
{9136E651-D063-49FD-AD03-4F21EC347407}.Release_dbg|x64.ActiveCfg = Release_dbg|x64
{9136E651-D063-49FD-AD03-4F21EC347407}.Release_dbg|x64.Build.0 = Release_dbg|x64
{9136E651-D063-49FD-AD03-4F21EC347407}.Release_rls|x64.ActiveCfg = Release_rls|x64
{9136E651-D063-49FD-AD03-4F21EC347407}.Release_rls|x64.Build.0 = Release_rls|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
150 changes: 147 additions & 3 deletions package/readme.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
-------------------------------------------------------------------------------
Kuin Programming Language
v.2018.7.17
v.2019.9.17
(C) Kuina-chan
-------------------------------------------------------------------------------

Expand All @@ -11,8 +11,8 @@ v.2018.7.17
「くいなちゃん」が制作するプログラミング言語「Kuin」へようこそ。
Kuinは、簡単で高速な実用プログラミング言語です。

初めて触れる方は「チュートリアル( http://kuina.ch/kuin/a101 )」に沿ってお進
めください
初めて触れる方は「チュートリアル( http://kuina.ch/kuin/tutorial1 )」
沿ってお進めください

また、Kuinの詳細については「Kuinドキュメント( http://kuina.ch/kuin )」をご覧
ください。
Expand Down Expand Up @@ -43,6 +43,150 @@ v.2018.7.17
4. 変更履歴
-------------------------------------------------------------------------------

v.2019.9.17
- 3D描画の環境光の計算の不具合の修正
- 影を描画する機能と、フラットに描画する機能の追加
- 細かな機能追加
- [email protected][email protected]メソッドの追加

v.2019.8.17
- 画面を視覚的に作成できる機能の操作性の向上

v.2019.6.17
- 任意のファイルをdataフォルダ以下に自動コピーできる機能をエディタに追加
- sndライブラリで、ストリーミング再生時にもsetPosやgetPosが行えるように拡張
- 画面を視覚的に作成できる機能を大幅に改善
- スニペット機能を大幅に改善
- 細かな機能追加
- テキストの拡縮描画が行える[email protected]メソッドの追加
- draw@Blendに%exclusion(除外)の追加
- BGM再生に特化したbgmライブラリ、カーソル処理を行うcursorライブラリの
追加

v.2019.5.17
- 細かな機能追加
- エディタの操作感の改善
- テクスチャや画像のサイズを取得する[email protected][email protected]
[email protected][email protected]メソッドの追加
- cui@delimiter、cui@inputLetter、cui@inputInt、cui@inputFloat、
cui@inputChar、cui@inputStr、math@fibonacci関数の追加
- num@BigInt、num@BigFloat、num@Complexクラスの追加
- 細かな不具合の修正
- 「条件式?(null,参照型)」とすると、参照型の値がまれに壊れることがある
不具合の修正
- 継承元クラスにaliasを指定するとコンパイルエラーが発生する不具合の修正

v.2019.4.17
- 細かな機能追加
- エディタの操作感の改善
- エディタの関数のヒント表示を分かりやすく改善
- エディタのメニューに「最近使ったファイル」の追加
- 小さいバッファを作成して荒いドットで描画できるwnd@makeDrawReduced関数
の追加
- 細かな不具合の修正
- エディタで変更していないときに保存を促すメッセージが出ることがある
不具合の修正
- エディタのスクロールバー上でマウスカーソルがちらつく問題の修正
- :+演算子等の左辺値が2回評価される不具合の修正

v.2019.3.17
- 一部のビデオカードを使用した環境で、文字の描画が崩れる問題の修正
- 細かな機能追加
- draw@makePlane、draw@makeBox、draw@makeSphere関数の追加
- 3D描画の大幅な改善
- サンプルの修正

v.2019.2.17
- 細かな機能追加
- kuincl.exeに「-a」オプションが指定できない不具合の修正
- dbg@printで出力したテキストに合わせてスクロールバーを自動でスクロール
するように改善

v.2019.1.17
- ウインドウを視覚的に作成する機能の操作性の改善
- 2D描画を視覚的に作成する機能の追加
- file@Readerがリリースビルド時にresフォルダ内のファイルを読み込めない不具合
の修正
- 細かな機能追加
- [email protected][email protected][email protected]
[email protected]メソッドの追加
- [email protected]メソッドで、文字列に'\n'が含まれていたときに改行する
ように改善
- []char.toIntメソッドで、「0x」から始まる場合には16進数として変換する
ように改善

v.2018.12.17
- ウインドウを視覚的に作成する機能を全面的に作り直し
- エディタ上でファイルを保存することなくファイルの追加ができるように改善
- 互換性が失われる変更
- wnd@ListViewに画像を設定できるようにし、それに伴い引数等の変更

v.2018.11.17
- ローカルなデータベース(SQLite)が構築できるsqlライブラリの追加
- 高度な2D図形が描画できるdraw2dライブラリの追加
- 互換性が失われる変更
- dict.getの引数で存在の有無が取得できるように、引数を変更
- []char.toInt、[]char.toFloatの引数をdict.getと同じ形に変更
- 細かな機能追加
- file@setCurDir、file@getCurDir、lib@countUp、draw@capture、
file@moveDir、file@fullPath、zip@unzip関数の追加
- dict.delメソッドの追加
- 細かな不具合の修正
- カレントディレクトリがexeの位置に書き換わっていたのを、書き換えない
ように修正
- file@makeDir関数が相対パスでは正しく動作しない不具合の修正
- int型の^演算子で、結果がintの範囲内になるにもかかわらず
オーバーフローの例外が発生することがある不具合の修正
- [email protected][email protected]が正しく動作していなかった不具合の修正
- 配列.find、配列.findLastの第2引数に-1以外を指定したときの動作が
おかしくなっていた不具合の修正

v.2018.10.17
- ピクセル単位で色の読み書きができるwnd@DrawEditableクラスと、使い方を示す
0014_edit_pixelsサンプルの追加
- エディタの補完時に強制終了することがある不具合の修正
- エディタの補完時の挙動を改善
- 互換性が失われる変更
- [email protected]に'\n'を登録しない場合に、改行を区切り文字と
みなさないように変更
- 細かな機能追加
- 「#」「##」「$>」「$<」演算子が使えないクラスにこれらを使うと、
コンパイル時にエラーにするように改善
- デバック実行の終了後にエディタウインドウをアクティブにするように改善
- wnd@Drawクラスのクリアが手動で行える、draw@autoClear、draw@clear関数
の追加
- wnd@fileDialogDir、draw@circleLine、draw@poly、draw@polyLine関数の
追加
- draw@circle関数の描画結果にアンチエイリアスがかかるように改善
- 細かな不具合の修正
- 要素数が0のdict型のtoBinメソッドを呼ぶと例外が発生する不具合の修正
- resフォルダが存在しないときにkuincl.exeがログに「Failure.」を出力
する不具合の修正
- クラスの参照が巡回しているときにコンパイルに失敗することがある
不具合の修正

v.2018.9.17
- エディタの補完機能を改善
- エディタのカーソル表示が消えたり残像が残ったりする問題の改善
- エディタにブレークポイント機能を追加
- 例外が発生したときの位置を行単位で特定するように改善
- 細かな不具合の修正
- エディタで検索ウインドウを表示せずにF3を押すと終了する不具合の修正
- class内にclassを定義するとエディタが終了する不具合の修正
- リリースビルド時にresフォルダ内のxmlファイルがxml@makeXml関数で
読み込めない不具合の修正

v.2018.8.17
- エディタにすべてのドキュメントや選択範囲から検索や置換ができる機能を追加
- エディタに「res」フォルダを開く機能を追加
- エディタにファイルをドロップして開く機能を追加
- game@ライブラリの追加
- game@ライブラリに2Dマップチップと衝突判定を扱うクラスの追加
- game@ライブラリにシューティングゲームのステージやスタッフロールを扱う
クラスの追加
- 粒子を描画するdraw@Particleクラスの追加
- 2Dゲーム用のフリー素材を添付

v.2018.7.17
- よく使うコードを簡単に挿入できる、スニペット機能の追加
- 互換性が失われる変更
Expand Down
Binary file modified package/samples/0000_kuinvaders/res/title.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 18 additions & 7 deletions package/samples/0002_draw_2d/main.kn
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,14 @@ func main()
var fontMonospace: draw@Font :: draw@makeFont(null, 32, false, false, false, 40.0) {等幅フォントの生成}
do draw@clearColor(0xFF333333) {背景色の設定}
while(wnd@act())
do draw@line(100.0, 100.0, 200.0, 200.0, 0xFFFF3333) {線分}
do draw@rectLine(300.0, 100.0, 100.0, 100.0, 0xFF33FF33) {四角形の枠線}
do draw@rect(500.0, 100.0, 100.0, 100.0, 0xFF3333FF) {四角形}
do draw@circle(750.0, 150.0, 50.0, 50.0, 0xFFFFFF33) {円}
do draw@tri(950.0, 100.0, 900.0, 200.0, 1000.0, 200.0, 0xFFFF33FF) {三角形}
do draw2d@line(100.0, 100.0, 200.0, 200.0, 3.0, 0xFFFF3333) {線分}
do draw2d@rectLine(250.0, 100.0, 100.0, 100.0, 3.0, 0xFF33FF33) {四角形の枠線}
do draw2d@rect(400.0, 100.0, 100.0, 100.0, 0xFF3333FF) {四角形}
do draw2d@circle(600.0, 150.0, 50.0, 50.0, 0xFFFFFF33) {円}
do draw2d@circleLine(750.0, 150.0, 50.0, 50.0, 3.0, 0xFFFFFF33) {円}
do draw2d@tri(900.0, 100.0, 850.0, 200.0, 950.0, 200.0, 0xFFFF33FF) {三角形}
do draw@polyLine([1000.0, 1000.0, 1100.0, 1100.0, 1000.0], [100.0, 200.0, 100.0, 200.0, 100.0], [0xFF33FFFF, 0xFFFFFFFF, 0xFF33FFFF, 0xFFFFFFFF, 0xFF33FFFF]) {多角形}
do draw@poly([1150.0, 1150.0, 1200.0, 1200.0, 1250.0, 1250.0], [100.0, 200.0, 150.0, 150.0, 100.0, 200.0], [0xFF33FFFF, 0xFF33FFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF33FFFF, 0xFF33FFFF]) {多角形}
for i(0, 3)
do texKuin.draw(100.0 + i $ float * 200.0, 300.0, 0.0, 0.0, 150.0, 150.0, draw@white) {画像}
end for
Expand All @@ -26,8 +29,16 @@ func main()
do draw@blend(%alpha)
do texKuin.drawScale(100.0, 500.0, 300.0, 300.0, 0.0, 0.0, 150.0, 150.0, draw@white) {拡大}
do texKuin.drawRot(500.0, 575.0, 150.0, 150.0, 0.0, 0.0, 150.0, 150.0, 75.0, 75.0, -draw@cnt() $ float * lib@pi / 60.0, draw@white) {回転}
do fontProportional.draw(1100.0, 100.0, "Proportional", draw@white) {プロポーショナルフォント}
do fontMonospace.draw(1100.0, 200.0, "Monospace", draw@white) {等幅フォント}
var width: float
var height: float
do fontProportional.align(%center, %top)
do fontMonospace.align(%center, %top)
do fontProportional.calcSize(&width, &height, "Propor\ntional")
do fontProportional.draw(1100.0, 300.0, "Propor\ntional", draw@white) {プロポーショナルフォント}
do draw@rect(1100.0, 300.0, width, height, 0x7FFF0000)
do fontMonospace.calcSize(&width, &height, "Mono\nspace")
do fontMonospace.draw(1100.0, 400.0, "Mono\nspace", draw@white) {等幅フォント}
do draw@rect(1100.0, 400.0, width, height, 0x7FFF0000)
do draw@render(60)
end while
end func
2 changes: 1 addition & 1 deletion package/samples/0003_draw_3d/main.kn
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ func main()
var objSphere: draw@Obj :: draw@makeObj("res/sphere.knobj") {球モデルの読み込み}
var texSphere: draw@Tex :: draw@makeTex("res/sphere.png") {球モデル用のテクスチャの読み込み}
var objCone: draw@Obj :: draw@makeObj("res/cone.knobj") {コーンモデルの読み込み}
var texCone: draw@Tex :: draw@makeTexEvenArgb(1.0, 0.7, 0.2, 0.1)
var texCone: draw@Tex :: draw@makeTexEvenArgb(1.0, 0.35, 0.1, 0.05)
var texConeSpecular: draw@Tex :: draw@makeTexEvenArgb(2.0, 0.3, 0.3, 0.3)
do draw@clearColor(0xFF999999) {背景色の設定}
do draw@depth(true, true) {Zバッファの設定}
Expand Down
3 changes: 3 additions & 0 deletions package/samples/0003_draw_3d/main.knprop
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@
<configuration>
<icon></icon>
<env>wnd</env>
<snap>5</snap>
<zoom>1</zoom>
<related_files />
<resources />
</configuration>
Binary file modified package/samples/0003_draw_3d/res/board.knobj
Binary file not shown.
Binary file modified package/samples/0003_draw_3d/res/box.knobj
Binary file not shown.
Binary file modified package/samples/0003_draw_3d/res/cone.knobj
Binary file not shown.
Binary file modified package/samples/0003_draw_3d/res/sphere.knobj
Binary file not shown.
2 changes: 1 addition & 1 deletion package/samples/0009_file/main.kn
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func main()

; ファイルをカンマ区切りで読み込む
var reader: file@Reader :: file@makeReader(@fileName) {ファイルを読み込みモードで開く}
do reader.delimiter([',']) {区切り文字を指定}
do reader.delimiter(['\n', ',']) {区切り文字を指定}
while(!reader.term()) {ファイル終端までループ}
do str :~ reader.readStr() ~ "\n" {区切った文字列を読み込み}
end while
Expand Down
1 change: 1 addition & 0 deletions package/samples/0012_kuina_chan_model/main.kn
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ func main()
var texNormal: draw@Tex :: draw@makeTexArgb("res/normal.png") {くいなちゃんモデル用の法線マップテクスチャの読み込み}
do draw@clearColor(0xFFEEEEEE) {背景色の設定}
do draw@depth(true, true) {Zバッファの設定}
do draw@ambLight(0.9, 0.9, 1.0, 1.0, 0.9, 0.9) {環境光の設定}
do obj.pos(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0) {くいなちゃんモデルの位置設定}
var angle: float :: 0.0 {カメラの角度}
do draw@proj(lib@pi / 180.0 * 27.0, 16.0, 9.0, 0.1, 100.0) {プロジェクションの設定}
Expand Down
3 changes: 3 additions & 0 deletions package/samples/0012_kuina_chan_model/main.knprop
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@
<configuration>
<icon></icon>
<env>wnd</env>
<snap>5</snap>
<zoom>1</zoom>
<related_files />
<resources />
</configuration>
Binary file modified package/samples/0012_kuina_chan_model/res/kuina_chan.knobj
Binary file not shown.
71 changes: 71 additions & 0 deletions package/samples/0013_collision_and_particles/main.kn
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
; Collision and Particles Sample (C)Kuina-chan

func main()
class Item(game@Rect)
+var weight: float
end class

const itemNum: int :: 15
var wndMain: wnd@Wnd :: wnd@makeWnd(null, %aspect, 1600, 900, "Collision and Particles Sample") {ウインドウの生成}
var drawMain: wnd@Draw :: wnd@makeDraw(wndMain, 0, 0, 1600, 900, %scale, %scale, false) {ドローコントロールの生成}
var particle: draw@Particle :: draw@makeParticle()
do particle.lifespan :: 30
do particle.color2 :: 0x00FFFFFF
var texParticle: draw@Tex :: draw@makeTex("res/tex_particle.png")
var rects: []Item :: #[itemNum]Item
for i(0, itemNum - 1)
do rects[i] :: #Item
end for
do rects[0].x :: 0.0
do rects[0].y :: 450.0
do rects[0].width :: 50.0
do rects[0].height :: 900.0
do rects[1].x :: 800.0
do rects[1].y :: 0.0
do rects[1].width :: 1600.0
do rects[1].height :: 50.0
do rects[2].x :: 1600.0
do rects[2].y :: 450.0
do rects[2].width :: 50.0
do rects[2].height :: 900.0
do rects[3].x :: 800.0
do rects[3].y :: 900.0
do rects[3].width :: 1600.0
do rects[3].height :: 50.0
for i(0, 3)
do rects[i].weight :: inf
end for
for i(4, itemNum - 1)
do rects[i].x :: lib@rndFloat(100.0, 1500.0)
do rects[i].y :: lib@rndFloat(100.0, 800.0)
do rects[i].width :: 80.0
do rects[i].height :: 80.0
do rects[i].veloX :: lib@rndFloat(-10.0, 10.0)
do rects[i].veloY :: lib@rndFloat(-10.0, 10.0)
do rects[i].weight :: 1.0
end for

do draw@clearColor(0xFF333333) {背景色の設定}
while(wnd@act())
do draw@blend(%add)
do particle.draw2d(texParticle)
do draw@blend(%alpha)
for i(0, itemNum - 1)
do rects[i].move(0.0)
end for
for i(0, itemNum - 1)
for j(0, i - 1)
if(game@hitRectRect(rects[i], rects[j], rects[i].weight, rects[j].weight, 1.0, 0.0) <> %none)
for k(0, 19)
do particle.emit(rects[i].x, rects[i].y, 0.0, lib@rndFloat(-3.0, 3.0), lib@rndFloat(-3.0, 3.0), 0.0, 150.0, 0.5, 0.0, lib@rndFloat(-lib@pi / 30.0, lib@pi / 30.0))
end for
end if
end for
end for
for i(0, itemNum - 1)
do rects[i].update()
do draw@rect(rects[i].x - rects[i].width / 2.0, rects[i].y - rects[i].height / 2.0, rects[i].width, rects[i].height, 0xFF9999FF)
end for
do draw@render(60)
end while
end func
6 changes: 6 additions & 0 deletions package/samples/0013_collision_and_particles/main.knprop
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<icon></icon>
<env>wnd</env>
<resources />
</configuration>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 900c4f9

Please sign in to comment.