======= 株式ゲームメカニクス ======= マニュアルのゲームメカニクスセクションは、ゲームの計算で使用される内部式の詳細を説明します。マニュアルのこのセクションは疑似コードを使用しており、ゲーム内のコードと100%同じとは限りません。 マニュアルのゲームメカニクスパートは、主に "なぜX、Y、Zをするとこの評価になるのか?"というよくある質問に対するリファレンスとして設計されています。通常、この答えには多くの異なる変数が含まれており、マニュアルのこのセクションではそれを実証しています。 **マニュアルのゲームメカニクスセクションは、[[https://idioms.thefreedictionary.com/seeing+how+the+sausage+gets+made|ソーセージがどのように作られるか]]を示しています。ですから、ゲームを楽しむなら、このマニュアルの部分は避けた方がいいかもしれません。** ====== 変数 ====== ^ 名称 ^ 説明 ^ ^ 名称 ^ 説明 ^ | **Money** | あなたの会社が持っている現金の額 | | **Total_Debt** | 融資、社債額面金額、信用枠を含む負債総額 | | **Branch_Construction_Costs** | 全支店の総価値 | | **Factory_Construction_Costs** | 完成した工場の総価値 | | **Vehicle_Inventory** | 車両在庫に車両の平均単価をかけたもの | | **Total_Design_Costs** | すべての部品と車両の設計費を10で割ったもの | | **Share_Holdings** | あなたが所有している他の会社の株式の価値 | | **Global_Stock_Rate** | TurnEvents.xmlファイルで定義されたグローバル株価レート | | **Revenues_12_Months** | 過去12ヶ月間の収益 | | **GameStartYear** | ゲームを開始した年 | | **Evaluation** | 価格評価の項目で定義した評価 | | **EPS_Growth** | 過去1年間のEPS評価の変化 | | **Total_Shares** | 発行済み株式総数 | | **CurrentSharePrice** | 前月の株価 | | **Last_EPS** | 前四半期のEPS | | **Current_EPS** | 今四半期のEPS | | **EPS_Q#** | 前四半期からのEPS | | **Delisted** | 現在、株式は公開されていません | | **LY_YTD_Profits** | 昨年度の総利益 | | **CurrentFunds** | 会社が現在持っている資金の額 | | **Turn_Expenses** | 先月の費用 | | **Turn_Income** | 先月の収益 | | **LastYear_Expenses** | 昨年の費用 | | **LastYear_Income** | 昨年の収益 | | **Current_Construction_Costs** | 工場建設による現在の全費用 | | **** | | ====== 価格評価 ====== Money - Total_Debt + Branch_Construction_Costs + Factory_Construction_Costs + Vehicle_Inventory + Total_Design_Costs + Share_Holdings ====== IPO評価 ====== PriceEvaluation = PriceEvaluation/2.0 + ((PriceEvaluation/2.0) * Global_Stock_Rate) PriceEvaluation = PriceEvaluation * 1.2 + (Revenues_12_Months * (3 * Global_Stock_Rate)) IPO_Share_Price = 10 Shares_Issued = PriceEvaluation / IPO_Share_Price ====== 株価 ====== if(Year > 2000) { if(Year-GameStartYear > 8 ) NewSharePrice = ((Evaluation*0.4) + (Revenues_12_Months*1.0*Global_Stock_Rates) * (0.75 * EPS_Growth)) / (Total_Shares); else { NewSharePrice = ((Evaluation*(0.4+((8-(Year-GameStartYear))*0.1))) + (Revenues_12_Months*1.0*Global_Stock_Rates) * (((Year-GameStartYear)*0.1) * EPS_Growth)) / (Total_Shares); } } else { if(Year-GameStartYear > 8 ) NewSharePrice = ((Evaluation*0.4) + (Revenues_12_Months*(10.0-((Year-1900)/10))* Global_Stock_Rates) *(0.75 * EPS_Growth)) / (Total_Shares); else { NewSharePrice = ((Evaluation*(0.4+((8-(Year-GameStartYear))*0.1))) + (Revenues_12_Months*(10.0-((Year-1900)/10))*Global_Stock_Rates) * (((Year-GameStartYear)*0.1) * EPS_Growth)) / (Total_Shares); } } NewSharePrice = CurrentSharePrice + ( ((NewSharePrice - CurrentSharePrice) / 3.5) + ((((NewSharePrice - CurrentSharePrice) / 3.0)) - (NewSharePrice - CurrentSharePrice) / 6.0) ) if(NewSharePrice < 0) NewSharePrice = 0.01; if(A Quarter Month) { if(Last_EPS > 0) { if(Current_EPS > Last_EPS * 2.0) NewSharePrice = NewSharePrice * 1.15; else if(Current_EPS > Last_EPS * 1.2) NewSharePrice = NewSharePrice * 1.1; else if(Current_EPS > Last_EPS * 1.1) NewSharePrice = NewSharePrice * 1.05; else if(Current_EPS < Last_EPS * 0.9) NewSharePrice = NewSharePrice * 0.95; else if(Current_EPS < Last_EPS * 0.8) NewSharePrice = NewSharePrice * 0.85; else if(Current_EPS < Last_EPS * 0.7) NewSharePrice = NewSharePrice * 0.75; } else if(Last_EPS < 0) { if(Current_EPS > Last_EPS * 0.7) NewSharePrice = NewSharePrice * 1.15; if(Current_EPS > Last_EPS * 0.8) NewSharePrice = NewSharePrice * 1.1; if(Current_EPS > Last_EPS * 0.9) NewSharePrice = NewSharePrice * 1.05; else if(Current_EPS < Last_EPS * 1.1) NewSharePrice = NewSharePrice * 0.95; else if(Current_EPS < Last_EPS * 1.2) NewSharePrice = NewSharePrice * 0.85; else if(Current_EPS < Last_EPS * 1.3) NewSharePrice = NewSharePrice * 0.75; } else if(Last_EPS == 0) { if(Current_EPS > Last_EPS ) NewSharePrice = NewSharePrice * 1.05; else if(Current_EPS < Last_EPS ) NewSharePrice = NewSharePrice * 0.95; else if(Current_EPS == 0 && Last_EPS == 0 && eps3 == 0 && eps4 == 0) { NewSharePrice = NewSharePrice * (Random Number Between (0 AND 0.2) + 0.95); } } } if(NewSharePrice < ((Evaluation * 0.7) / Total_Shares)) { NewSharePrice = ((Evaluation * 0.7) / Total_Shares); } if(CurrentSharePrice != 0) { priceChange = NewSharePrice / CurrentSharePrice; } ====== 株式分割 ====== ===== 分割 ===== if(NewSharePrice>(30+((Year-1899)*2)) OR (((EPS_Q1+EPS_Q2+EPS_Q3+EPS_Q4)>(4+((Year-1899)/3))) AND NewSharePrice > 5) ) { NewSharePrice = NewSharePrice / 2.0; TotalShares = TotalShare * 2; } ===== 株式併合 ===== if(NewSharePrice < 1) { if(TotalShares / 2 > 1000) { TotalShares = TotalShares / 2; NewSharePrice = NewSharePrice * 2; } else { Delisted } } ====== 公開買付価格 ====== if(Shares_Needed > 0) { if(EPS_Year < -0.5) { AqusitionCosts = ((((Price_Evaluation*1.1)/(Shares_Needed)/5) + (PricePerShare*1.3)) * Shares_Needed)*DifficultyBonus ; } else { AqusitionCosts = ((((Price_Evaluation*1.2)/(Shares_Needed)/2.5) + (PricePerShare*1.75)) * Shares_Needed) * ((EPS_Year/10.0) + 1)*DifficultyBonus; } PricePerShare = (AqusitionCosts / (Shares_Needed)); } else AqusitionCosts = ((Price_Evaluation/10))*DifficultyBonus; ====== AIの株式の購入/売却 ====== ===== 機関投資 ===== ==== 購入 ==== if(priceChange > 7%) Buy 10% of the available shares. else if(priceChange > 4%) Buy 7% of the available shares. else if(priceChange > 0% AND Random Number Between (0 AND 4) = 0) Buy 3.5% of the available shares. ==== 売却 ==== if(priceChange < -10% AND Random Number Between (0 AND 12) = 0) Sell 4% of shares owned. else if(priceChange < 0.95 AND Random Number Between (0 AND 12) = 0) Sell 2.5% of shares owned. else if(Random Number Between (0 AND 12) = 0) Sell 1% of shares owned. ===== AI企業 ===== ==== 購入 ==== if(LY_YTD_Profits > 0 && CurrentFunds > (LY_YTD_Profits*2) ) Buy 10% of CurrentFunds worth of stock shares. ==== 売却 ==== IF (( CurrentFunds < ( (Turn_Expenses-Turn_Income) * 3 ) AND CurrentFunds < (LastYear_Expenses - LastYear_Income) ) OR CurrentFunds < (Turn_Expenses-Current_Construction_Costs-Turn_Income)) { if( Company owns more than 25% of self ) Sell 5% of shares owned of their company. else Sell all shares of random company. }