- Timestamp:
- 02/19/08 02:44:12 (9 months ago)
- Location:
- lang/d/koke/trunk
- Files:
-
- 4 modified
-
build.bat (modified) (1 diff)
-
character.d (modified) (8 diffs)
-
config.ini (modified) (5 diffs)
-
resource/image/char.bmp (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
-
lang/d/koke/trunk/build.bat
r6427 r6898 17 17 18 18 :END 19 pause 19 20 -
lang/d/koke/trunk/character.d
r6347 r6898 35 35 EXPLODE, 36 36 UP_NUSHI, 37 ARASHI, 37 38 MAX, 38 39 } 39 40 // 名称 40 41 static string type_name[] = 41 ["SHADOW" , "NICOCHU" , "SOWAKA" , "RAINBOW_RAY" , "EXPLODE" , "UP_NUSHI" , " MAX"];42 ["SHADOW" , "NICOCHU" , "SOWAKA" , "RAINBOW_RAY" , "EXPLODE" , "UP_NUSHI" , "ARASHI" , "MAX"]; 42 43 static const double type_movespeed[] = 43 [ 0.0 , 0.03 , 0.1 , 0.5 , 0 , 0.03 ]; // 移動速度44 [ 0.0 , 0.03 , 0.1 , 0.5 , 0 , 0.03 , 0.04 ]; // 移動速度 44 45 static const bool type_shadow[] = 45 [ false , true , true , false , false , true ]; // 影の有無46 [ false , true , true , false , false , true , true ]; // 影の有無 46 47 static const bool type_shake[] = 47 [ false , true , true , false , false , true ]; // 揺れの有無48 [ false , true , true , false , false , true , true ]; // 揺れの有無 48 49 static const int type_life_max[] = 49 [ 0 , 20 , 9999 , 0 , 0 , 20 ]; // ライフ上限値50 [ 0 , 20 , 9999 , 0 , 0 , 20 , 20 ]; // ライフ上限値 50 51 static const bool type_blocking[] = 51 [ false , true , true , false , false , true ]; // 衝突判定の有無52 [ false , true , true , false , false , true , true ]; // 衝突判定の有無 52 53 static const int type_life_dec[] = 53 [ 0 , 40 , 0 , 0 , 0 , 40 ]; // ライフ減少時間(フレーム)54 [ 0 , 40 , 0 , 0 , 0 , 40 , 80 ]; // ライフ減少時間(フレーム) 54 55 55 56 // 方向 … … 72 73 VANISH, // 消失(爆発エフェクト向け) 73 74 DYING, // 死亡中 74 EATING, // もぐもぐ中 75 SPAWNING, // 増殖中76 } 77 static const int motion_interval[] = [ 0 , 999 , 20 , 2 , 24 , 40 , 20 , 40];75 EATING, // もぐもぐ中(ニコ厨の芝) 76 EATING2, // もぐもぐ中2(あらしの動画) 77 } 78 static const int motion_interval[] = [ 0 , 999 , 20 , 2 , 24 , 40 , 20 , 80]; 78 79 79 80 DIRECTION direction; // 方向 … … 233 234 break; 234 235 236 // あらし 237 case TYPE.ARASHI: 238 if(motion == MOTION.NORMAL){ 239 if(eatMovie()){ 240 setMotion(MOTION.EATING2); 241 }else{ 242 if(Hell_randInt(0,10) < 3){ 243 selectNewDirection(); 244 } 245 setMotion(MOTION.WALK); 246 } 247 } 248 map.setGrass(x,y,0); 249 250 break; 251 235 252 default: 236 253 break; … … 326 343 327 344 if(move_fraction != 0) return false; 328 if(gamemain.map.getGrassLevel(x,y) < 1) return false; // レベル 2以上の芝しか食べない345 if(gamemain.map.getGrassLevel(x,y) < 1) return false; // レベル1以上の芝しか食べない 329 346 330 347 // 芝を食う … … 334 351 life /= 2; 335 352 336 Character c = gamemain.charpool.set( new Vec3(position.x , position.y , 0) , TYPE.NICOCHU); 353 TYPE ty = TYPE.NICOCHU; 354 // 一定率で"あらし"になる 355 if(Hell_randInt(0,100) < configparser.getint("ARASHI_TRANSFORM_RATIO")){ 356 ty = TYPE.ARASHI; 357 } 358 359 Character c = gamemain.charpool.set( new Vec3(position.x , position.y , 0) , ty); 337 360 if(c){ 338 361 c.life = life; … … 340 363 c.direction = cast(DIRECTION) Hell_randInt( 0 , DIRECTION.MAX ); 341 364 } 365 342 366 } 343 367 } 344 368 gamemain.map.setGrass(x,y,0); 345 369 return true; 370 } 371 372 // 動画を食べる 373 bool eatMovie(){ 374 int x = cast(int)position.x , y = cast(int)position.y; 375 376 if(move_fraction != 0) return false; 377 for(int t = 0 ; t < cast(int)DIRECTION.MAX ; t++){ 378 int px = x + cast(int)vecx[t]; 379 int py = y + cast(int)vecy[t]; 380 if(gamemain.map.isMap(px,py, MapChip.TYPE.MOVIE)){ 381 // 動画を食べる 382 direction = cast(DIRECTION)t; 383 gamemain.map.set(px,py,MapChip.TYPE.NONE); 384 385 Character c = gamemain.charpool.set( new Vec3(px , py , 0) , TYPE.EXPLODE); 386 if(c){ 387 c.setMotion(MOTION.VANISH); 388 } 389 390 return true; 391 } 392 } 393 return false; 346 394 } 347 395 … … 463 511 ,0,255,255,255,alpha); 464 512 }else if(motion == MOTION.EATING){ 465 // 食事中 513 // 食事中(ニコ厨が芝を食べる) 466 514 Hell_drawTexture("char" 467 515 , map.toViewX(mx,my) + (1 - reverse) * CHIP_SIZE / 2 , map.toViewY(mx,my) - ((timer / 3) % 2) * 2 … … 469 517 ,CHIP_SIZE * type 470 518 ,CHIP_SIZE , CHIP_SIZE , reverse , 1.0); 471 } 519 }else if(motion == MOTION.EATING2){ 520 // 食事中2(あらしが動画を食べる) 521 Hell_drawTexture("char" 522 , map.toViewX(mx,my) + (1 - reverse) * CHIP_SIZE / 2 , map.toViewY(mx,my) + shake 523 ,CHIP_SIZE * (cast(int)direction / 2 + ((timer / 8) % 2) * 2) + CHIP_SIZE * 5 524 ,CHIP_SIZE * type 525 ,CHIP_SIZE , CHIP_SIZE , reverse , 1.0); 526 } 472 527 }else{ 473 528 } -
lang/d/koke/trunk/config.ini
r6347 r6898 1 #2 # 芝が生えるゲーム の コンフィグ3 1 # 4 # いろいろパラメータを外部化してみた。2 #�@�ł��������[���@�́@�R���t�B�O 5 3 # 6 # 「#」で始まる行以外がゲーム内パラメータの定義分。 7 # 数値をいじっていろいろできるかもよ。 8 # ただ、変な値でも通っちゃったりするので自己責任でよろすこw 4 # ���낢�������[�^��������Ă݂��B 9 5 # 10 # 行の頭に「#」をつけるとその行は無視されます。メモにどうぞ 6 # �u#�v�Ŏn�܂��ȊO���Q�[���������[�^�̒����B 7 # ���l�����Ă��낢�����邩���B 8 # �����A�ςȒl�ł���������肷���Ŏ��ȐӔC�ł�����w 9 # 10 # �s�̓��Ɂu#�v��������̍s�͖����������B�����ɂǂ��� 11 11 # 12 12 … … 14 14 15 15 # -------------------------------------------------------------------- 16 # マップの大きさ16 # �}�b�v�̑傫�� 17 17 18 18 # MAP_WIDTH 19 # マップ横幅(標準:48)20 # マップサイズが大きくなるの合わせて21 # CPU負荷が大きくなるため、極端に大きな値には注意19 # �}�b�v����(�W��:48) 20 # �@�}�b�v�T�C�Y���傫���Ȃ����킹�� 21 # �@CPU���ׂ��傫���Ȃ邽�߁A�ɒ[�ɑ傫�Ȓl�ɂ͒��� 22 22 MAP_WIDTH = 48 23 23 24 24 # MAP_HEIGHT 25 # マップ縦幅(標準:48) 26 # 同上 27 MAP_HEIGHT = 48 25 # �}�b�v�c��(�W��:48) 26 # �@����MAP_HEIGHT = 48 28 27 29 28 30 29 31 30 # -------------------------------------------------------------------- 32 # マップの設定(システム寄り31 # �}�b�v�̐ݒ�V�X�e���� 33 32 34 33 # MAP_GRASS_COLOR_R/G/B 35 # 芝の色(標準:すべて128)36 # 芝だけはchar.bmpからコピーされるときにこの色で乗算される(黒に近づく)37 # 詳しくはRGBカラーでぐぐれ (値範囲:0~255)38 # 芝のキャラ絵を書き換えるときは、ここをすべて255にするといいカモよ?34 # �ł̐F(�W��:���ׂ�28) 35 # �@�ł�����har.bmp�����s�[�����Ƃ��ɂ��̐F�ŏ�����(���ɋ߂Â�) 36 # �@�ڂ�����GB�J���[�ł������l�͈�0�`255) 37 # �@�ł̃L�����G������������́A������ׂ�55�ɂ��������J���� 39 38 MAP_GRASS_COLOR_R = 128 40 39 MAP_GRASS_COLOR_G = 128 … … 42 41 43 42 # MAP_GRASS_AFFECT 44 # 芝の影響度(標準:0.9) 45 # 芝の、周囲の芝えねるぎー濃度に対する影響量(0.0~1.0) 46 # 大きいほど影響を受けにくい、小さいほど影響を受けやすくなる 47 # 変化量が大きいので扱いに注意。 43 # �ł̉e���x(�W��:0.9) 44 # �@�ł́A��ł��˂邬�[�Z�x�ɑ�������0.0�`1.0) 45 # �@�傫���قlje������ɂ����A�������قlje������₷���Ȃ�# �@�ω��ʂ��傫���̂ň����ɒ��ӁB 48 46 MAP_GRASS_AFFECT = 0.90 49 47 50 48 # MAP_GRASS_AFFECT_LIMIT 51 # 芝の影響量(標準:0.5)52 # 芝えねるぎーのフレームあたりの増加量上限値53 # 芝の生えすぎを抑制する値49 # �ł̉e�����W��:0.5) 50 # �@�ł��˂邬�[�̃t���[������������ʏ��l 51 # �@�ł̐�������������� 54 52 MAP_GRASS_AFFECT_LIMIT = 0.5 55 53 56 54 # MAP_REFRESH_INTERVAL 57 # マップ情報の更新フレーム間隔(標準:6)58 # マップの芝情報を更新する間隔(1~無限大)。単位はフレーム59 # 小さいほどCPU負荷が高くなるかわりに、芝展開が速くなる。60 # (※CPU負荷 ≒ マップ縦 × マップ横 ÷ 更新フレーム間隔)55 # �}�b�v���̍X�V�t���[���Ԋu(�W��:6) 56 # �@�}�b�v�̎ŏ���V�����u(1�`�����B�P�ʂ̓t���[�� 57 # �@�������ق�PU���ׂ������Ȃ邩���ɁA�œW�J�������Ȃ� 58 # �@(��CPU������}�b�v�c �~ �}�b�v�� �� �X�V�t���[���Ԋu) 61 59 MAP_REFRESH_INTERVAL = 10 62 60 63 61 # MAP_MOVIE_GRASS_FEED 64 # 動画の芝えねるぎー供給上限(標準:200)65 # 動画の下にあるマスは常にこの芝えねるぎー量になる。62 # �����ł��˂邬�[������(�W��:200) 63 # �@�������ɂ����X�͏����̎ł��˂邬�[�ʂɂȂ� 66 64 MAP_MOVIE_GRASS_FEED = 200 67 65 … … 69 67 70 68 # -------------------------------------------------------------------- 71 # ニコ厨69 # �j�R�~ 72 70 73 71 # NICOCHU_TURN_RATIO 74 # ニコ厨が方向を変える確率%(標準:50)75 # ニコ厨が一マス歩くごとにこの確率で方向を変えます。76 # 変えるとき、芝の濃い方に高い確率で向きます。(低確率で芝の薄い方にも)72 # �j�R�~�����ς�������(�W��:50) 73 # �@�j�R�~�����X�����Ƃɂ��̊m���ŕ��ς��܂��B 74 # �@�ς������A�ł̔Z�������m���Ō���B(�����Ŏł̔�����) 77 75 NICOCHU_TURN_RATIO = 50 78 76 … … 80 78 81 79 # -------------------------------------------------------------------- 82 # うp主 83 80 # ��p�� 84 81 # UPNUSHI_TRANSFORM_INTERVAL 85 # ニコ厨がうp主に代わるかどうか判定する周期(標準:60秒)86 # ニコ厨が誕生してから、この時間が経過するたび、うp主へ変態するかどうか判定します。82 # �j�R�~����p�����邩�ǂ������肷�����:60�b) 83 # �@�j�R�~���a�����Ă������̎��Ԃ��o�߂��邽�сA��p���ϑԂ��邩�ǂ������肵�܂��B 87 84 UPNUSHI_TRANSFORM_INTERVAL = 60 88 85 89 86 # UPNUSHI_TRANSFORM_RATIO 90 # 上の判定タイミングで、ニコ厨がうp主になる確率%(標準:20)87 # �������C�~���O�ŁA�j�R�~����p���Ȃ�����(�W��:20) 91 88 UPNUSHI_TRANSFORM_RATIO = 20 89 90 91 92 # -------------------------------------------------------------------- 93 # ���炵 94 # ARASHI_TRANSFORM_RATIO = 5 95 # �j�R�~�����炵�ɂȂ�����(�W��:5) 96 # �@�j�R�~�����B�������A���̊m���Ńj�R�~�̑������炵�����܂� 97 ARASHI_TRANSFORM_RATIO = 5
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)