Java究竟怎么玩?http://blog.csdn.net/cping1982

菩提本无树,明镜亦非台,本来无一物,何处惹尘埃

匿名不具ID:cping1982
140240次访问,排名549好友13人,关注者17
机密……
cping1982的文章
原创 137 篇
翻译 0 篇
转载 40 篇
评论 295 篇
鹏凌三千(cping1982)的公告
本博评论删除规则如下:

1、辱骂性发言,无视其辱骂对象,一律删。

2、登录发表的评论,不违背第一条者一律不删。非登录发表的评论,过激者删。

3、若发生例外情况,则为CSDN博客系统自动删除。

声援SOFF|声援珊瑚虫:如果你是珊瑚虫用户,请坚决力挺声援珊瑚虫!

平生进退如飙风,一睨人才天下空。独向苍天横冷剑,何必生我惭英雄。

本人有效BLOG:

cping1982

ceponline

音乐:

风姿花传

ドラグ.スレイブ

ヒカルの碁

Believe

世界で一番ヤバイ恋

あんなに一緒だった

精忠报国

谁是大英雄

随遇而安

明天会吹什么风

逍遥游

爱江山更爱美人

最近评论
cping1982:您好,请参阅软件中的pdf手册
gmf:这个具体怎么用啊
456 OUT!:完全满足[321 GO!]要求的目前似乎不多,好像Google Talk及Kmess(能与MSN互通)是这样的,其他如百度hi,skype都只能满足你部分要求。
321 GO!:有没有比TX更好的IM软件呢?
完全FREE
公开代码
无恶意的烦人的或可选择的插件
且持续更新
bluesmile979:番茄花园怎么了?看来孤陋寡闻了,得到网上找找新闻看看。
文章分类
收藏
    相册
    Java的PC游戏开发
    Java中的A*(A star)寻径实现
    Java仿雷电及其源代码
    Java制作的类祖码游戏-数字祖码
    Java实现窗体中角色逐渐风化效果
    Java版吃豆游戏
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[2]——踏破红尘
    Java[伪]寻径追踪实现
    JAVA中[人工无脑]系统(chatbot)的实现
    Java中2.5D游戏(斜45度角)的设计与实现(1)
    Java中2.5D游戏(斜45度角)的设计与实现(2)
    Java仿太阁立志传5
    JAVA图形操作中FPS的计算(附带随机生成乱数球体用例)
    JAVA实现拼图游戏
    Java来做马里奥[0]—让精灵再次舞动
    Java来做马里奥[1]—木叶传承
    Java来做马里奥[2]—食不厌精
    Java来做马里奥[3]—杂兵登场
    Java模拟桌球打击处理及绘制
    Java汉诺塔测试
    Java炸弹人实现及源码
    人生如梦游戏间,JAVA游戏开源开发讲座[番外篇]之AVG开发——皮影
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]——月晕础润
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[1]——风云初现
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[3]——邯郸学步
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[5]——一树双花
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[6]——走马观花
    史上最扯Java图形绘制(J2SE)之一JAVA动画效果
    沉寂的国人开源项目
    bo-blog(blog系统,php项目)
    DockPanel Suite [Microsoft .NET Framework Winform UI]
    Hocate web framework[web框架]
    Loonframework-DAO[持久层框架]
    Loonframework-GAME[游戏框架,尚未发布]
    Loonframework-WEB[web框架,尚未发布]
    Luntbuild(软件管理工具)
    magike(php博客)
    myseelite(p2p流媒体系统,c++项目)
    newxy(新坐标)[web框架]
    opencrx(crm系统)
    redlion(web框架)
    x2blog(asp.net博客系统)
    YOYOPlayer(音乐播放器)
    袋鼠egg(服务器)
    经典Blog
    # gzfqh的专栏 →底层代码研究(病毒及汇编)(RSS)
    # java 3D 游戏编程(RSS)
    ApoGames(德国某人的Java游戏作品展示)
    Struts框架应用
    Struts框架应用~
    千里冰封[JAVA 浓香四溢]
    网络安全圈子
    经典站点
    Google
    IBM中国站
    JavaGame开发论坛
    JAVA开源大全
    Java爱好者
    Struts标签文档
    SUN 中国社区
    中国IT实验室
    数据库专区
    偶的其它应用实例
    C#将图像文件压缩为AVI文件播放
    Java&.Net虚拟机精简(GreenJVM&GreenDotNet发布)
    Java图形程序水纹倒映效果
    Java输出竖排古典文字
    .NET在线漫画下载程序
    C#转换AVI文件为BMP文件
    ClassLoader调用外部jar包
    ExtJS2.0开发与实践笔记[0]——初识ExtJS
    ExtJS2.0开发与实践笔记[1]——ExtJS中的Dialog与Form
    ExtJS2.0开发与实践笔记[2]——Ext中的Layout
    ExtJS2.0开发与实践笔记[3]——Ext中的Menu
    ExtJS2.0开发与实践笔记[4]——Ext中的动画处理
    JavaFx实现(1)-渐变效果
    JavaFx实现(2)-随机图形绘制
    Java中DAO的实现
    Java中Image翻转操作
    Java中将byte[]转为Blob对象
    Java中的A*(A star)寻径实现
    Java制作绿色软件(GreenJVM_0.1.0发布)
    JAVA图形操作类
    Java图形程序中的对话逐字显示实现
    Java实现任意文件在bmp中的隐藏与导出
    JAVA实现可设置背景的MDI窗口
    Java实现嵌入式数据库(文本数据库)代码实例
    Java实现类Windows导航栏
    Java正则表达式入门
    JAVA版JAVA IDE环境(源码)
    JAVA线程池的简单实现及优先级设置
    Java自定义JSlider UI
    Java获得系统环境变量
    Java音乐播放类
    ResultSet转为实体对象
    SWT行,AWT/Swing也行系列(1)-实现半透明及不规则窗体
    在JTable中加载进度条及进行操作
    在Swing中使用Html标签
    在SWT中使用ChartDirector
    浅谈java.util.concurrent包的并发处理
    浅谈Java集合中Array(数组)的应用
    精简JRE体积
    通过exe启动class
    偶的文章
    《三国以后有几国》
    中国本土化编程(汉语编程)之我见
    从珊瑚虫事件,看为什么中国出不了比尔.盖茨
    佛与专家
    叹今人无气节而作歌
    国产开源项目的七宗罪
    对Hibernate使用之愚见
    对Java(J2SE PC)开发之怪现象之我见
    浅谈命名规范[纯属强辩]
    灭了珊瑚虫,下一个是谁?
    率性而作无题歌一首
    百度对“十进制网络”的官方态度
    耻民
    论番茄花园的倒掉
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[5]——一树双花收藏

    新一篇: 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[6]——走马观花 | 旧一篇: 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华

    继续,考虑到日后扩充的需要,开始将代码模块化重构,将原有MyPanel分解成Common,GameMap,GameHandle及MyPanel等4个子模块,逐步实现Sprite操作。

    0-5讲源码下载地址如下,已打包。

    http://www.3adisk.com/?onlinezero

    文件名:[RpgChair]


    或者把这个X的gif文件另存为rar格式

    由于没有什么变化,就不多说了,我今天继续郁闷,什么都不管了,继续郁闷……

     

    Common:

     

    package org.loon.chair.example5;

    /**

     *

     * @author chenpeng

     * @email  ceponline@yahoo.com.cn

     *

     * Loon Framework in Game

     *

     */

    public interface Common {

     

           //此处我们添加一组常数,用以区别左右上下按键的触发,

           //之所以采用数字进行区别,原因大家都很清楚^^,数字

           //运算效率高嘛~

            public static final int LEFT = 0;

            public static final int RIGHT = 1;

            public static final int UP = 2;

            public static final int DOWN = 3;

           

            //单个图像大小,我默认采用32x32图形,可根据需要调整比例。

            //当时,始终应和窗体大小比例协调;比如32x32的图片,如何

            //一行设置15个,那么就是480,也就是本例子默认的窗体大小,

            //当然,我们也可以根据ROW*CS,COl*CS在初始化时自动调整

            //窗体大小,以后的例子中会用到类似情况。总之一句话,编程

            //[为目的而存在的],所有的方法,大家都可任意尝试和使用。

            public static final int CS = 32;

       

       

    }

     

    GameMap类:

    package org.loon.chair.example5;

     

    import java.awt.Graphics;

    import java.awt.Image;

     

    import javax.swing.ImageIcon;

    /**

     *

     * @author chenpeng

     * @email  ceponline@yahoo.com.cn

     *

     * Loon Framework in Game

     *

     */

    public class GameMap implements Common{

     

        //设定背景方格默认行数

        private static final int ROW = 15;

        //设定背景方格默认列数

        private static final int COL = 15;

       

        //设定地图,通常在rpg类型游戏开发中,以[二维数组]对象为

        //基础进行地图处理,用以描绘出X坐标和Y坐标。实际上,即令

        //再华丽的RPG类游戏,都是从这些简单的X,Y坐标开始的。

        //PS:所谓[数组],大家可以简单的理解为即数据的集合,一维数组

        //仅包含X轴,而二维是由X,Y两个轴组成的,XY的交织点,即为

        //一条数据。

        private int[][] map = {

            {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,0,0,0,0,1,1,1,1,1,0,0,0,0,1},

            {1,0,0,0,0,1,0,0,0,1,0,0,0,0,1},

            {1,0,0,0,0,1,0,0,0,1,0,0,0,0,1},

            {1,0,0,0,0,1,0,0,0,1,0,0,0,0,1},

            {1,0,0,0,0,1,1,0,1,1,0,0,0,0,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},

            {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};

     

        //设定显示图像对象

        private Image floorImage;

        private Image wallImage;

       

        // 游戏所使用面板

        private MyPanel panel;

     

        public GameMap(MyPanel panel) {

            // 初始化图像

            loadImage();

        }

     

        public void draw(Graphics g) {

        //Java或任何游戏开发中,算法都是最重要的一步,本例尽使用

        //简单的双层for循环进行地图描绘,

            for (int x = 0; x < ROW; x++) {

                for (int j = 0; j < COL; j++) {

                 

                    // switch作为java中的转换器,用于执行和()中数值相等

                  // case操作。请注意,在case操作中如果不以break退出

                  // 执行;switch函数将持续运算到最后一个case为止。

                    switch (map[x][j]) {

                        case 0 : //map的标记为0时画出地板

                           //在指定位置[描绘]出我们所加载的图形,以下同

                           //Example5开始,所有this由特定面板对象panel取代

                            g.drawImage(floorImage, j * CS, x * CS, panel);

                            break;

                 

                        case 1 : //map的标记为1时画出城墙

                            g.drawImage(wallImage, j * CS, x * CS, panel);

                            break;

                         //我们可以依次类推出无数的背景组合,如定义椅子为2、宝座为3

                         //很容易即可勾勒出一张背景地图。  

                 

                        default: //当所有case值皆不匹配时,将执行此操作。

                           break;

                    }

                }

            }

        }

     

        /**

         * 用于判定是否允许移动的发生,被move()函数调用,Example5开始变更为公有

         * @param x

         * @param y

         * @return

         */

        public boolean isAllow(int x, int y) {

            // (x,y)交点进行数据判定,我们都知道,

        // 在本例中我仅以0作为地板的参数,1作为

        // 墙的参数,由于我们的主角是[人类],而

        // 不是[幽灵],所以当他要[撞墙]时,我们

        // 当然不会允许,至少,是我讲到剧情的触发

        // 以前……

            if (map[y][x] == 1) {

            // 不允许移动时,返回[]

                return false;

            }

           

            // 允许移动时时,返回[]

            return true;

        }

     

        private void loadImage() {

            ImageIcon icon = new ImageIcon(getClass().getResource("image/floor.gif"));

            floorImage = icon.getImage();

           

            icon = new ImageIcon(getClass().getResource("image/wall.gif"));

            wallImage = icon.getImage();

        }