文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Java用java编写的小游戏源代码分析
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
热点TOP10
·SCJP认证套题解析(1)
·好东西介绍,直接用 java 命令行动态生成jpg文件
·JavaClassLoader与Package机制
·反射在Java Swing编程中的应用
·基于Java的界面布局DSL的设计与实现
·垃圾清理势在必行——Java垃圾收集算法
·Java应用技巧:对于 Cookie 的操作详解
·Java编译器对于String常量表达式的优化
·基于Java的界面布局 DSL 的设计与实现
·JAVA和.NET两个平台对于安全功能的比较

用java编写的小游戏源代码分析

日期:2007年10月12日 作者: 查看:[大字体 中字体 小字体]


  
   public SnakeModel(GreedSnake gs, int maxX, int maxY){
    this.gs = gs;
    this.maxX = maxX;
    this.maxY = maxY;
  
    // initial matirx
    matrix = new boolean[maxX][];
    for(int i=0; i<maxX; ++i){
     matrix[i] = new boolean[maxY];
     Arrays.fill(matrix[i],false);
    }
  
    // initial the snake
    int initArrayLength = maxX > 20 ? 10 : maxX/2;
    for(int i = 0; i < initArrayLength; ++i){
     int x = maxX/2+i;
     int y = maxY/2;
     nodeArray.addLast(new Node(x, y));
     matrix[x][y] = true;
    }
  
    food = createFood();
    matrix[food.x][food.y] = true;
   }
  
   public void changeDirection(int newDirection){
    if (direction % 2 != newDirection % 2){
     direction = newDirection;
    }
   }
  
   public boolean moveOn(){
    Node n = (Node)nodeArray.getFirst();
    int x = n.x;
    int y = n.y;
  
    switch(direction){
     case UP:
      y--;
      break;
     case DOWN:
      y++;
      break;
     case LEFT:
      x--;
      break;
     case RIGHT:
      x++;
      break;
    }
  
    if ((0 <= x && x < maxX) && (0 <= y && y < maxY)){
     if (matrix[x][y]){
      if(x == food.x && y == food.y){
       nodeArray.addFirst(food);
       
       int scoreGet = (10000 - 200 * countMove) / timeInterval;
       score += scoreGet > 0? scoreGet : 10;
       countMove = 0;
       
       food = createFood();
       matrix[food.x][food.y] = true;
       return true;
      }
      else
       return false;
     }
     else{
      nodeArray.addFirst(new Node(x,y));
      matrix[x][y] = true;
      n = (Node)nodeArray.removeLast();
      matrix[n.x][n.y] = false;
      countMove++;
      return true;

(出处:清风网络学院


上一页 [1] [2] [3] 




上一篇:利用 Java 存储过程简化数据库操作

下一篇:Java的各种架构优缺点分析和展望

相关文章:
·帝国时代2:征服者 - 游戏秘籍
·罪恶都市 - 游戏秘籍
·重返德军总部 全攻略 - 游戏攻略
·QQ空间免费换皮肤代码
·《侠盗猎车手-罪恶都市》修改 - 游戏秘籍
·qq空间皮肤背景代码:QQ空间不用Q币更换主页皮肤方法
·《二战狙击手:胜利的召唤》全攻略 - 游戏攻略
·一次入侵过程的公开分析
·QQ空间最新黄钻皮肤代码
·由浅入深学习Flash制作高射炮游戏
相关软件:
·超经典街机游戏13合一
·三国群英传5 宇峻科技 单机游戏
·培训游戏
·QQ游戏大厅V2007 Beta 1
·扑克游戏四合一
·3D 动画与建模:人体的综合与分析技术
·游戏修改至尊Fix People Expert(FPE) 2001
·经典爱国游戏:抗日地雷战
·d3dx9_27.dll游戏执行补丁
·街机模拟器:LF2小斗士游戏(小斗士2)

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot