; THE 為政者 ; Program by Teikoku 2016 /cls /pchr,0,0,"PLEASE WAIT..." /setchr,"▼","000000111110111110011100011100001000001000000000" /let,@FF,"0123456789ABCDEF" /let,@KK,"-5-4-3-2-1 +1+2+3+4" /let,@CD,"ゾウゼイ 645 " /concat,@CD,"ゲンゼイ 465 " /concat,@CD,"リンジチョウゼイ 744 " /concat,@CD,"トクセイレイ 276 " /concat,@CD,"ワイロモクニン 545 " /concat,@CD,"ワイロテキハツ 475 " /concat,@CD,"コウキョウコウジ 535 " /concat,@CD,"センキョジッシ 385 " /concat,@CD,"チョウヘイ 654 " /concat,@CD,"ヘイシオンキュウ 457 " /concat,@CD,"ヘイビゾウキョウ 743 " /concat,@CD,"グンジヒサクゲン 348 " /concat,@CD,"エンゼツ 333 " /let,@SR,"リョウミンノ ボウドウ " /concat,@SR,"フシンニンアン カケツセイリツ " /concat,@SR,"グンブノ クーデター " ; タイトル画面 *GAMETITLE /cls /pchr,3,0,"*** THE イセイシャ ***" /pchr,3,2,"PRESS [A] TO START" /pchr,2,3,"Presented by Teikoku" /gosub,*KEYWAIT ; ゲーム準備 *GAMEINIT /let,@F1,3 /let,@F2,3 /let,@F3,3 /let,@SF,1 /let,@NK,1 ; 任期初め *NKHAJIME /cls ; 政策カード決定 /let,@SC,"" /repeat,3 /rnd,@R,0,12 /substr,@C,@FF,@R,1 /concat,@SC,@C /loop ; /btnoff /pchr,0,0,"ニンキ:"&@NK&"キメ" /pchr,11,0,"セイジョウフアンLv:"&@SF /pchr,0,1,"<リョウナイノ フマンド>" /pchr,0,2,"リョウミン:"&@F1&" カンリョウ:"&@F2&" グンブ:"&@F3 /pchr,0,3,"コンキノセイサクヲ キメテクダサイ" /pchr,23,3,"▼" /gosub,*KEYWAIT ; 政策選択画面 *SELSEISAKU0 /cls /pchr,0,0,"センタクカノウナ セイサク | <フマンド>" /repeat,3 /substr,@T,@SC,@CNT,1 /instr,@T2,@FF,@T /substr,@T3,@CD,@T2*16,12 /pchr,2,@CNT+1,@T3 /loop /pchr,14,1,"|リョウミン "&@F1&" " /pchr,14,2,"|カンリョウ "&@F2&" " /pchr,14,3,"|グンブ "&@F3&" " /let,@Y,0 ; 政策選択 *SELSEISAKU /btnon /pchr,0,@Y+1,"→" /gosub,*CDKOUKA /wait,100 /btngoto,*CSRUP,*CSRDN,//,//,//,*DECIDESK /goto,-2 ; カーソル上移動 *CSRUP /pchr,0,@Y+1," " /if,@Y,>,0,+2,// /let,@Y,3 /calc,@Y,@Y-1 /goto,*SELSEISAKU ; カーソル下移動 *CSRDN /pchr,0,@Y+1," " /if,@Y,<,2,+2,// /let,@Y,-1 /calc,@Y,@Y+1 /goto,*SELSEISAKU ; 政策決定 *DECIDESK /btnoff /cls /pchr,0,0,"セイサクジッコウニヨル フマンドノヘンカ" /pchr,3,1,"リョウミン: "&@F1&" → " /pchr,3,2,"カンリョウ: "&@F2&" → " /pchr,3,3,"グンブ: "&@F3&" → " /substr,@T,@SC,@Y,1 /instr,@T2,@FF,@T /substr,@FD,@CD,@T2*16+12,3 /gosub,*FUMANUD /pchr,14,1,@F1 /pchr,14,2,@F2 /pchr,14,3,@F3 /pchr,23,3,"▼" /gosub,*KEYWAIT ; 不満度爆発判定 /gosub,*FUMANBK /if,@OV,==,-1,+2,// /goto,*GAMEOVER ; 政情不安レベル上昇判定 *SFUPHANTEI /cls /if,@SF,>=,7,*SFLVMAX,// /let,@SJ,1 /if,@SF,<,2,+6,// /let,@SJ,2 /if,@SF,<,4,+4,// /let,@SJ,3 /if,@SF,<,6,+2,// /let,@SJ,4 ; /if,@NK,==,5,//,+2 /if,@SF,==,1,*SFUP,// /rnd,@R,1,6 /if,@R,<=,@SJ,*SFUP,*SFUPHANTEI2 ; 政情不安レベル上昇 *SFUP /calc,@SF,@SF+1 /pchr,3,1,"リョウナイニ セイジョウフアンガ" /pchr,3,2,"ヒロガリマシタ... Lv"&@SF&"デス" /goto,*SFUPHANTEI3 ; *SFUPHANTEI2 /pchr,3,1,"リョウナイハ ヒカクテキ" /pchr,3,2,"オチツイテイルヨウデス..." /goto,*SFUPHANTEI3 ; 政情不安レベル最大 *SFLVMAX /pchr,1,1,"リョウナイノ セイジョウフアンハ" /pchr,1,2,"キョクゲンマデ ヒロガッテイマス..." *SFUPHANTEI3 /pchr,23,3,"▼" /gosub,*KEYWAIT ; 不満度上昇先決定 *FUMANSELECT /cls /let,@T1,1 /let,@FD,"555" /pchr,0,0,"セイジョウフアンニヨル フマンドノヘンカ" /pchr,3,1,"リョウミン: "&@F1&" → " /pchr,3,2,"カンリョウ: "&@F2&" → " /pchr,3,3,"グンブ: "&@F3&" → " ; 政情不安レベル7なら不満上昇値2に /if,@SF,<,7,+2,// /let,@T1,2 ; /rnd,@R,0,2 /substr,@T2,@FD,@R,1 /calc,@T2,@T2+@T1 /replace,@FD,@FD,@R,@T2 /if,@SF,<,4,*FUMANSEL2,// ; 政情不安レベル4以上ならもう1カ所 /rnd,@R,0,2 /substr,@T2,@FD,@R,1 /calc,@T2,@T2+@T1 /replace,@FD,@FD,@R,@T2 *FUMANSEL2 /gosub,*FUMANUD /pchr,14,1,@F1 /pchr,14,2,@F2 /pchr,14,3,@F3 /pchr,23,3,"▼" /gosub,*KEYWAIT ; 不満度爆発判定(再) /gosub,*FUMANBK /if,@OV,==,-1,+2,// /goto,*GAMEOVER ; 20期務めたらゲームクリア /if,@NK,>=,20,*GAMECLEAR,// ; 次の期へ進む /calc,@NK,@NK+1 /goto,*NKHAJIME /end ; ゲームオーバー *GAMEOVER /cls /beep,10 /substr,@T1,@SR,@OV*16,16 /pchr,0,0,@T1&"ニヨリ、" /pchr,0,1,"アナタハ "&@NK&"キメニ シッキャクシマシタ..." /pchr,4,3,"GAME OVER..." /pchr,23,3,"▼" /gosub,*KEYWAIT /goto,*GAMETITLE ; ゲームクリア *GAMECLEAR /cls /pchr,0,0,"アナタハ イセイシャトシテ 20キヲ ブジ" /pchr,0,1,"ツトメアゲ ユウタイシマシタ オメデトウ!" /pchr,2,3,"CONGRATULATIONS !!" /pchr,23,3,"▼" /gosub,*KEYWAIT /goto,*GAMETITLE ; -- サブルーチン群 -- ; キーウェイト *KEYWAIT /btnon /wait,100 /btngoto,//,//,//,//,//,+2 /goto,-2 /return ; カード効果 *CDKOUKA /substr,@T,@SC,@Y,1 /instr,@T2,@FF,@T /substr,@T3,@CD,@T2*16+12,3 /repeat,3 /substr,@T4,@T3,@CNT,1 /substr,@T5,@KK,@T4*2,2 /pchr,22,@CNT+1,@T5 /loop /return ; 不満度修正 *FUMANUD /substr,@K1,@FD,0,1 /calc,@K1,@K1-5 /substr,@K2,@FD,1,1 /calc,@K2,@K2-5 /substr,@K3,@FD,2,1 /calc,@K3,@K3-5 ; /calc,@F1,@F1+@K1 /calc,@F2,@F2+@K2 /calc,@F3,@F3+@K3 ; /if,@F1,>,0,+2,// /let,@F1,0 /if,@F2,>,0,+2,// /let,@F2,0 /if,@F3,>,0,+2,// /let,@F3,0 /return ; 不満度爆発判定 *FUMANBK /let,@OV,-1 /if,@F1,<,10,+2,// /let,@OV,0 /if,@F2,<,10,+2,// /let,@OV,1 /if,@F3,<,10,+2,// /let,@OV,2 /return