// 製作:y.tack version 0.03 ; // enemy のstates eはenemyのeです // 値は1から3にしたかったので4つ確保してます sdim e_name,32,4 e_name="","スライム","こうもり","さそり" dim e_mhp,4 e_mhp=0,20,40,80 dim e_hp,4 e_hp=0,20,40,80 dim e_at,4 e_at=0,10,20,40 // Player のstates pはPlayer のpです // 値は1から3にしたかったので4つ確保してます sdim p_name,32,4 p_name="","TACK","RAG","LIST" dim p_mhp,4 p_mhp=0,30,60,120 dim p_hp,4 p_hp=0,30,60,120 dim p_at,4 p_at=0,10,20,40 ; goto *@f // enemy のgetter 文字列で取得したいのでstr()使ってます #defcfunc get_e_name int number return e_name.number #defcfunc get_e_hp int number return str(e_hp.number) #defcfunc get_e_at int number return str(e_at.number) // enemyのHPを減らす処理 #deffunc sub_e_hp int number,int value e_hp.number-=value return ; // Player のgetter 文字列で取得したいのでstr()使ってます #defcfunc get_p_name int number return p_name.number #defcfunc get_p_hp int number return str(p_hp.number) #defcfunc get_p_at int number return str(p_at.number) // PlayerのHPを減らす処理 #deffunc sub_p_hp int number,int value p_hp.number-=value return ; // HP初期化 #deffunc e_hp_reset int number e_hp.number=e_mhp.number return #deffunc p_hp_reset int number p_hp.number=p_mhp.number return ; // 戦闘の前に表示する文字列 #defcfunc fight_begin int p_number,int e_number return get_p_name(p_number)+" VS "+get_e_name(e_number) ; // Playerの攻撃 // get_p_at()は文字列で返ってくるのでintにcastしてます #defcfunc p_attack int p_number,int e_number sub_e_hp e_number , int(get_p_at(p_number)) s =get_p_name(p_number)+"の攻撃!"+get_e_name(e_number)+" は " s+=get_p_at(p_number)+" のダメージを受けた" return s // enemyの攻撃 // get_e_at()は文字列で返ってくるのでintにcastしてます #defcfunc e_attack int p_number,int e_number sub_p_hp p_number , int(get_e_at(e_number)) s =get_e_name(e_number)+"の攻撃!"+get_p_name(p_number)+" は " s+=get_e_at(e_number)+" のダメージを受けた" return s ; // Playerの勝利 #defcfunc p_win int p_number return get_p_name(p_number)+" の勝利!" // enemyの勝利 #defcfunc e_win int e_number return get_e_name(e_number)+" の勝利!" ; // HPの表示 #defcfunc show_hp int p_number,int e_number s =get_p_name(p_number)+" : HP "+get_p_hp(p_number)+" " s+=get_e_name(e_number)+" : HP "+get_e_hp(e_number) return s *@ sel_p=1 sel_e=1 // Playerキャラ選択 *scene_A cls 0 mes "プレイヤーキャラクターを選んで下さい" button get_p_name(1),*sel_p_A button get_p_name(2),*sel_p_B button get_p_name(3),*sel_p_C stop *sel_p_A sel_p=1 goto *scene_B *sel_p_B sel_p=2 goto *scene_B *sel_p_C sel_p=3 goto *scene_B // 敵キャラ選択 *scene_B cls 0 mes "対戦相手を選んで下さい" button get_e_name(1),*sel_e_A button get_e_name(2),*sel_e_B button get_e_name(3),*sel_e_C stop *sel_e_A sel_e=1 goto *scene_C *sel_e_B sel_e=2 goto *scene_C *sel_e_C sel_e=3 goto *scene_C // 戦闘前の文字列の表示 *scene_C cls 0 mes fight_begin(sel_p,sel_e) button "NEXT",*scene_p_AT stop // Playerの攻撃 *scene_p_AT cls 0 mes show_hp(sel_p,sel_e) mes p_attack(sel_p,sel_e) if int(get_e_hp(sel_e))>0{ button "NEXT",*scene_e_AT }else{ button "NEXT",*scene_p_win } stop // enemyの攻撃 *scene_e_AT cls 0 mes show_hp(sel_p,sel_e) mes e_attack(sel_p,sel_e) if int(get_p_hp(sel_p))>0{ button "NEXT",*scene_p_AT }else{ button "NEXT",*scene_e_win } stop // Playerの勝利 *scene_p_win cls 0 mes p_win(sel_p) p_hp_reset sel_p e_hp_reset sel_e button "NEXT",*scene_A stop // enemyの勝利 *scene_e_win cls 0 mes e_win(sel_e) p_hp_reset sel_p e_hp_reset sel_e button "NEXT",*scene_A stop
|
0 件のコメント:
コメントを投稿