NCF参数化建筑论坛

标题: 新手第一贴,发个自写processing小程序 [打印本页]

作者: yizhishinubi    时间: 2010-8-30 11:54
标题: 新手第一贴,发个自写processing小程序
本帖最后由 yizhishinubi 于 2010-8-30 16:01 编辑 新研究了点processing,教程都是从论坛里下的,有点成果就发上来了,请高手指点,顺便赚点照度,哎- - ps。开学了,大家一起加油。。。 [attach]10352[/attach] 截图我忽略了,现在截上,代码也copy过来了,上下左右ctrl键。。汗,这也忘说了。 [attach]10356[/attach] //mp=map;hx,hy=headXY;lx,ly=last_headXY;tx,ty=tailXY //d=head_direction;td=tail_direction;len=length int i,j; int[][] mp=new int[61][41]; int hx=40,hy=30,lx=41,ly=30; int tx=44,ty=30,d=1,td=1,len=5; //c=wall_available;p=peas;pau=pause;tm=delay_time_ms int c=1,p=0,px,py,pau,tm=15; //draw_world void setup(){   size(609,409);   smooth();      noStroke();   for(i=0;i<=60;i++){     for(j=0;j<=40;j++){       if((i==0||j==0||i==60||j==40)&&c==0){         mp[j]=6;         fill(110,80,40);       }else{         mp[j]=0;         fill(255);      }      rect(i*10,j*10,9,9);     }   }   fill(70,170,255);   for(i=40;i<=44;i++){     mp[30]=1;     rect(i*10,300,9,9);   } }   //main_start void draw(){ //pause_start if(pau==0){ //head_part     fill(20,130,255);   rect(hx*10,hy*10,9,9);     fill(70,170,255);   rect(lx*10,ly*10,9,9);   lx=hx;ly=hy;   if(d==1){     hx=hx-1;if(hx<0){     hx=60;}   } if(d==2){     hx=hx+1;if(hx>60){     hx=0;}   } if(d==3){     hy=hy-1;if(hy<0){     hy=40;}   } if(d==4){     hy=hy+1;if(hy>40){     hy=0;}   } //eat_or_die if(mp[hx][hy]==6&&c==0){     game_over();   } if(mp[hx][hy]<=4&&mp[hx][hy]>=1){     game_over();   } if(mp[hx][hy]==9){     p=0;len=len+1;mp[lx][ly]=d;   } mp[lx][ly]=d; //tail_part   if(p!=0){   td=mp[tx][ty];   mp[tx][ty]=0;   fill(255);   rect(tx*10,ty*10,9,9);   if(td==1){       tx=tx-1;if(tx<0){       tx=60;}     }   if(td==2){       tx=tx+1;if(tx>60){       tx=0;}     }   if(td==3){       ty=ty-1;if(ty<0){       ty=40;}     }   if(td==4){       ty=ty+1;if(ty>40){       ty=0;}     } } delay(tm); //set_peas   if(p==0){   do{     px=int(random(61));     py=int(random(41));   }while(mp[px][py]!=0);   p=1;   mp[px][py]=9;   fill(220,110,50);   rect(px*10,py*10,9,9); } //pause_over } //keyboard_control if(keyPressed) {   if(keyCode==37&&d!=2){       d=1;pau=0;     }   if(keyCode==39&&d!=1){       d=2;pau=0;     }   if(keyCode==38&&d!=4){       d=3;pau=0;     }   if(keyCode==40&&d!=3){       d=4;pau=0;     }   if(keyCode==17){       pau=1;     } } //main_over } //sub void game_over(){ print("over"); noLoop(); }
作者: yanhui314    时间: 2010-8-30 13:26
本帖最后由 yanhui314 于 2010-8-30 13:27 编辑 支持探索,不过还是得贴个图不是?
作者: claudemit    时间: 2010-8-30 14:22
为啥运行起来贪吃蛇只在一行上爬动。。。 我也要抓紧学习了
作者: claudemit    时间: 2010-8-30 18:47
有趣,可惜转向不是很好控制 要是把爬行速度调慢了转向的速度也变慢了 PS 像keyCode这样的默认参数有没有帮助文件可以查询啊
作者: yizhishinubi    时间: 2010-8-30 20:24
wow。多谢支持。ls说的问题我也不知怎么解决了,查函数貌似是在菜单的help-->reference里了:) 有点困惑的是,这软件是如何辅助设计的,不知有没有类似案例呢。。
作者: panhao1    时间: 2010-8-30 22:17
5# yizhishinubi 这个麻烦了 后面的网格线可以画个背景图贴上来着
作者: panhao1    时间: 2010-8-30 22:56
以前我也是问别人VS是怎么解决设计的 这个当然不能单独解决设计问题 主要是作为一个强有力的计算工具而存在的 因为建模软件做平台的计算能力都很有限 (GH除外) 但是GH代码很麻烦 可载的类库不如java多 所以我们才要用processing 现在论坛的主要关注点正转向processing 感谢你对论坛的支持
作者: yizhishinubi    时间: 2010-8-31 10:37
明白了,不过我GH都还没整利落,看来还要把基础的东西先弄会。另外,希望有更多好的例子在新开的processing版块里出现。。。
作者: 董羽天    时间: 2010-8-31 18:35
嗯 学习了 O(∩_∩)O谢谢
作者: goodsky2009    时间: 2010-8-31 20:11
代码我粘贴后用不了呢。不知道有没有人跟我同样情况。
作者: douding226    时间: 2010-8-31 21:26
我也想自己写~~~可是还不会编程
作者: winterstory    时间: 2010-9-15 23:45
我的也运行不了。。。
作者: suzhou    时间: 2010-10-22 10:44
我在我电脑上无法运行,提示 mp[j]=6;这个出现conn't conver from int to int[]错误!不知道怎么改正?
作者: 金子    时间: 2010-12-20 23:12
本帖最后由 金子 于 2010-12-21 16:01 编辑 把int [][]mp改成int mp[][] 把所有的mp[]改成mp[]
作者: suzhou    时间: 2010-12-26 00:07
还是不可以啊!出现同一个问题!而且找不到mp[]啊!mp后面都跟有字母!我是新手,请前辈多多指导!
作者: xuecaiin22    时间: 2011-1-7 19:33
不错。。。
作者: whaat    时间: 2011-1-8 14:51
1# yizhishinubi 贪吃蛇....
作者: 茜茜    时间: 2011-2-28 16:27
恩 我也在學習 剛上手
作者: jasonkwh    时间: 2011-3-19 15:13
支持下~~~~
作者: lightoo    时间: 2012-2-28 12:07
跑的太快了。。。完全控制不了啊
作者: mysanaa    时间: 2014-8-5 19:36
小时候的游戏  。。。  哈哈
作者: 横穿马路    时间: 2016-7-2 04:08
谢谢楼主,好东西,支持下。




欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2