在豆瓣上看到一篇关于拿破仑的翻译,文科生的翻译有几段相当传神,不得不佩服汉语的强大。有好事者还用程序语言实现了一下,现已有java、python和html的版本,我也来写个渺小的C#版本,运行结果和java版是一致的,但是本文的这个稍作抽象(java版的我不觉得有多好,甚至应该说写得真烂),更符合C#程序员的阅读习惯。贴代码先:
【渺小滴C#版(知道运行结果又如何)】

using System;
using System.Collections.Generic;

public abstract class Person
{
    /// <summary>
    /// name
    /// </summary>
    public string Name { get; set; }

/// <summary>
    /// Chrysanthemum Damage Per Second
    /// </summary>
    public int CDPM { get; set; }
}

public class Enemy : Person
{

public Enemy(string name, int cdpm)
    {
        this.Name = name;
        this.CDPM = cdpm;
    }

public void Shout()
    {
        if (this.CDPM > 0)
        {
            Console.WriteLine(string.Format("{0} says: we are invincible!!!", this.Name));
        }
        else
        {
            Console.WriteLine(string.Format("{0} says: ......", this.Name));
        }
    }

public bool IsCanBeatNapoleon(Napoleon n)
    {
        if (n == null)
        {
            throw new ArgumentNullException("Napoleon was not initialized...");
        }
        return this.CDPM > n.CDPM;
    }
}

public class Napoleon : Person
{
    private IList<Enemy> enemies = new List<Enemy>();

private Napoleon()
    {
        this.Name = "Napoleon";
        this.CDPM = 100000;
        enemies.Add(new Enemy("Italy", 100));
        enemies.Add(new Enemy("Egypt", 100));
        enemies.Add(new Enemy("Russia ", 100));
    }

private void Speak()
    {
        Console.WriteLine("My enemy number: " + enemies.Count);
        IList<Enemy> trueEnemies = new List<Enemy>();
        foreach (Enemy item in enemies)
        {
            if (item.CDPM > CDPM)
            {
                trueEnemies.Add(item);
            }
        }

Console.WriteLine("The number of enemies who can beat me: " + trueEnemies.Count);

foreach (Enemy item in enemies)
        {
            do
            {
                item.Shout();
            }
            while (item.IsCanBeatNapoleon(this));
        }
        Console.WriteLine("I am {0},my cdpm is {1}", this.Name, this.CDPM);
        Console.WriteLine("Dispose enemy list...");
        enemies.Clear();
        Console.WriteLine("Enemy list disposed!");
    }

static void Main(string[] args)
    {
        (new Napoleon()).Speak();
        Console.Read();
    }
}

最后,弱弱问一下,我怎么觉得程序实现的都和翻译无关呢? 比文科的翻译逊色不是一点点。

转载于:https://www.cnblogs.com/jeffwongishandsome/archive/2010/10/11/1848228.html

看到一个暴强的翻译,闲的蛋疼,写个c#版的相关推荐

  1. 某地理老师的暴强言论

    发信人: christinetwo (christinetwo), 信区: Joke 标  题: zz某地理老师的暴强言论~爆笑经典!!强力推荐! 发信站: 两全其美网 (Wed Jan 23 12: ...

  2. 暴强 西游记人物介绍(转载)!!!!

    因为这两天写OFFICE西游故事时,想不起太多人物了,所以就在网上搜了一下,西游记的人物介绍. 结果看到一篇暴强的文章,就转载过来了! 首先,我们要弄清楚各类神仙的属性类型: 孙悟空,无疑是实力超强的 ...

  3. 心理学中暴强的30句话

    1.爱,应该是先知后行. 2.有才华.性格又温柔的人往往不漂亮:才貌双全的,自恃聪明漂亮的人又很难温柔:而漂亮温柔的人多半没什么才华.  生活的经验告诉我们,如果你不思量清楚而盲目追求美貌的伴侣,有可 ...

  4. 智慧交通怎样利用科技打造一个“最强大脑”

    智慧交通怎样利用科技打造一个"最强大脑" 随着全国公路通车里程不断增长,机动车越来越多地飞入寻常百姓家.日益增长的机动车和驾驶人数量是百姓生活水平显著提升的标志,但也给公安交管工作 ...

  5. 无意中看到一个很强的贴,简直一群机关枪阿

    MFC五大批判 VcPhi 流氓不可怕,就怕流氓有文化 等 级: 发表于:2007-09-21 18:17:32 楼主 写在本文之前 算起来,我用Visual   C++也有将近5年的历史了.在这期间 ...

  6. 蝙蝠侠一键改udid软件_对于您的第一个HTML代码,让我们帮助蝙蝠侠写一封情书...

    蝙蝠侠一键改udid软件 by Kunal 由Kunal 对于您的第一个HTML代码,让我们帮助蝙蝠侠写一封情书 (For your first HTML code, let's help Batma ...

  7. 翻译:《JavaScript 权威指南(第5版)》第一章(一)

    声明:翻译只有一个目的:学习用途.若有版权问题请及时联系本人. 本贴文根据篇幅将第一章的翻译分为两个部分,这是第一部分的内容. Chapter 1. Introduction to JavaScrip ...

  8. 一个程序员的自白:我为什么写博客

    时间: 2011年 人物: 初出茅庐的臭小子, 臭石头一般坚硬的相信我将来一定会成为富二代他爹. 我来到一个大型互联网公司, 同事很nice, 管理很自由, 在这里开始了我的码农生涯. 我很敬重部门老 ...

  9. 闲的发慌系列01-家庭版NAS

    闲的发慌系列01-家庭版NAS 前言:第一次写博客,啥也不会,就是单纯记录.在搭建过程中,阅读了各位大佬的博客.感触颇多,再次感谢各位大佬.最后更新日期:20211214 思路 软件 ESXI6.7 ...

最新文章

  1. 记我的一次电话面试 (转)
  2. python sys干嘛的_Python之sys模块
  3. python统计行号_利用Python进行数据分析(第三篇上)
  4. 技术人员兼职招聘平台HourlyHerd融资2200万美元C轮融资
  5. (43)FPGA时序逻辑与组合逻辑(时序逻辑)
  6. Nodejs学习笔记02【module】
  7. git版本回退(回退提交到本地仓库代码)
  8. js基础-12-判断数组和判断对象的方法
  9. 浅谈PageHelper插件分页实现原理及大数据量下SQL查询效率问题解决
  10. TCP/IP 报文格式(IP数据包、TCP报头、UDP报头)
  11. 常用十六进制颜色对照表
  12. Java中怎么打开jsp_jsp文件怎么打开 打开jsp文件的详细步骤【详细介绍】
  13. 爬虫6_周杰伦新歌《Mojito》B站弹幕分析
  14. iar编译器添加c语言标准库,用IAR编译器开发DS80C400
  15. python高阶学习之一:c++调用python
  16. vivo 推送平台架构演进
  17. 五脚18.8数码管显示
  18. nginx lingering_close
  19. 求(2~1000)一个数的最大质因数
  20. 光动能表怎么维护_光动能手表怎么充电 光动能手表电池能用多久

热门文章

  1. oracle如何把字符集改回默认,更改oracle字符集
  2. JDom,jdom解析xml文件
  3. leetcode181. 超过经理收入的员工(SQL)
  4. 如何单元测试Java的private方法
  5. cad怎么快速算面积_用cad算面积的快捷键方法步骤详细,大朗CAD培训班
  6. C语言深度剖析书籍学习记录 第二章 符号
  7. c++ fmt 库安装和使用示例、clion配置
  8. java 遍历100以内的偶数,偶数的和,偶数的个数
  9. JVM的几点性能优化
  10. 大数据计算:如何仅用1.5KB内存为十亿对象计数