• 21点...by Java - [感言]

    2008年04月27日

    其实,这是我很早就有的一个计划:用Java(起初是想用C的)语言来设计一个游戏。由于21点比较简单,所以选择了21点。

     So,今天终于开始下手了,由于自己是Java的初学者,虽然之前看过C的一些教程,但是要设计一个游戏对我来说,不是一件易事。

    说实话,设计一个游戏,真的为编程学习者提供不可多得的经验,当我在写代码时,感觉与平时的练习很不同。想想平时做的练习,感觉只能让自己熟悉一下怎样编程,对能力培养的作用不大。

    刚刚学了如何建立一个对象,这次我首次运用对象,也是首次体会对象的好处(不太深),这个对象是一副扑克,扑克用数组组成,并包含一个发牌的方法........

    其实,说这些也没什么,就是一个简单的游戏而已,而且是残疾的,因为没有分牌,加注等功能。反而让我深有体会的是一个人生道理。

    当大学生一年,人家说大学生理论知识够,但缺实践,的确,我深深感觉到堆压在我们身上的理论太多了,而让我们放开手去干的机会很少。一个Java课程,一阵子就讲完一半(而且是基础知识),还没消化完就要直接进入核心技术,这根本就是填鸭!实践,实践,实践,我们需要实践,真真正正地去做,总比躲在一角落里啃书好,好像我自己,写代码之前,书里的知识已经很熟了,但一上手时,问题就蜂拥而至,结构不对,语法错误,逻辑错误,一时三刻都解决不了。由此可见,是书本好还是动手好呢?

  • 对网游的想法 - [感言]

    2008年04月13日

    别人常说,写博写着写着会变得没兴趣,本人深有同感。

    所以,今日特意上来写一写。

    今天买了电攻4月号,其中在Online分册中,我特别留意了一下朱朱和老猪对最近一些网游的看法(其实每期都有,只是没留心),看完之后有所看法,藉此机会发泄发泄!

    一说网游,无非也是从其画面、操控、游戏性、声效甚至概念等因素去考虑,而现在的国内网游,往往会在其中的一些因素里出现瓶颈现象,甚至是成为一款游戏的缺点。我们可以用武侠网游作例,首先是画面,现在网游画面大致可分为传统的2D斜45度角,以及全3D的第三人称视角。对此,不能说3D一定比2D的好,主要是看玩家的习惯。但关键的是,在这两类中,会出现不同水平的画面,而有一部分网游的画面可以用恶心来形容,我试过一次,刚进去不到半小时便退了出来(但它的游戏概念是做得不错)。

    其次是游戏性,这个是十分重要的。但国内网游却做不了这点,最明显的就是:当一个网游有一个创新的系统,但这个系统往往会被那些无穷无尽的打怪练级所摧毁。比如说我自己,我去玩一个新网游,当然是冲这它创新的地方去,但当我真正进入这个游戏时,我却发现,它所说的创新是建立在练级的上面,好像一个貌似创新的养宠系统,游戏介绍时说得怎样怎样好,但真正玩的时候,你发现在30级或者是50000块才能的到一只一级的宠物,而且是十分弱的,要等到你60级时才能真正享受养宠的乐趣,但当我到30级的时候,我已经被那无聊的打怪升级打怪升级折磨掉了。(这也可能是外挂成风的原因吧)

    我不是说要什么快速升级的东西,但你也不要动辄几十万的经验值,打成千上万只怪来升一级(先不说组队),我不如去看小说。再说,网游跟单机游戏不一样,单机的话,哪怕我打再多的怪,但我起码有一条主线跟一下,有些妖给我炼一下,但网游做不到。有人会说,网游最大特点就是互动,试问人与人有多大互动?大多都是一起练级,或者带人,顶多是网恋,这算什么互动?说互动,我不如去论坛还好,那里交朋友好多呢!

    最后是游戏概念的创新,在国内,能够做到这点的公司少之又少,以前传奇兴盛的时期,都往那边模仿去了,现在魔兽世界的崛起,结果可想而知。

    其实,对于国内厂商,画面不是问题,关键是创新,哪怕是游戏性,创新能力上去了,游戏性的问题也会随之提高。

    对于国内网游,我们要支持,为厂商献计策,而不是一片骂声。批评是要的,但批评过后,应给与足够的支持。继续努力吧!

  • 今天写了个Java程序 - [身边事]

    2008年04月06日

    日历来的,花了我2个小时

    import javax.swing.JOptionPane;

    public class Calender {
           
      
        public static void main(String[] args) {
            //分别输入年份和1月1日是星期几
            String yearString = JOptionPane.showInputDialog("输入年份(1900-2100):");
            int year=Integer.parseInt(yearString);
            String weekdayString = JOptionPane.showInputDialog("该年1月1日是星期几?\n"+
             "输入“1”表示星期一,“2”表示星期二,如此类推(只能输入1-7的整数)");
            int weekday=Integer.parseInt(weekdayString);
           
            //weekdayNext变量为提示下一个月的首日的星期
            int weekdayNext=1;
            //定义日历的题目
            String output_00 = "Calender of "+year;
            output_00 +="\n____________________________________\n";
           
            //用month数组储存月份及其名字
            String[] Months = new String[13] ;
            for (int i_m=1;i_m<=12;i_m++)
             Months[i_m]=i_m+"月";
            //用output数组储存各月份的日历
            String[] output = new String[13] ;
           
            //检查闰年
            int runyear=1;
            if ((year%4==0&&year%100!=0)||year%400==0)
             runyear=29;
            else
             runyear=28;
           
            //分别制作各月份的日历
            for(int m=1;m<=12;m++){
             switch (m)
             {
              case 1://输入月的标题
               output[m]+="      "+Months[m]+"       "+"\n_______________________________________\n"+
             "MON    TUE    WED    THU    FRI    SAT    SUN\n";
                  //通过weekday变量确定首日的位置
                  if (weekday>1)
                  {for (int i_sp=2;i_sp<=weekday;i_sp++)
                  output[m]+="            ";}
                  //分别输入各日子
                  for (int i=1;i<=31;i++){
                  if (i<9)
                  {if ((weekday+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"          ";}
                  else if (i==9)
                  {if ((weekday+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"        ";}
                  else
                   {if ((weekday+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"       ";}
                  }
                  //计算下一个月首日的位置
                  weekdayNext=((31-(8-weekday))%7)+1;
                break;
              case 2://输入月的标题
               output[m]+="\n       "+Months[m]+"       "+"\n_______________________________________\n"+
             "MON    TUE    WED    THU    FRI    SAT    SUN\n";
               //通过weekdayNext变量确定首日的位置
                    if (weekdayNext>1)
                    {for (int i_sp=2;i_sp<=weekdayNext;i_sp++)
                     output[m]+="            ";}
               //分别输入各日子
                  for (int i=1;i<=runyear;i++){
                  if (i<9)
                  {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"          ";}
                  else if (i==9)
                  {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"        ";}
                  else
                   {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"       ";}
                  }
                  //计算下一个月首日的位置
                  weekdayNext=((runyear-(8-weekdayNext))%7)+1;
                break;
                
              case 3: case 5: case 7: case 8: case 10: case 12:
               //输入月的标题
               output[m]+="\n       "+Months[m]+"       "+"\n_______________________________________\n"+
             "MON    TUE    WED    THU    FRI    SAT    SUN\n";
               //通过weekdayNext变量确定首日的位置
                    if (weekdayNext>1)
                    {for (int i_sp=2;i_sp<=weekdayNext;i_sp++)
                     output[m]+="            ";}
               //分别输入各日子
                  for (int i=1;i<=31;i++){
                  if (i<9)
                  {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"          ";}
                  else if (i==9)
                  {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"        ";}
                  else
                   {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"       ";}
                  }
                  //计算下一个月首日的位置
                  weekdayNext=((31-(8-weekdayNext))%7)+1;
               break;
             
              case 4: case 6: case 9: case 11:
               //输入月的标题
               output[m]+="\n       "+Months[m]+"       "+"\n_______________________________________\n"+
             "MON    TUE    WED    THU    FRI    SAT    SUN\n";
               //通过weekdayNext变量确定首日的位置
                    if (weekdayNext>1)
                    {for (int i_sp=2;i_sp<=weekdayNext;i_sp++)
                     output[m]+="            ";}
               //分别输入各日子
                  for (int i=1;i<=30;i++){
                  if (i<9)
                  {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"          ";}
                  else if (i==9)
                  {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"        ";}
                  else
                   {if ((weekdayNext+i-1)%7==0)
                    output[m]+=i+" \n";
                   else
                    output[m]+=i+"       ";}
                  }
                  //计算下一个月首日的位置
                  weekdayNext=((30-(8-weekdayNext))%7)+1;
               break;
            }
            }
             //用outputFinal储存日历标题和各月日历
             String outputFinal = output_00;
             for (int i_f=1;i_f<=12;i_f++)
             outputFinal += output[i_f];
             
             //输出日历
       JOptionPane.showMessageDialog(null,outputFinal);
    }
    }

  • 环保,从自身做起! - [感言]

    2008年04月04日

    作为人类一份子,在看到我们的家园一次又一次地遭受天灾与人祸,你是否为自己的无能为力而感到自责?我们平时总是声称我们会保护环境,但往往有时候我们却不能做到,连最基本的都没做到,哪怕是不践踏草坪这些简单的东西。现在正好让我们以“拯救森林,筷行动”活动的名义,重新激起我们体内保护环境的基恩吧。

    活动Logo:(想参加的朋友,请点击图片,或登录http://act.greenpeace.org.cn/tree

    这是我的:

  • experience in religion - [感言]

    2008年03月30日

    面对这个已失去信仰的世界,我要发话:

    经历了多年的经济高速发展,科技的更新已远超乎人类所想象的地步,然而,在这个世界上,你可否还能找到那块净土呢?到处是利益的争夺,到处是妒忌,到处是争执,我们这个世界,是否已经失去了必要的信仰呢?
    令人心痛的是,宗教在人们的眼中已经变成了洪水猛兽了。一提到宗教,人们想起的不是导人向善,而是侵蚀人的心灵,破坏人的灵魂。试问,宗教就竟是善,还是恶?
    首先,宗教不是迷信。但有人却把他们简单的画起了等号。信上帝,信佛陀,即使是印度教的满天神佛,那也只是作为对自己行为的一种约束,一个负责的对象。犹太教徒要守安息日,佛教徒要素食,回教徒不吃猪肉,这些都不是你们所说的迷信,而是教义,是一种行为准则。且说没信仰的人,例如跟一个婴儿起名字,他们会设法起一个好听,而且有意义的名字,那反过来问一下,为什么不把名字起成“X死”,“X小便”这样的名字呢,我们也一样可以说这是迷信啊,名字只不过是个标记,对孩子本身是没有问题的,难道起个“死”字,他就早死吗?但是我们并不会说这是迷信,因为,这是我们生活中的“教义”,我们一起维护这个教义,而不遭其他人去批驳它。一样,那我们为何还要把宗教看成迷信呢?
    其次,宗教大多都是导人向善的。对于教徒而言,他们面前的是上帝,或者是佛陀,或者是安拉,或者是其他的神,但神的意义远超于物质利益,远超于权力。对于某些人而言,他们认为宗教信仰是虚伪的,是飘渺的,但他们却在现实生活中肆无忌惮地争权夺利,为名为利不择手段,全因为他们没有一个至高无上的力量去约束自己,在他们眼中,钱(或者是权力)是最大的神,但这种“信仰”是错的,为什么?因为他们在不断的挑战自己的神。

  • 党课 - [流水账]

    2008年03月29日

    今早9时正,A2202.

    我上了我这生人第二堂的党课,内容比第一堂充实,看了一部纪录片,讲述了中共从五四运动后的产生,经过几十年的奋斗,成长为一个成熟的党派的奋斗史。

    不知怎么,我觉得我对中共的近代史比较感兴趣,所以这部片一开始就吸引住我了。但是我令我激气的是,明明说好上到11点,片子10点却结束了,打破了我原有的计划。唉!

    上课期间,管理员还提了本学期党课的要求:迟到两次当一次旷课,两次旷课取消考试资格。还要写3000到5000字的学习报告。好在我早有心理准备,不仅这是党课嘛。

  • 网站收藏(1) - [ITOP网站收藏]

    2008年03月23日

    http://www.mindmeters.com/

    思维的乐趣

    http://www.onewaystreetlibrary.com/

    单向街·图书馆

    http://www.20q.net/

    这个网站是一个“游戏”网站,你心里想着一件东西,然后回答它给的问题,20题之前,电脑猜出你的答案,那么电脑就胜出,如果超出20题,就是你胜。但重点不在这,而在它的正确率竟可达到80%以上。

     

  • 课程表 - [身边事]

    2008年03月16日

     星期一星期二星期三星期四星期五
    1、2节
    高数
    物流学
    高数
    近现代史
    线性代数习题课
    3、4节 
    线性代数
    会计学
    Java上机
    高数
    午休
    5、6节 
    英语上机
      
    Java
    7、8节
    英语
    军事理论(单周)
    体育
     
    Java(第七节)

     

365bloglink - 博邻
  • Google向你推荐

  • 欢迎留言