飘
- - 被光守护的家族 -
- 来自:
- 性别:男
- 生日:1985-01-19
- 注册:
2006-09-18
- 精华:0
- 学分:0 个
- 好人卡:31 张
- 好感度:8
- [福建省福州市]
|
飘
2008-09-11 12:46
|只看该用户
7#
t
T
回复:其实上用一句话和几行程序代码就可以完全剧透寒蝉[EG中透着剧透]
嘛,于是翻译完成……- #include <stdio.h>
- #include <stdlib.h>
- #include <memory>
- typedef int BOOL;
- #define TRUE 1
- #define FALSE 0
- static int s_nCounter = 0;
- enum emCharacters
- {
- survive_rika,
- survive_rena,
- survive_k1,
- survive_mino,
- survive_shino,
- survive_satoko,
- survive_hanyu,
- survive_jiro,
- survive_kyosuke,
- characters_size,
- };
- static BOOL s_bArrSurvive[characters_size];
- static bool s_bSp = false;
- // ============================================================================
- // ==============================================================================
- BOOL GetRP(void)
- {
- if (s_bSp) {
- return TRUE;
- }
- //~~~~~~~~~~~~~~~~~~~
- int nRP = rand() % 100;
- //~~~~~~~~~~~~~~~~~~~
- return(nRP > 0 ? TRUE : FALSE);
- }
- void Counter(void);
- void Set(void);
- void Special(void);
- void Start(void);
- void Confront(void);
- void LastWorld(void);
- static int s_nYear = 0;
- static int s_nMonth = 0;
- static int s_nDay = 0;
- // ============================================================================
- // ==============================================================================
- void Result()
- {
- while (true) {
- printf("CONTINUE?(Y/N)");
- //~~~~~~~~~~~~~~~~~~~~
- char cChose = getchar();
- //~~~~~~~~~~~~~~~~~~~~
- getchar();
- if ('N' == cChose || 'n' == cChose) {
- break;;
- } else if ('Y' == cChose || 'y' == cChose) {
- Counter();
- break;
- }
- }
- }
- // ============================================================================
- // ==============================================================================
- void Counter(void)
- {
- ++s_nCounter;
- Set();
- }
- // ============================================================================
- // ==============================================================================
- void Set(void)
- {
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- BOOL bArrSurvive[characters_size] = { 1, 1, 1, 1, 1, 1, 0, 1, 1 };
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- memcpy(s_bArrSurvive, bArrSurvive, sizeof(bArrSurvive));
- if (s_nCounter >= 8) {
- Special();
- } else {
- Start();
- }
- }
- // ============================================================================
- // ==============================================================================
- void Special(void)
- {
- s_bSp = true;
- s_bArrSurvive[survive_hanyu] = 1;
- Start();
- }
- // ============================================================================
- // ==============================================================================
- void Start(void)
- {
- s_nYear = 1983;
- s_nMonth = 6;
- for (s_nDay = 16; s_nDay < 30; ++s_nDay) {
- //~~~~~~~~~~~~
- int nCharSet[] =
- {
- survive_rena, survive_k1, survive_mino, survive_shino,
- survive_satoko
- };
- //~~~~~~~~~~~~
- for (int i = 0; i < sizeof(nCharSet) / sizeof(int); ++i) {
- s_bArrSurvive[nCharSet[i]] *= GetRP();
- }
- }
- if (30 == s_nDay) {
- Confront();
- }
- }
- // ============================================================================
- // ==============================================================================
- void Confront(void)
- {
- //~~~~~~~~~~~~~~~~
- int nMainCharSet[] =
- {
- survive_rena, survive_k1, survive_mino, survive_shino, survive_satoko
- };
- //~~~~~~~~~~~~~~~~
- for (int i = 0; i < sizeof(nMainCharSet) / sizeof(int); ++i) {
- if (FALSE == s_bArrSurvive[nMainCharSet[i]]) {
- printf("GAME OVER: MAIN CHARACTER DIED\n");
- Result();
- return;
- }
- }
- if (FALSE == s_bArrSurvive[survive_hanyu]) {
- s_bArrSurvive[survive_jiro] = FALSE;
- } else {
- LastWorld();
- return;
- }
- s_bArrSurvive[survive_rika] = 0;
- printf("GAME OVER: RIKA KILLED, 'LAST PROJECT' CARRIED OUT\n");
- Result();
- }
- // ============================================================================
- // ==============================================================================
- void LastWorld()
- {
- s_bArrSurvive[survive_rika] = 1;
- ++s_nMonth;
- s_nDay = 1;
- printf("GAME OVER : GOOD ENDING\n");
- printf("%d Time loops had been created by Rika and Hanyu.\n", s_nCounter);
- printf("THANKS FOR PLAYING!\n");
- getchar();
- }
- // ============================================================================
- // ==============================================================================
- int main()
- {
- Counter();
- return 0;
- }
复制代码
|