Mercurial > hg > Members > kono > tree_dandy2
diff tokuten.c @ 0:01387a2e419e
initial version
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 07 Dec 2010 15:39:45 +0900 |
parents | |
children | 972a7f233b23 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tokuten.c Tue Dec 07 15:39:45 2010 +0900 @@ -0,0 +1,160 @@ +#include <SDL.h> +#include "object.h" +#include "tokuten.h" +#include "bom.h" +#include "bool.h" +//#include "libps.h" +#include "sgoex.h" +#include "count2.h" +#include "SDL_opengl.h" +int enemycount = 0; +int higecount = 0; +int stcount = 0; + +/*エンヂング集計用*/ +int clear_result[4]; +int end_jiki_x; +int end_jiki_y; +int end_jiki_v; +int end_jiki_vx; +int end_jiki_vy; +int end_jiki_size; + +/*エクステンド*/ +int p_extend = 200000; + +void tokuten() +{ + int i; + + int ten1, ten2, ten3, ten4, keta = 1000000000; + if (enemycount > higecount) + higecount = enemycount; + ten2 = enemycount; + ten4 = higecount; + for (i = 0; i < 10; i++) { + ten1 = ten2 / keta; + ten3 = ten4 / keta; + + //score + count++; + PutSprite(count, 32*(i+32)-800, 20, 20 + ten1); + count++; + PutSprite(count, 728 + 32 * i, 20, 20 + ten3); + + ten2 -= ten1 * keta; + ten4 -= ten3 * keta; + keta /= 10; + } + count++; + PutSprite(count, 90, 20, 18); //1P + count++; + PutSprite(count, 600, 20, 38);// HIGE + + if (enemycount >= p_extend) { + if (p_extend == 1000000) { + p_extend = 1999999999; + jiki.zanki++; + } + if (p_extend == 200000) { + p_extend = 1000000; + jiki.zanki++; + } + } +} + +void Endingscore(int fc) +{ + int i, a, b; + /*all stage clear */ + if (fc < 600) { + count++; + PutSprite(count, 600, 100, 111); + } + /*rest */ + if (fc > 120 && fc < 600 && jiki.ccount > 2) { + a = jiki.zanki - 1; + if (a != 0) { + count++; + PutSprite(count, 600, 160, 112); //REST + count++; + PutSprite(count, 800, 160, 20 + a); + count++; + PutSprite(count, 832, 160, 115);//0000000 + } + } + /*result stage */ + for (i = 0; i < 4; i++) { + if (fc > 200 + i * 60 && fc < 600 && jiki.ccount > 2) { + a = clear_result[i]; + count++; + PutSprite(count, 400, 212 + i * 48, 113); /*stage */ + // PutSprite(count, 64, 112 + i * 24, 113); /*stage */ + count++; + PutSprite(count, 300 + 40, 212 + i * 48, 21 + i); /*1kara4 */ + // PutSprite(count, 64 + 40, 112 + i * 24, 21 + i); /*1kara4 */ + + count++; + PutSprite(count, 800, 220 + i * 48, 200 + a); + // PutSprite(count, 400, 120 + i * 24, 200 + a); + + b = a * (i + 1); + count++; + PutSprite(count, 800, 220 + i * 48, 20 + b / 10); + // PutSprite(count, 500, 120 + i * 24, 20 + b / 10); + count++; + PutSprite(count, 800, 220 + i * 48, 20 + b % 10); + // PutSprite(count, 600, 120 + i * 24, 20 + b % 10); + + count++; + PutSprite(count, 832, 220 + i * 48, 114); // 000000 + // PutSprite(count, 600, 120 + i * 24, 114); + } + } + if (fc == 560 && jiki.ccount > 2) { + enemycount += (jiki.zanki - 1) * 10000000 + + clear_result[0] * 1000000 + + clear_result[1] * 2000000 + + clear_result[2] * 3000000 + clear_result[3] * 5000000; + return; + } + /*エンディング準備 */ + if (fc == 600) { + jiki.bf = FALSE; + // end_jiki_vx = (640 - 64) - jiki.x; + // end_jiki_vy = (230 - 64) - jiki.y; + end_jiki_x = 1200; + end_jiki_y = 880; + end_jiki_size = 2; + return; + } + if (fc > 601) { + if (fc < 1112) { + end_jiki_x -= 0.2; + end_jiki_y -= 0.05; + end_jiki_size -= 0.005; + } + jiki.bf = FALSE; + + if (fc > 720 && fc < 840) { + count++; + PutSprite(count, 800, 400, 116); + } + + if (fc > 960) { + count++; + PutSprite(count, 1000, 800, 117); // PutSprite(count, 128, 72, 117); + count++; + PutSprite(count, 1000, 840, 118); // PutSprite(count, 128, 88, 118); + count++; + PutSprite(count, 1000, 880, 120); // PutSprite(count, 128, 104, 120); + } + + count++; + // PutSprite(count, end_jiki_x / 4096, end_jiki_y / 4096, 3); + PutSpriteEx(3, end_jiki_x, end_jiki_y, end_jiki_size, end_jiki_size, 1); + count++; + // PutSprite(count, 160 - 30, 64, 195); + PutSpriteEx(195, 180, 200, 2 - end_jiki_size, 2 - end_jiki_size, 1); + } +}