天地之灵学习小组
我们学习小组的OpenGL学习笔记 大家一定要互相折磨呀~~
posts - 150,  comments - 156,  trackbacks - 0
今天偷懒了下,才写了七十行代码,罪过。反对偷懒。
empty函数在bottle类里。

    
bool empty( int x, int y )
    {
        
if ( x<0 || x>=8 || y<0 || y>=16 ) return false;
        
if ( b_grid_type[y][x] == NOTHING ) return true;
        
return false;
    }
move函数在doctor类里。

    
void move( void )
    {
        
switch( d_direct )
        {
        
case DD_DOWN:
            
if ( d_state )
            {
                
if ( bottle->empty( d_x, d_y+1 ) )
                {
                    
++d_y;
                    
break;
                }
            }
            
else
            {
                
if ( bottle->empty( d_x, d_y+1 ) && bottle->empty( d_x+1, d_y+1 ) )
                {
                    
++d_y;
                    
break;
                }
            }
            
/*************这里没写完,预计是个while(true)的循环*********************/
            
break;
        
case DD_UP:
            
if ( d_state )
            {
                
if ( bottle->empty( d_x+1, d_y ) ) d_state = false;
                
else if ( bottle->empty( d_x-1, d_y ) ) { --d_x; d_state = false; }
            }
            
else
            {
                
if ( bottle->empty( d_x, d_y-1 ) )
                {
                    d_state 
= true;
                    Color tmp 
= d_color[0];
                    d_color[
0= d_color[1];
                    d_color[
1= tmp;
                }
                
else if ( bottle->empty( d_x+1, d_y-1 ) )
                {
                    
++d_x;
                    d_state 
= true;
                    Color tmp 
= d_color[0];
                    d_color[
0= d_color[1];
                    d_color[
1= tmp;
                }
            }
            
break;
        
case DD_LEFT:
            
if ( d_state && bottle->empty( d_x-1, d_y ) && bottle->empty( d_x-1, d_y-1 ) ) --d_x;
            
if ( !d_state && bottle->empty( d_x-1, d_y ) ) --d_x;
            
break;
        
case DD_RIGHT:
            
if ( d_state && bottle->empty( d_x+1, d_y ) && bottle->empty( d_x+1, d_y-1 ) ) --d_x;
            
if ( !d_state && bottle->empty( d_x+1, d_y ) ) --d_x;
            
break;
        
default:
            
break;
        }
    }
我在想猫说的话,一天四百行,一年就是12W行。我觉得,写玛丽医生这种代码,除了理顺思路的时候费点脑子以外,码代码的时候还是相当轻松的,比那些邪门算法轻松多了,一天四百行倒也不是没有可能呢。婷婷加油,毕业的时候一定要拿出至少十万行代码来。

FeedBack:
# re: 10月20日_今天偷个小懒_By PureMilk[未登录]
2008-10-21 20:37 | missdeer
10w行-_-b
tt加油!!  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(6)

随笔分类(149)

随笔档案(150)

同道中人

搜索

  •  

积分与排名

  • 积分 - 35773
  • 排名 - 524

最新随笔

最新评论

阅读排行榜

评论排行榜