Untitled
user_1366777
plain_text
9 months ago
34 kB
3
Indexable
#include<iostream> #include<conio.h> using namespace std; void clean_and_draw_border(char x[][150], int r,int c) { for (int i = 0; i < 200; i++) { for (int j = 0; j < 150; j++) { x[i][j] = ' '; } } for (int i=r; i <r+ 50; i++) { x[i][0] = 186; x[i][149] = 186; } for (int i = 1; i < 150; i++) { x[r+0][i] = 205; x[r+2][i] = 205; x[r+49][i] = 205; } x[r][0] = 201; x[r+2][0] = 204; x[r+49][0] = 200; x[r][149] = 187; x[r+2][149] = 185; x[r+49][149] = 188; } void cout_to_screen(char x[][150], int l,int r,int c) { system("cls"); if (l == 1) { for (int i = r; i < r+50; i++) { for (int j = 0; j < 150; j++) { cout << x[i][j]; } cout << endl; } } } void draw_stats(char x[][150], int hlr, int hlc,int r,int c,int reload) { x[r+hlr][hlc] = 'H'; x[r+hlr][hlc + 1] = 'E'; x[r+hlr][hlc + 2] = 'A'; x[r+hlr][hlc + 3] = 'L'; x[r+hlr][hlc + 4] = 'T'; x[r+hlr][hlc + 5] = 'H'; x[r+hlr][hlc + 6] = '='; /*x[r+hlr][hlc + 7] = 003; x[r+hlr][hlc + 8] = 003; x[r+hlr][hlc + 9] = 003;*/ x[r+hlr][hlc + 12] = 'B'; x[r+hlr][hlc + 13] = 'U'; x[r+hlr][hlc + 14] = 'L'; x[r+hlr][hlc + 15] = 'L'; x[r+hlr][hlc + 16] = 'E'; x[r+hlr][hlc + 17] = 'T'; x[r+hlr][hlc + 18] = '='; if (reload == 5) { x[r + hlr][hlc + 19] = '5'; } if (reload == 4) { x[r + hlr][hlc + 19] = '4'; } if (reload == 3) { x[r + hlr][hlc + 19] = '3'; } if (reload == 2) { x[r + hlr][hlc + 19] = '2'; } if (reload == 1) { x[r + hlr][hlc + 19] = '1'; } if (reload == 0) { x[r + hlr][hlc + 19] = '0'; } } void draw_l1(char x[][150], int rl) { for (int i = 1; i < 135; i++) { x[rl][i] = 205; x[rl+1][i] = 178; x[rl + 2][i] = 178; x[rl+3][i] = 205; } for (int i = 146; i < 149; i++) { x[rl][i] = 205; x[rl + 1][i] = 178; x[rl + 2][i] = 178; x[rl+3][i] = 205; } } void draw_l2(char x[][150], int rl) { for (int i = 148; i > 13; i--) { x[rl][i] = 205; x[rl + 1][i] = 178; x[rl + 2][i] = 178; x[rl + 3][i] = 205; } for (int i = 3; i >= 1; i--) { x[rl][i] = 205; x[rl + 1][i] = 178; x[rl + 2][i] = 178; x[rl + 3][i] = 205; } } void draw_ladder(char x[][150], int rladder, int cladder, int rl) { for (int i = rladder; i < rl; i++) { x[i][135] = '|'; x[i][146] = '|'; for (int c = cladder + 1; c < 146; c++) { x[i][c] = '-'; } } } void draw_fire(char x[][150],int rfire,int cfire, int i) { if (i % 2 == 0) { for (int i = cfire; i < 110; i += 4) { x[rfire - 1][i] = '('; x[rfire - 1][i + 1] = '_'; x[rfire - 1][i + 2] = ','; x[rfire - 1][i + 3] = ')'; x[rfire - 2][i + 1] = ')'; x[rfire - 2][i + 2] = '('; x[rfire - 2][i + 3] = ','; x[rfire - 3][i + 2] = '.'; x[rfire - 3][i + 1] = ')'; x[rfire - 4][i + 2] = '('; x[rfire][i] = '^'; x[rfire][i + 1] = '^'; x[rfire][i + 2] = '^'; x[rfire][i + 3] = '^'; } } if (i % 2 != 0) { for (int i = cfire; i < 110; i += 4) { x[rfire - 1][i] = '('; x[rfire - 1][i + 1] = '_'; x[rfire - 1][i + 2] = ','; x[rfire - 1][i + 3] = ')'; x[rfire - 2][i + 1] = ')'; x[rfire - 2][i + 2] = '('; x[rfire - 2][i + 3] = ','; x[rfire - 3][i + 2] = '('; x[rfire - 3][i + 1] = ','; x[rfire][i] = '^'; x[rfire][i + 1] = '^'; x[rfire][i + 2] = '^'; x[rfire][i + 3] = '^'; } } } void fire_kill_hero(char x[][150],int &rhero,int &chero) { if (x[rhero + 1][chero] == ')' || x[rhero + 1][chero] == '(' || x[rhero + 1][chero] == '.' || x[rhero + 1][chero] == ',' || x[rhero + 1][chero + 1] == ')' || x[rhero + 1][chero + 1] == '(' || x[rhero + 1][chero + 1] == '.' || x[rhero + 1][chero + 1] == ','|| x[rhero + 1][chero+7] == ')' || x[rhero + 1][chero+7] == '(' || x[rhero + 1][chero+7] == '.' || x[rhero + 1][chero+7] == ',' || x[rhero + 1][chero + 8] == ')' || x[rhero + 1][chero + 8] == '(' || x[rhero + 1][chero + 8] == '.' || x[rhero + 1][chero + 8] == ',') { rhero = 24; chero = 2; } } void draw_slem(char x[][150],int rslem,int cslem) { x[rslem][cslem] = 202; x[rslem - 1][cslem] = 201; x[rslem - 1][cslem+1] = 205; x[rslem-1][cslem+2] = 205; x[rslem - 1][cslem + 3] = 205; x[rslem - 1][cslem + 4] = 188; x[rslem - 2][cslem + 4] = 201; x[rslem - 2][cslem + 5] = 205; x[rslem - 2][cslem + 6] = 205; x[rslem - 2][cslem + 7] = 205; x[rslem - 2][cslem + 8] = 188; x[rslem - 3][cslem + 8] = 201; x[rslem - 3][cslem + 9] = 205; x[rslem - 3][cslem + 10] = 205; x[rslem - 3][cslem + 10] = 205; x[rslem - 3][cslem + 11] = 188; x[rslem-4 ][cslem + 11] = 201; x[rslem - 4][cslem + 12] = 205; x[rslem - 4][cslem + 13] = 205; x[rslem - 4][cslem + 14] = 187; for (int i = 3; i > 0; i--) { x[rslem - i][cslem+ 14] = 186; } x[rslem][cslem + 14] = 202; } void draw_slem_2(char x[][150],int rslem,int cslem) { x[rslem][cslem] = 202; x[rslem - 1][cslem] = 186; x[rslem - 2][cslem] = 186; x[rslem - 3][cslem] = 201; x[rslem - 3][cslem + 1] = 205; x[rslem - 3][cslem + 2] = 205; x[rslem - 3][cslem + 3] =187; x[rslem - 2][cslem + 3] = 200; x[rslem - 2][cslem + 4] = 205; x[rslem - 2][cslem + 5] = 187; x[rslem - 1][cslem + 5] = 200; x[rslem - 1][cslem + 6] = 205; x[rslem -1][cslem + 7] = 187; x[rslem ][cslem + 7] = 202; } void draw_selim(char x[][150], int rselim, int cselim) { x[rselim][cselim] = 200; x[rselim][cselim + 1] = 205; x[rselim][cselim + 2] = 205; x[rselim][cselim + 3] = 205; x[rselim][cselim + 4] = 205; x[rselim][cselim + 5] = 205; x[rselim][cselim + 6] = 205; x[rselim][cselim + 7] = 205; x[rselim][cselim + 8] = 205; x[rselim][cselim + 9] = 205; x[rselim][cselim + 10] = 205; x[rselim][cselim + 11] = 188; x[rselim-1][cselim] = 201; x[rselim-1][cselim + 1] = '='; x[rselim-1][cselim + 2] = '='; x[rselim-1][cselim + 3] = '='; x[rselim-1][cselim + 4] = '='; x[rselim-1][cselim + 5] = '='; x[rselim-1][cselim + 6] = '='; x[rselim-1][cselim + 7] = '='; x[rselim-1][cselim + 8] = '='; x[rselim-1][cselim + 9] = '='; x[rselim-1][cselim + 10] = '='; x[rselim-1][cselim + 11] = 187; } void move_hero_on_platform(char x[][150], int& dir, int& rhero, int& chero) { if (x[rhero + 1][chero + 1] == '=' || x[rhero + 1][chero] == '=' || x[rhero + 1][chero + 2] == '=' || x[rhero + 1][chero + 3] == '=' || x[rhero + 1][chero + 4] == '=' || x[rhero + 1][chero + 5] == '=') { if (dir == 1) { chero++; } if (dir == -1) { chero--; } } } void move_selim(char x[][150], int& rselim, int& cselim, int& dirs) { if (dirs == 1) { if (cselim + 5 == 110) { dirs = -1; } } if (dirs == -1) { if (cselim == 38) { dirs = 1; } } cselim += dirs; } void draw_zomie(char x[][150], int rzombie, int czombie, int dirz, int zombieh) { if (zombieh > 0) { if (dirz == -1) { x[rzombie][czombie] = '|'; x[rzombie][czombie - 1] = '\\'; x[rzombie][czombie - 4] = '|'; x[rzombie][czombie - 5] = '\\'; x[rzombie - 1][czombie - 1] = '\\'; x[rzombie - 1][czombie - 2] = '\\'; x[rzombie - 1][czombie - 4] = '/'; x[rzombie - 1][czombie - 5] = '/'; x[rzombie - 2][czombie - 1] = '|'; x[rzombie - 2][czombie - 2] = '|'; x[rzombie - 2][czombie - 3] = '/'; x[rzombie - 2][czombie - 4] = '/'; x[rzombie - 2][czombie - 5] = '/'; x[rzombie - 2][czombie - 6] = '|'; x[rzombie - 2][czombie - 7] = '/'; x[rzombie - 2][czombie - 8] = '|'; x[rzombie - 3][czombie - 1] = '|'; x[rzombie - 3][czombie - 5] = '/'; x[rzombie - 3][czombie - 6] = '/'; x[rzombie - 3][czombie - 7] = '/'; x[rzombie - 3][czombie - 8] = '/'; x[rzombie - 4][czombie - 1] = '|'; x[rzombie - 4][czombie - 5] = '|'; x[rzombie - 4][czombie - 6] = '|'; x[rzombie - 4][czombie - 7] = '\\'; x[rzombie - 5][czombie - 2] = '\\'; x[rzombie - 5][czombie - 7] = '/'; x[rzombie - 5][czombie - 8] = '\\'; x[rzombie - 6][czombie - 3] = '\\'; x[rzombie - 6][czombie - 8] = 232; x[rzombie - 6][czombie - 9] = '\\'; x[rzombie - 7][czombie - 4] = '_'; x[rzombie - 7][czombie - 5] = '\\'; x[rzombie - 7][czombie - 9] = '/'; x[rzombie - 8][czombie - 6] = '_'; x[rzombie - 8][czombie - 7] = '_'; x[rzombie - 8][czombie - 8] = '_'; for (int i = 0; i < zombieh; i++) { x[rzombie - 9][czombie - 5 - i] = 254; } } if (dirz == 1) { x[rzombie][czombie] = '|'; x[rzombie][czombie + 1] = '/'; x[rzombie][czombie + 4] = '|'; x[rzombie][czombie + 5] = '/'; x[rzombie - 1][czombie + 1] = '/'; x[rzombie - 1][czombie + 2] = '/'; x[rzombie - 1][czombie + 4] = '/'; x[rzombie - 1][czombie + 5] = '/'; x[rzombie - 2][czombie + 1] = '|'; x[rzombie - 2][czombie + 2] = '|'; x[rzombie - 2][czombie + 3] = '\\'; x[rzombie - 2][czombie + 4] = '\\'; x[rzombie - 2][czombie + 5] = '\\'; x[rzombie - 2][czombie + 6] = '|'; x[rzombie - 2][czombie + 7] = '\\'; x[rzombie - 2][czombie + 8] = '|'; x[rzombie - 3][czombie + 1] = '|'; x[rzombie - 3][czombie + 5] = '\\'; x[rzombie - 3][czombie + 6] = '\\'; x[rzombie - 3][czombie + 7] = '\\'; x[rzombie - 3][czombie + 8] = '\\'; x[rzombie - 4][czombie + 1] = '|'; x[rzombie - 4][czombie + 5] = '|'; x[rzombie - 4][czombie + 6] = '|'; x[rzombie - 4][czombie + 7] = '\\'; x[rzombie - 5][czombie + 2] = '/'; x[rzombie - 5][czombie + 7] = '\\'; x[rzombie - 5][czombie + 8] = '/'; x[rzombie - 6][czombie + 3] = '/'; x[rzombie - 6][czombie + 8] = 232; x[rzombie - 6][czombie + 9] = '/'; x[rzombie - 7][czombie + 4] = '_'; x[rzombie - 7][czombie + 5] = '/'; x[rzombie - 7][czombie + 9] = '\\'; x[rzombie - 8][czombie + 6] = '_'; x[rzombie - 8][czombie + 7] = '_'; x[rzombie - 8][czombie + 8] = '_'; for (int i = 0; i < zombieh; i++) { x[rzombie - 9][czombie + 5 + i] = 254; } } } } void draw_hero(char x[][150], int rhero, int chero, int gunf, int direh) { if (gunf == 0) { x[rhero][chero] = '('; x[rhero][chero + 1] = '_'; x[rhero][chero + 2] = '_'; x[rhero][chero + 3] = '|'; x[rhero][chero + 5] = '|'; x[rhero][chero + 7] = '_'; x[rhero][chero + 6] = '_'; x[rhero][chero + 8] = ')'; x[rhero - 1][chero + 1] = '_'; x[rhero - 1][chero + 2] = '|'; x[rhero - 1][chero + 3] = '|'; x[rhero - 1][chero + 5] = '|'; x[rhero - 1][chero + 6] = '|'; x[rhero - 1][chero + 7] = '_'; x[rhero - 2][chero + 2] = '('; x[rhero - 2][chero + 3] = '|'; x[rhero - 2][chero + 5] = '|'; x[rhero - 2][chero + 6] = ')'; x[rhero - 3][chero + 1] = '<'; x[rhero - 3][chero + 2] = '|'; x[rhero - 3][chero + 3] = '|'; x[rhero - 3][chero + 4] = '^'; x[rhero - 3][chero + 5] = '|'; x[rhero - 3][chero + 6] = '|'; x[rhero - 3][chero + 7] = '>'; x[rhero - 4][chero] = '\\'; x[rhero - 4][chero + 1] = '\\'; x[rhero - 4][chero + 2] = '|'; x[rhero - 4][chero + 3] = '='; x[rhero - 4][chero + 4] = '='; x[rhero - 4][chero + 5] = '='; x[rhero - 4][chero + 6] = '|'; x[rhero - 4][chero + 7] = '/'; x[rhero - 4][chero + 8] = '/'; x[rhero - 5][chero] = '/'; x[rhero - 5][chero + 1] = '/'; x[rhero - 5][chero + 2] = '|'; x[rhero - 5][chero + 4] = 237; x[rhero - 5][chero + 6] = '|'; x[rhero - 5][chero + 7] = '\\'; x[rhero - 5][chero + 8] = '\\'; x[rhero - 6][chero + 1] = '_'; x[rhero - 6][chero + 2] = '_'; x[rhero - 6][chero + 4] = '_'; x[rhero - 6][chero + 6] = '_'; x[rhero - 6][chero + 7] = '_'; x[rhero - 6][chero + 3] = '`'; x[rhero - 6][chero + 5] = ','; x[rhero - 7][chero + 2] = '\\'; x[rhero - 7][chero + 4] = '='; x[rhero - 7][chero + 6] = '/'; x[rhero - 8][chero + 2] = '/'; x[rhero - 8][chero + 3] = 'e'; x[rhero - 8][chero + 5] = 'e'; x[rhero - 8][chero + 6] = '\\'; x[rhero - 9][chero + 3] = '.'; x[rhero - 9][chero + 4] = '"'; x[rhero - 9][chero + 5] = '.'; } if (gunf == 1) { if (direh == 0) { x[rhero][chero] = '('; x[rhero][chero + 1] = '_'; x[rhero][chero + 2] = '_'; x[rhero][chero + 3] = '|'; x[rhero][chero + 5] = '|'; x[rhero][chero + 7] = '_'; x[rhero][chero + 6] = '_'; x[rhero][chero + 8] = ')'; x[rhero - 1][chero + 1] = '_'; x[rhero - 1][chero + 2] = '|'; x[rhero - 1][chero + 3] = '|'; x[rhero - 1][chero + 5] = '|'; x[rhero - 1][chero + 6] = '|'; x[rhero - 1][chero + 7] = '_'; x[rhero - 2][chero + 2] = '('; x[rhero - 2][chero + 3] = '|'; x[rhero - 2][chero + 5] = '|'; x[rhero - 2][chero + 6] = ')'; x[rhero - 3][chero + 1] = '<'; x[rhero - 3][chero + 2] = '|'; x[rhero - 3][chero + 3] = '|'; x[rhero - 3][chero + 4] = '^'; x[rhero - 3][chero + 5] = '|'; x[rhero - 3][chero + 6] = '|'; x[rhero - 4][chero] = '\\'; x[rhero - 4][chero + 1] = '\\'; x[rhero - 4][chero + 2] = '|'; x[rhero - 4][chero + 3] = '='; x[rhero - 4][chero + 4] = '='; x[rhero - 4][chero + 5] = '='; x[rhero - 4][chero + 6] = '|'; x[rhero - 5][chero] = '/'; x[rhero - 5][chero + 1] = '/'; for (int i = 0; i < 4; i++) { x[rhero - 5][chero + 7 + i] = '-'; } x[rhero - 5][chero + 2] = '|'; x[rhero - 5][chero + 4] = 237; x[rhero - 5][chero + 6] = '|'; x[rhero - 6][chero + 1] = '_'; x[rhero - 6][chero + 2] = '_'; x[rhero - 6][chero + 4] = '_'; x[rhero - 6][chero + 6] = '_'; x[rhero - 6][chero + 7] = '_'; x[rhero - 6][chero + 8] = '_'; x[rhero - 6][chero + 9] = '_'; x[rhero - 5][chero + 10] = '/'; for (int i = 0; i < 1; i++) { x[rhero - 4][chero + 10 + i] = '"'; } x[rhero - 5][chero + 11] = '/'; for (int i = 0; i < 4; i++) { x[rhero - 6][chero + 11 + i] = '_'; } x[rhero - 5][chero + 14] = 217; for (int i = 0; i < 2; i++) { x[rhero - 5][chero + 12 + i] = '-'; } x[rhero - 6][chero + 3] = '`'; x[rhero - 6][chero + 5] = ','; x[rhero - 7][chero + 2] = '\\'; x[rhero - 7][chero + 4] = '='; x[rhero - 7][chero + 6] = '/'; x[rhero - 8][chero + 2] = '/'; x[rhero - 8][chero + 3] = 'e'; x[rhero - 8][chero + 5] = 'e'; x[rhero - 8][chero + 6] = '\\'; x[rhero - 9][chero + 3] = '.'; x[rhero - 9][chero + 4] = '"'; x[rhero - 9][chero + 5] = '.'; } if (direh == 1) { x[rhero][chero] = ')'; x[rhero][chero - 1] = '_'; x[rhero][chero - 2] = '_'; x[rhero][chero - 3] = '|'; x[rhero][chero - 5] = '|'; x[rhero][chero - 7] = '_'; x[rhero][chero - 6] = '_'; x[rhero][chero - 8] = '('; x[rhero - 1][chero - 1] = '_'; x[rhero - 1][chero - 2] = '|'; x[rhero - 1][chero -3] = '|'; x[rhero - 1][chero - 5] = '|'; x[rhero - 1][chero - 6] = '|'; x[rhero - 1][chero - 7] = '_'; x[rhero - 2][chero - 2] = ')'; x[rhero - 2][chero - 3] = '|'; x[rhero - 2][chero - 5] = '|'; x[rhero - 2][chero - 6] = '('; x[rhero - 3][chero - 1] = '>'; x[rhero - 3][chero - 2] = '|'; x[rhero - 3][chero - 3] = '|'; x[rhero - 3][chero - 4] = '^'; x[rhero - 3][chero - 5] = '|'; x[rhero - 3][chero - 6] = '|'; x[rhero - 4][chero]= '/'; x[rhero - 4][chero - 1] = '/'; x[rhero - 4][chero - 2] = '|'; x[rhero - 4][chero - 3] = '='; x[rhero - 4][chero - 4] = '='; x[rhero - 4][chero - 5] = '='; x[rhero - 4][chero - 6] = '|'; x[rhero - 5][chero]= '\\'; x[rhero - 5][chero - 1] = '\\'; for (int i = 0; i < 4; i++) { x[rhero - 5][chero -7 - i] = '-'; } x[rhero - 5][chero -2] = '|'; x[rhero - 5][chero - 4] = 237; x[rhero - 5][chero - 6] = '|'; x[rhero - 6][chero - 1] = '_'; x[rhero - 6][chero - 2] = '_'; x[rhero - 6][chero - 4] = '_'; x[rhero - 6][chero - 6] = '_'; x[rhero - 6][chero - 7] = '_'; x[rhero - 6][chero - 8] = '_'; x[rhero - 6][chero - 9] = '_'; x[rhero - 5][chero - 10] = '\\'; for (int i = 0; i < 1; i++) { x[rhero - 4][chero - 10 - i] = '"'; } x[rhero - 5][chero - 11] = '\\'; for (int i = 0; i < 4; i++) { x[rhero - 6][chero - 11 - i] = '_'; } x[rhero - 5][chero - 14] = 217; for (int i = 0; i < 2; i++) { x[rhero - 5][chero - 12 - i] = '-'; } x[rhero - 6][chero - 3] = '`'; x[rhero - 6][chero - 5] = ','; x[rhero - 7][chero - 2] = '/'; x[rhero - 7][chero - 4] = '='; x[rhero - 7][chero - 6] = '\\'; x[rhero - 8][chero - 2] = '\\'; x[rhero - 8][chero - 3] = 'a'; x[rhero - 8][chero - 5] = 'a'; x[rhero - 8][chero - 6] = '/'; x[rhero - 9][chero - 3] = '.'; x[rhero - 9][chero - 4] = '"'; x[rhero - 9][chero - 5] = '.'; } } } void move_hero(char x[][150], char dirh, int& rhero, int& chero, int& gunf, int fjump,int& r,int &direh,int jumpct) { int posr = 7; int posc = 1; int flag = 1; if (dirh == 'd') { direh = 0; if (x[rhero][chero + 9] == ' ' || x[rhero][chero + 9] == '|' || x[rhero][chero + 9] == '-') { chero++; } if (x[rhero - 1][chero + 5] == 'O') { gunf = 1; x[6][10] = ' '; } } if (dirh == 'a') { if (x[rhero][chero - 1] == ' ' || x[rhero][chero - 1] == '|' || x[rhero][chero - 1] == '-') { chero--; } dirh = 1; } if (fjump == 0) { if (dirh == 'q') { if (jumpct > 0) { if (x[rhero - 10][chero - 2] == ' ' || x[rhero - 10][chero - 2] == '|' || x[rhero - 10][chero - 2] == '-') { rhero --; chero -= 2; if (r > 0) { r--; } } } } if (dirh == 'e') { if (jumpct > 0) { if (x[rhero - 10][chero + 6] == ' ' || x[rhero - 10][chero + 6] == '|' || x[rhero - 10][chero + 6] == '-') { rhero --; chero += 2; if (r > 0) { r--; } } } } if (dirh == 'w') { if (jumpct > 0) { if (x[rhero - 10][chero] == ' ')//|| x[rhero + 3][chero] == '-') { rhero --; if (r > 0) { r--; } } } } } if (dirh == 's') { if (x[rhero + 1][chero] == '-') { rhero++; if (r < 200) { r++; } } } } void _gravity(char x[][150], int& rhero, int& chero, int& fjump,int& r,int jumpct) { if (x[rhero + 1][chero] == ' ' && x[rhero + 1][chero + 1] == ' ' && x[rhero + 1][chero + 2] == ' ') { if (jumpct == 0) { rhero++; r++; fjump = 0; } } if (x[rhero + 1][chero] != ' ' && x[rhero + 1][chero + 1] != ' ' && x[rhero + 1][chero + 2] != ' ') { fjump = 0; } } void move_zombie(char x[][150],int rzombie ,int& czombie, int& dirz) { if (dirz == 1) { if (czombie + 24 == 148)//||x[rzombie-7][czombie+10]!=' ') { dirz = -1; } } if (dirz == -1) { if (czombie == 20) //|| x[rzombie - 7][czombie - 10] != ' ') { dirz = 1; } } czombie += dirz; } void draw_laser_machine(char x[][150], int rlaser, int claser,int ctflag) { if (ctflag == 1) { for (int i = 0; i < 2; i++) { x[rlaser][claser + i] = '_'; } x[rlaser + 1][claser + 2] = '\\'; x[rlaser + 1][claser + 3] = '_'; x[rlaser + 2][claser + 4] = '|'; x[rlaser + 2][claser + 5] = '_'; for (int i = 0; i < 3; i++) { x[rlaser + 3 + i][claser + 6] = '|'; } x[rlaser + 6][claser + 7] = '\\'; x[rlaser + 7][claser + 8] = '\\'; x[rlaser + 8][claser + 8] = '/'; x[rlaser + 9][claser + 7] = '/'; for (int i = 0; i < 3; i++) { x[rlaser + 10 + i][claser + 6] = '|'; } x[rlaser + 12][claser + 5] = '_'; x[rlaser + 13][claser + 4] = '|'; x[rlaser + 13][claser + 3] = '_'; x[rlaser + 14][claser + 2] = '/'; for (int i = 0; i < 2; i++) { x[rlaser + 15][claser + i] = '_'; } } if (ctflag == 0) { for (int i = 0; i < 2; i++) { x[rlaser][claser + i] = '_'; } x[rlaser + 1][claser + 2] = '\\'; x[rlaser + 1][claser + 3] = '_'; x[rlaser + 2][claser + 4] = '|'; x[rlaser + 2][claser + 5] = '_'; for (int i = 0; i < 3; i++) { x[rlaser + 3 + i][claser + 6] = '|'; } x[rlaser + 5][claser + 7] = '_'; x[rlaser + 5][claser + 8] = '_'; x[rlaser + 9][claser + 8] = '_'; x[rlaser + 9][claser + 7] = '_'; for (int i = 0; i < 3; i++) { x[rlaser + 10 + i][claser + 6] = '|'; } x[rlaser + 12][claser + 5] = '_'; x[rlaser + 13][claser + 4] = '|'; x[rlaser + 13][claser + 3] = '_'; x[rlaser + 14][claser + 2] = '/'; for (int i = 0; i < 2; i++) { x[rlaser + 15][claser + i] = '_'; } } } void draw_laser(char x[][150], int rlaser, int claser,int ctflag,int &ct) { if (ctflag == 0) { for (int i = 0; i < 140; i++) { x[rlaser + 7][claser + i] = 183; x[rlaser + 8][claser + i] = 189; } ct++; } } void draw_traps(char x[][150],int rtraps,int ctraps,int ctflag) { if (ctflag == 1) { for (int i = 0; i < 5; i++) { x[rtraps][ctraps + i] = 193; } } } void draw_enemy(char x[][150], int& enemyr, int& enemyc,int dire) { if (dire == -1) { x[enemyr - 1][enemyc - 1] = '('; for (int i = 0; i < 7; i++) { x[enemyr - 1][enemyc + i] = '0'; } x[enemyr - 1][enemyc + 7] = ')'; x[enemyr - 2][enemyc + 1] = '('; x[enemyr - 2][enemyc + 2] = '_'; x[enemyr - 2][enemyc + 3] = '|'; x[enemyr - 2][enemyc + 4] = '_'; x[enemyr - 2][enemyc + 5] = ')'; x[enemyr - 3][enemyc + 2] = '/'; x[enemyr - 3][enemyc + 3] = '|'; x[enemyr - 3][enemyc + 4] = '\\'; x[enemyr - 4][enemyc + 2] = '_'; x[enemyr - 4][enemyc + 1] = '\\'; x[enemyr - 4][enemyc + 3] = 'I'; x[enemyr - 4][enemyc + 4] = '_'; x[enemyr - 4][enemyc + 5] = '/'; x[enemyr - 5][enemyc + 1] = '____'; x[enemyr - 5][enemyc + 2] = '___'; x[enemyr - 5][enemyc + 4] = '____'; x[enemyr - 5][enemyc + 5] = '__'; x[enemyr - 5][enemyc + 3] = '.'; x[enemyr - 5][enemyc] = '|'; x[enemyr - 5][enemyc + 6] = '|'; for (int i = 0; i < 7; i++) { x[enemyr - 6][enemyc + i] = '_'; } x[enemyr - 6][enemyc - 1] = '\\'; x[enemyr - 6][enemyc - 2] = '/'; x[enemyr - 6][enemyc - 3] = '/'; x[enemyr - 6][enemyc + 7] = '/'; x[enemyr - 6][enemyc + 8] = '\\'; x[enemyr - 6][enemyc + 9] = '\\'; x[enemyr - 7][enemyc + 8] = '__'; x[enemyr - 7][enemyc + 7] = '\\'; x[enemyr - 7][enemyc + 9] = ')'; x[enemyr - 7][enemyc - 1] = '/'; x[enemyr - 7][enemyc - 2] = '__'; x[enemyr - 7][enemyc - 3] = '('; for (int i = 0; i < 3; i++) { x[enemyr - 8][enemyc - 2 + i] = '_'; } x[enemyr - 8][enemyc + 1] = '|'; x[enemyr - 8][enemyc + 2] = '0'; x[enemyr - 8][enemyc + 4] = '0'; x[enemyr - 8][enemyc + 5] = '|'; for (int i = 0; i < 3; i++) { x[enemyr - 8][enemyc + 6 + i] = '_'; } x[enemyr - 9][enemyc + 5] = '.'; x[enemyr - 9][enemyc + 1] = '.'; x[enemyr - 9][enemyc + 2] = '`'; x[enemyr - 10][enemyc + 3] = '__'; x[enemyr - 9][enemyc + 4] = '`'; x[enemyr - 5][enemyc + 8] = '<'; x[enemyr - 5][enemyc + 10] = '>'; x[enemyr - 4][enemyc + 8] = '/'; x[enemyr - 4][enemyc + 9] = '/'; x[enemyr - 3][enemyc + 8] = '^'; x[enemyr - 3][enemyc + 9] = '^'; x[enemyr - 5][enemyc - 3] = '/'; x[enemyr - 5][enemyc - 4] = '\\'; x[enemyr - 6][enemyc - 4] = '\\'; x[enemyr - 6][enemyc - 5] = '\\'; x[enemyr - 7][enemyc - 5] = ']'; x[enemyr - 7][enemyc - 6] = '>'; } if (dire == 1) { x[enemyr - 1][enemyc + 1] = ')'; for (int i = 0; i < 7; i++) { x[enemyr - 1][enemyc - i] = '0'; } x[enemyr - 1][enemyc - 7] = '('; x[enemyr - 2][enemyc - 1] = ')'; x[enemyr - 2][enemyc - 2] = '_'; x[enemyr - 2][enemyc - 3] = '|'; x[enemyr - 2][enemyc - 4] = '_'; x[enemyr - 2][enemyc - 5] = '('; x[enemyr - 3][enemyc - 2] = '\\'; x[enemyr - 3][enemyc - 3] = '|'; x[enemyr - 3][enemyc - 4] = '/'; x[enemyr - 4][enemyc - 2] = '_'; x[enemyr - 4][enemyc - 1] = '/'; x[enemyr - 4][enemyc - 3] = 'I'; x[enemyr - 4][enemyc - 4] = '_'; x[enemyr - 4][enemyc - 5] = '\\'; x[enemyr - 5][enemyc - 1] = '____'; x[enemyr - 5][enemyc - 2] = '___'; x[enemyr - 5][enemyc - 4] = '____'; x[enemyr - 5][enemyc - 5] = '__'; x[enemyr - 5][enemyc - 3] = '.'; x[enemyr - 5][enemyc]= '|'; x[enemyr - 5][enemyc - 6] = '|'; for (int i = 0; i < 7; i++) { x[enemyr - 6][enemyc - i] = '_'; } x[enemyr - 6][enemyc + 1] = '/'; x[enemyr - 6][enemyc + 2] = '\\'; x[enemyr - 6][enemyc + 3] = '\\'; x[enemyr - 6][enemyc - 7] = '\\'; x[enemyr - 6][enemyc - 8] = '/'; x[enemyr - 6][enemyc - 9] = '/'; x[enemyr - 7][enemyc - 8] = '__'; x[enemyr - 7][enemyc - 7] = '/'; x[enemyr - 7][enemyc - 9] = '('; x[enemyr - 7][enemyc + 1] = '\\'; x[enemyr - 7][enemyc + 2] = '__'; x[enemyr - 7][enemyc + 3] = ')'; for (int i = 0; i < 3; i++) { x[enemyr - 8][enemyc + 2 - i] = '_'; } x[enemyr - 8][enemyc - 1] = '|'; x[enemyr - 8][enemyc - 2] = '0'; x[enemyr - 8][enemyc - 4] = '0'; x[enemyr - 8][enemyc - 5] = '|'; for (int i = 0; i < 3; i++) { x[enemyr - 8][enemyc - 6 - i] = '_'; } x[enemyr - 9][enemyc - 5] = '.'; x[enemyr - 9][enemyc - 1] = '.'; x[enemyr - 9][enemyc - 2] = '`'; x[enemyr - 10][enemyc - 3] = '__'; x[enemyr - 9][enemyc - 4] = '`'; x[enemyr - 5][enemyc - 8] = '>'; x[enemyr - 5][enemyc - 10] = '<'; x[enemyr - 4][enemyc - 8] = '\\'; x[enemyr - 4][enemyc - 9] = '\\'; x[enemyr - 3][enemyc - 8] = '^'; x[enemyr - 3][enemyc - 9] = '^'; x[enemyr - 5][enemyc + 3] = '\\'; x[enemyr - 5][enemyc + 4] = '/'; x[enemyr - 6][enemyc + 4] = '/'; x[enemyr - 6][enemyc + 5] = '/'; x[enemyr - 7][enemyc+ 5] = '['; x[enemyr - 7][enemyc+ 6] = '<'; } } void move_enemy(char x[][150], int& enemyr, int& enemyc, int& dire, int enemystop) { if (enemystop == 0) { if (dire == 1) { if (enemyc == 130) //|| x[enemyr][enemyc + 5] != ' ') { dire = -1; } } if (dire == -1) { if (enemyc == 15)//|| x[enemyr][enemyc - 5] != ' ') { dire = 1; } } enemyc += dire; } } void draw_bullet(char x[][150], int& gunf, int& bulletf, int bullet[], int h, int gunct, int bullethit[], int b, int hit) { int i = 0; if (bulletf == 1) { /*if (gunct < 5) { x[bullet[b+i]][bullet[b + gunct+i]] = 'o'; i += 2; }*/ if (bullethit[hit + 0] != 1) { if (gunct >= 1) { x[bullet[b]][bullet[b + 1]] = 'o'; } } if (bullethit[hit + 1] != 1) { if (gunct >= 2) { x[bullet[b + 2]][bullet[b + 3]] = 'o'; } } if (bullethit[hit + 2] != 1) { if (gunct >= 3) { x[bullet[b + 4]][bullet[b + 5]] = 'o'; } } if (bullethit[hit + 3] != 1) { if (gunct >= 4) { x[bullet[b + 6]][bullet[b + 7]] = 'o'; } } if (bullethit[hit + 4] != 1) { if (gunct >= 5) { x[bullet[b + 8]][bullet[b + 9]] = 'o'; } } } } void move_bullet(char x[][150], int& bulletf, int bullet[], int gunct, int bullethit[], int direh, int bulletmove[], int b, int hit) { if (direh == 0) { if (bulletf == 1) { if (gunct >= 1) { if (x[bullet[b + 0]][bullet[b + 1]] == ' ') { bullet[b + 0] = bullet[b + 1] + bulletmove[hit + 0]; } else { bullethit[hit + 0] = 1; } } if (gunct >= 2) { if (x[bullet[b + 2]][bullet[b + 3]] == ' ') { bullet[b + 3] = bullet[b + 3] + bulletmove[hit + 1]; } else { bullethit[hit + 1] = 1; } } if (gunct >= 3) { if (x[bullet[b + 4]][bullet[b + 5]] == ' ') { bullet[b + 5] = bullet[b + 5] + bulletmove[hit + 2]; } else { bullethit[hit + 2] = 1; } } if (gunct >= 4) { if (x[bullet[b + 6]][bullet[b + 7]] == ' ') { bullet[b + 7] = bullet[b + 7] + bulletmove[hit + 3]; } else { bullethit[hit + 3] = 1; } } if (gunct >= 5) { if (x[bullet[b + 8]][bullet[b + 9]] == ' ') { bullet[b + 9] = bullet[b + 9] + bulletmove[hit + 4]; } else { bullethit[hit + 4] = 1; } } } } if (direh == 1) { if (bulletf == 1) { if (gunct >= 1) { if (x[bullet[b + 0]][bullet[b + 1]] == ' ') { bullet[b + 1] = bullet[b + 1] + bulletmove[hit + 0]; } else { bullethit[hit + 0] = 1; } } if (gunct >= 2) { if (x[bullet[b + 2]][bullet[b + 3]] == ' ') { bullet[3] = bullet[3] + bulletmove[hit + 1]; } else { bullethit[hit + 1] = 1; } } if (gunct >= 3) { if (x[bullet[b + 4]][bullet[b + 5]] == ' ') { bullet[b + 5] = bullet[b + 5] + bulletmove[hit + 2]; } else { bullethit[hit + 2] = 1; } } if (gunct >= 4) { if (x[bullet[b + 6]][bullet[b + 7]] == ' ') { bullet[b + 7] = bullet[b + 7] + bulletmove[hit + 3]; } else { bullethit[hit + 3] = 1; } } if (gunct >= 5) { if (x[bullet[b + 8]][bullet[b + 9]] == ' ') { bullet[b + 9] = bullet[b + 9] + bulletmove[hit + 4]; } else { bullethit[hit + 4] = 1; } } } } } void bullet_kill_zombie(char x[][150], int czombie, int rzombie, int &zhealth, int rhero) { if (rhero == rzombie) { if (x[rzombie - 5][czombie + 9] == 'o' || x[rzombie -4][czombie] == 'o') { zhealth--; } if (x[rzombie -5][czombie + 9] == 'o' || x[rzombie - 4][czombie] == 'o') { zhealth--; } } } void main() { char x[200][150]; int l = 1; int r = 0; int c = 0; int hlr = 1; int hlc = 5; int rl = 25; int rl2 = 50; int rl3 = 75; int rl4 = 100; int rladder = 26; int cladder = 135; int rfire = 25; int cfire = 45; int rtraps1 = 100; int ctraps1 = 100; int rtraps2 = 100; int ctraps2 = 90; int rtraps3 = 100; int ctraps3 = 80; int rtraps4 = 100; int ctraps4 = 70; int rtraps5 = 100; int ctraps5 = 60; int rtraps6 = 100; int ctraps6 = 50; int enemyr = 75; int enemyc = 7; int rslem = 25; int cslem = 30; int rslem2 = 25; int cslem2 = 113; int rlaser = 80; int claser = 1; int rselim = 20; int cselim = 44; int dirs = 1; int rzombie = 49; int czombie = 50; int rzombie2 = 49; int czombie2 = 20; int rzombie3 = 49; int czombie3 = 80; int dirz1 = -1; int rhero = 24; int chero = 140; int gunf = 1; int direh=0; int fjump = 0; int ctflag = 0; int jumpct = 0; int ct = 50; char dirh; int dire = 1; int enemystop=0; int bulletf=0; int bullet[1000]; int gunct = 0; int bullethit[500]; int bulletmove[500]; int b=0; int hit=0; int h = 0; int reload = 5; int p = 0; int zombieh1 = 4; int zombieh2 = 4; int zombieh3 = 4; int dirz2 = 1; int dirz3 = 1; for (int ;;) { for (int i = 0; !_kbhit(); i++) { if (ct == 50) { ctflag = 1; } if (ct == 0) { ctflag = 0; } if (ctflag == 1) { ct--; } if (jumpct > 0) { jumpct--; } clean_and_draw_border(x, r, c); draw_stats(x, hlr, hlc, r, c,reload); draw_l1(x, rl); draw_l2(x, rl2); draw_l1(x, rl3); draw_l2(x, rl4); draw_ladder(x, rladder, cladder, rl2); draw_fire(x, rfire, cfire, i); draw_slem(x, rslem, cslem); draw_slem_2(x, rslem2, cslem2); draw_selim(x, rselim, cselim); move_selim(x, rselim, cselim, dirs); draw_zomie(x, rzombie, czombie, dirz1,zombieh1); move_zombie(x,rzombie,czombie, dirz1); draw_zomie(x, rzombie2, czombie2, dirz2, zombieh2); move_zombie(x,rzombie2,czombie2, dirz2); draw_zomie(x, rzombie3, czombie3, dirz3, zombieh3); move_zombie(x,rzombie3,czombie3, dirz3); draw_hero(x, rhero, chero, gunf, direh); _gravity(x, rhero, chero, fjump, r, jumpct); fire_kill_hero(x, rhero, chero); move_hero_on_platform(x, dirs, rhero, chero); move_enemy(x, enemyr, enemyc, dire, enemystop); draw_laser_machine(x, rlaser, claser, ctflag); draw_laser(x, rlaser, claser, ctflag, ct); draw_traps(x, rtraps1, ctraps1, ctflag); draw_traps(x, rtraps2, ctraps2, ctflag); draw_traps(x, rtraps3, ctraps3, ctflag); draw_traps(x, rtraps4, ctraps4, ctflag); draw_traps(x, rtraps5, ctraps5, ctflag); draw_traps(x, rtraps6, ctraps6, ctflag); draw_enemy(x, enemyr, enemyc,dire); move_bullet(x, bulletf, bullet, gunct, bullethit, direh, bulletmove, b, hit); draw_bullet(x, gunf, bulletf, bullet, h, gunct, bullethit, b, hit); bullet_kill_zombie(x,czombie,rzombie,zombieh1,rhero); bullet_kill_zombie(x, czombie2, rzombie2, zombieh2, rhero); bullet_kill_zombie(x, czombie3, rzombie3, zombieh3, rhero); if (jumpct > 0) { move_hero(x, dirh, rhero, chero, gunf, fjump, r, direh, jumpct); } cout_to_screen(x, l,r,c); } dirh = _getch(); if (dirh == 'w') { jumpct = 5; } if (dirh == 'q') { jumpct = 5; } if (dirh == 'e') { jumpct = 5; } if (dirh == 'a') { direh = 1; } if (dirh == 'd') { direh = 0; } if (dirh == 'f') { if (reload > 0) { if (gunf == 1) { gunct++; bulletf = 1; reload--; if (direh == 0) { bullet[b + h] = rhero - 5; h++; bullet[b + h] = chero + 15; h++; bulletmove[hit + p] = 3; p++; } if (direh == 1) { bullet[b + h] = rhero - 5; h++; bullet[b + h] = chero - 15; h++; bulletmove[hit + p] = -3; p++; } } } } if (dirh == 'r') { reload = 5; b = b + 10; hit = hit + 5; gunct = 0; p = 0; h = 0; } draw_bullet(x, gunf, bulletf, bullet, h, gunct, bullethit, b, hit); move_hero(x, dirh, rhero, chero, gunf, fjump,r,direh,jumpct); draw_hero(x, rhero, chero, gunf, direh); } }
Editor is loading...
Leave a Comment