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