Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
f99024bb75 | |||
b7a53bdb43 | |||
7700d4fdb0 | |||
1ebdd68873 | |||
ab4ddaf365 |
12
.drone.yml
12
.drone.yml
@ -7,12 +7,16 @@ steps:
|
||||
image: alpine
|
||||
#install make and gcc
|
||||
commands:
|
||||
- apk add build-base ncurses-dev
|
||||
- apk add build-base ncurses-dev ncurses ncurses-terminfo ncurses-static g++
|
||||
- mkdir build
|
||||
- gcc -o build/main main.c -lncurses
|
||||
- gcc -static -o build/main_static_alpine main.c -l:libncurses.so
|
||||
- gcc -o build/main_dynamic main.c -lncurses
|
||||
artifacts:
|
||||
- name: compiled
|
||||
path: main
|
||||
- name: compiled_static
|
||||
path: build/main_static_alpine
|
||||
type: file
|
||||
- name: compiled_dynamic
|
||||
path: build/main_dynamic
|
||||
type: file
|
||||
- name: gitea_release
|
||||
image: plugins/gitea-release
|
||||
|
4
.vscode/tasks.json
vendored
4
.vscode/tasks.json
vendored
@ -13,13 +13,15 @@
|
||||
],
|
||||
"command": "/usr/bin/gcc",
|
||||
"args": [
|
||||
"-static",
|
||||
"-fdiagnostics-color=always",
|
||||
"-g",
|
||||
"${workspaceFolder}/main.c",
|
||||
"-o",
|
||||
//include ncurses
|
||||
"${fileDirname}/${fileBasenameNoExtension}",
|
||||
"-lncurses"
|
||||
"-lncurses",
|
||||
"-ltinfo"
|
||||
],
|
||||
"options": {
|
||||
"cwd": "${fileDirname}"
|
||||
|
BIN
main
BIN
main
Binary file not shown.
49
main.c
49
main.c
@ -12,23 +12,23 @@
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
uint16_t Hole_Div = 40;
|
||||
uint16_t SCR_X;
|
||||
uint16_t SCR_Y;
|
||||
#define FPS (60)
|
||||
uint16_t FPS = 60;
|
||||
char blank_char = 32;
|
||||
char wall_char = 35;
|
||||
char goal_char = 71;
|
||||
char player_char = 80;
|
||||
char bullet_char = 120;
|
||||
char inchar = ' ';
|
||||
uint16_t blank_color = 0;
|
||||
uint16_t wall_color = 1;
|
||||
uint16_t goal_color = 2;
|
||||
uint16_t player_color = 3;
|
||||
uint16_t border_color = 4;
|
||||
uint16_t bullet1_color = 5;
|
||||
uint16_t bullet2_color = 5;
|
||||
uint16_t Quit_on_pass = 0;
|
||||
char letter = ' ';
|
||||
struct Object {
|
||||
uint16_t x;
|
||||
@ -37,13 +37,6 @@ struct Object {
|
||||
uint16_t color;
|
||||
uint8_t dir;
|
||||
};
|
||||
struct Bullet {
|
||||
uint16_t x;
|
||||
uint16_t y;
|
||||
uint8_t dir;
|
||||
uint8_t color;
|
||||
};
|
||||
uint16_t bulletptr = 0;
|
||||
uint16_t player_x = 0;
|
||||
uint16_t player_y = 0;
|
||||
uint16_t goal_x = 0;
|
||||
@ -52,7 +45,6 @@ uint16_t rng_tmp = 0;
|
||||
uint16_t orient = 0;
|
||||
uint16_t inputs_tmp = 0;
|
||||
struct Object * rendered;
|
||||
struct Bullet * bullets;
|
||||
char * playfield;
|
||||
int randomInt(int lower, int upper) {
|
||||
return rand() % (upper - lower + 1) + lower;
|
||||
@ -163,7 +155,6 @@ void init() {
|
||||
getmaxyx(stdscr, SCR_Y, SCR_X);
|
||||
playfield = malloc(sizeof(char) * SCR_Y * SCR_X);
|
||||
rendered = malloc(sizeof(struct Object) * (SCR_X) * (SCR_Y));
|
||||
bullets = malloc(sizeof(struct Bullet) * (SCR_X) * (SCR_Y));
|
||||
noecho();
|
||||
nodelay(stdscr, TRUE);
|
||||
start_color();
|
||||
@ -172,8 +163,6 @@ void init() {
|
||||
init_pair(goal_color, COLOR_BLACK, COLOR_GREEN);
|
||||
init_pair(player_color, COLOR_BLACK, COLOR_YELLOW);
|
||||
init_pair(border_color, COLOR_WHITE, COLOR_BLUE);
|
||||
init_pair(bullet1_color, COLOR_BLACK, COLOR_YELLOW);
|
||||
init_pair(bullet2_color, COLOR_BLACK, COLOR_GREEN);
|
||||
attron(COLOR_PAIR(blank_color));
|
||||
clear();
|
||||
srand(time(NULL));
|
||||
@ -250,9 +239,26 @@ int main(int argc, char * argv[]) {
|
||||
SCR_Y = atoi(argv[2]);
|
||||
Hole_Div = atoi(argv[3]);
|
||||
}
|
||||
if(argc == 5){
|
||||
SCR_X = atoi(argv[1]);
|
||||
SCR_Y = atoi(argv[2]);
|
||||
Hole_Div = atoi(argv[3]);
|
||||
FPS = atoi(argv[4]);
|
||||
}
|
||||
if (argc == 6){
|
||||
SCR_X = atoi(argv[1]);
|
||||
SCR_Y = atoi(argv[2]);
|
||||
Hole_Div = atoi(argv[3]);
|
||||
FPS = atoi(argv[4]);
|
||||
if(strcmp(argv[5],"-n") == 0){
|
||||
Quit_on_pass = 1;
|
||||
}
|
||||
}
|
||||
generate_maze();
|
||||
render_maze();
|
||||
draw_maze();
|
||||
if(Quit_on_pass == 0){
|
||||
render_maze();
|
||||
draw_maze();
|
||||
}
|
||||
while (1) {
|
||||
inputs_tmp = keyinput();
|
||||
if (inputs_tmp == 1) {
|
||||
@ -264,10 +270,15 @@ int main(int argc, char * argv[]) {
|
||||
} else {
|
||||
orient = 0;
|
||||
}
|
||||
if(Quit_on_pass == 1){
|
||||
return 4;
|
||||
}
|
||||
generate_maze();
|
||||
}
|
||||
render_maze();
|
||||
draw_maze();
|
||||
if(Quit_on_pass == 0){
|
||||
render_maze();
|
||||
draw_maze();
|
||||
}
|
||||
usleep(round(1000000 / FPS));
|
||||
}
|
||||
endwin();
|
||||
|
28
test.sh
Normal file
28
test.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
RANDOM=$$$(date +%s)
|
||||
X=""
|
||||
CNT=0
|
||||
CNTX=0
|
||||
CNTA=0
|
||||
CNTB=0
|
||||
CNTXB=0
|
||||
CNTAB=0
|
||||
while [ $CNTX -lt 50 ]; do
|
||||
let CNT=0
|
||||
|
||||
while [ $CNT -lt 162 ]; do
|
||||
X+="wd"
|
||||
let CNT=CNT+1
|
||||
done
|
||||
|
||||
let CNTA=0
|
||||
|
||||
while [ $CNTA -lt 162 ]; do
|
||||
X+="wa"
|
||||
let CNTA=CNTA+1
|
||||
done
|
||||
let CNTX=CNTX+1
|
||||
done
|
||||
|
||||
X+="q"
|
||||
echo $X
|
Loading…
Reference in New Issue
Block a user