Skip to content

Instantly share code, notes, and snippets.

@synctam
Last active October 1, 2022 09:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save synctam/376f72337d0c1533fd40531e5ad3b248 to your computer and use it in GitHub Desktop.
Save synctam/376f72337d0c1533fd40531e5ad3b248 to your computer and use it in GitHub Desktop.
AppGameKit
Basicの基本の基
Basic言語では、大文字小文字は区別されない。
Print( 1 )
pRiNt( 1 )
どちらも 1 が表示される。
変数の大文字小文字は区別されない。
a = 1
Print( a )
Print( A )
どちらも 1 が表示される。
変数の型
整数型変数:英字で始まる英数字 例: a
実数型変数:英字で始まる英数字の最後に # を付ける 例: a#
文字列型変数:英字で始まる英数字の最後に $ を付ける例: a$
変数の宣言
変数を宣言した場合は変数の方を識別する記号は不要。
a as string
b as float
c as integer
変数宣言の強制
変数を使用する前に変数を強制的に宣言する。
#option_explicit
配列
配列はインデックス 0 から始まる。
配列の宣言(古い形式)
要素数5の整数型の配列
DIM a[5]
DIM a[5] as integer
配列の初期化
DIM a[5] as integer = [2,1,5,4,3]
配列の宣言(バージョン2)
バージョン2配列は DIM は不要。
配列の大きさは、要素数ではなく要素のインデックスの最大値を指定する。
空の配列の宣言
myArray as integer[]
これは要素数6の配列の宣言
myArray as integer[5]
この例だと要素は [0,1,2,3,4,5] となる。
配列のサイズ変更
myArray.length = 10
配列の要素の挿入と削除
配列の末尾に値 3 を挿入する。
myArray.insert(3)
配列の末尾の要素を削除する。
myArray.remove()
配列の要素の並べ替え
配列の要素を昇順で並べ替える。
myArray.sort()
配列の検索
注意:検索はソート済みの配列のみ有効。
myArray as integer[5] = [3,4,1,5,2,6]
myArray.sort() // ソート後の要素 [1,2,3,4,5,6]
index = myArray.find(4) // 値が4び要素を探す。結果要素のインデックス 3 を返す。見つからない場合は -1
ユーザー定義型の並べ替え
type myType
ID as integer
name as string
endtype
myArray as myType[3]
myArray[0].ID = 5 : myArray[0].name = "Bob"
myArray[1].ID = 4 : myArray[1].name = "Alice"
myArray[2].ID = 1 : myArray[2].name = "Carol"
myArray.sort()
ユーザー定義型の並べ替えは、最初に定義した型で並べ替えられる。上記の例では ID で並べ替えされる。
昇順を維持した値の挿入
.insertsorted(myItem)を使用すると、昇順を維持した形で値を挿入できる。
myItem as MyType
myItem.ID = 3
myItem.name = "Eve"
myArray.insertsorted(myItem)
配列の要素の交換
.swap(index1,index2) で配列の要素を入れ替える。
myArray.swap(3,2)
配列の要素の逆転
.reverse()で、配列の要素を逆にできる。
myArray..reverse()
ユーザー定義型
構造体を宣言できる。
Type Mob
Name as string
Level as integer
HP as float
EndType
ユーザー定義型の定義と使い方
Player as Mob
Player.Name = "synctam"
Player.Level = 1
Player.HP = 100
関数
注意:関数の引数は最大 9 個まで。
FUNCTION halfvalue(value)
value=value/2
ENDFUNCTION value
コメント
指定した箇所から行末までがコメントと認識される。
REM a=1
` a=1
// a=1
ブロックコメント
複数行をコメントアウトする場合
/*
a=1
*/
REMSTART
a=1
REMEND
数値の基数
バイナリ:数値の戦闘に % を付ける
%1010
8進数:数値の戦闘に 0c を付ける
0c12
16進数:数値の戦闘に 0x を付ける
0x14
レンダリング エンジンの選択
・OpenGL を使用する
#renderer "Basic"
・Vulkan を使用する
#renderer "Advanced"
・可能であれば Vulkan を使用し、不可能な場合は OpenGL を使用する
#renderer "Prefer Best"
標準関数
数値を文字列に変換
Str(integer or float)
数値を文字列に変換(小数点以下の桁数を指定)
少数以下第二位まで表示の場合
Str(float, 2)
参考資料
「Data Types, Variables and Arrays - AGK Help」
https://www.appgamekit.com/documentation/principles/1_datatypes.htm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment