NXC RPG
角色
一個角色具有許多屬性,每一個角色的不同就在於這些屬性的參數變化,例如男性角色和女性角色的區別就在於「性別」這一個屬性不同而不一樣,所以我們可以建立一個角色模版,這個模版可以具有血量、魔力、技能等屬性…之後便可以使用這個模版調整參數來建立一個新角色。
本次使用的程式語法
程式開始與結束
開始 ( 類似Robolab的綠燈,NXT-G的開頭 ):task name(){
結束 ( 類似Robolab的紅燈,NXT-G的結尾 ):}
l task 表示程式任務
l name 是分工的名稱,主程式必須使用main
l { 表示指令的開始 ( 所有的流程指令適用 )
l } 表示指令的結束 ( 所有的流程指令適用 )
範例
task main()
{
wait(1000);
}
主程式執行一秒後 [ wait(1000) ] 結束
結構
struct 名稱{};
「結構」可以建立使用者想要建立的東西的模版,在struct的大括號中建立我們想設計屬性。
名稱:這個結構的名稱
範例
struct person
{
string name;
int age;
};
task main()
{
person new;
new.name = "New person";
new.age = 10;
}
設定struct person{}為一個「人(person)」的結構,具有「名字(name)」、「年齡(age)」,在主程式中建立一個人名字 "New person"、年齡10歲
時間等待
Wait(毫秒)
等待 「設定的」「毫秒」後才執行下一個指令
螢幕顯示
TextOut(x座標, y座標, 文字, 顯示模示)
「文字顯示」可以讓使用者顯示文字在螢幕上的任意位置。
x座標:螢幕上的x座標
y座標:螢幕上的y座標
文字:想要顯示的文字 "Text"
顯示模式:預設為一般模式,可以不輸入
範例
task main()
{
TextOut(0, 0, "Hello");
wait(1000);
}
在螢幕上左下角顯示 "Hello" 文字一秒
NumOut(x座標, y座標, 數字, 顯示模示)
「數值顯示」可以讓使用者顯示數值在螢幕上的任意位置。
x座標:螢幕上的x座標
y座標:螢幕上的y座標
文字:想要顯示的數值 "Number"
顯示模式:預設為一般模式,可以不輸入
task main()
{
int n = 100;
NumOut(0, 0, n);
wait(1000);
}
在螢幕上左下角顯示n所代表的數字 (100) 一秒
迴圈
while(條件){}
當條件成立時執行迴圈,所以將「條件」打 "ture" 即會形成一個永久迴圈
範例程式
建立一個叫New、攻擊力20、防禦力20、血量100及魔力100的角色,並且每0.2秒更新一次,每0.2便加1滴血
struct person
{
string name;
int atk;
int def;
int hp;
int mp;
};
task main()
{
person character;
character.name = "New";
character.atk = 20;
character.def = 20;
character.hp = 100;
character.mp = 100;
while(true)
{
TextOut(0, 0, character.name);
NumOut(0,12,character atk);
NumOut(0,24,character.def);
NumOut(0,36,character.hp);
NumOut(0,48,character.mp);
wait(200);
character.hp = character.hp + 1;
}
}