stack more like attack the japs
This commit is contained in:
parent
b6312df730
commit
bc5aff1a56
13 changed files with 127 additions and 26 deletions
2
debug
2
debug
|
@ -1,2 +1,2 @@
|
|||
gcc src/*.c -g -lncurses -o bin/mahou
|
||||
gcc src/*.c src/server/*.c src/client/*.c -g -iquotesrc/ -lpthread -lncurses -o bin/mahou
|
||||
chmod +x bin/mahou
|
||||
|
|
2
release
2
release
|
@ -1,2 +1,2 @@
|
|||
gcc src/*.c -lncurses -o bin/mahou
|
||||
gcc src/*.c src/server/*.c src/client/*.c -iquotesrc/ -lpthread -lncurses -o bin/mahou
|
||||
chmod +x bin/mahou
|
||||
|
|
|
@ -11,28 +11,40 @@ char BANNER[BANNER_HEIGHT][BANNER_WIDTH + 1] = {
|
|||
"MMM M' \"MMMYMM \"\"` MMM YMM \"YMMMMMP\" \"YmmMMMM\"\""
|
||||
};
|
||||
|
||||
#define MM_OPT_COUNT 3
|
||||
#define MM_MAX_OPT_LEN 11
|
||||
#define MM_OPT_COUNT 4
|
||||
#define MM_MAX_OPT_LEN 15
|
||||
char MM_OPTIONS[MM_OPT_COUNT][MM_MAX_OPT_LEN + 1] = {
|
||||
"Join Game",
|
||||
"Create Account",
|
||||
"How to Play",
|
||||
"Quit"
|
||||
};
|
||||
#define MM_OPT_JOIN 0
|
||||
#define MM_OPT_HOW 1
|
||||
#define MM_OPT_QUIT 2
|
||||
#define MM_OPT_REG 1
|
||||
#define MM_OPT_HOW 2
|
||||
#define MM_OPT_QUIT 3
|
||||
|
||||
struct {
|
||||
socket_t *sock;
|
||||
} client_ctx;
|
||||
|
||||
static void hide_cursor();
|
||||
static int main_menu();
|
||||
static void how_to_play();
|
||||
static void create_account();
|
||||
static void client_loop();
|
||||
|
||||
void client() {
|
||||
int selected;
|
||||
int selected, err;
|
||||
BOOL running = TRUE;
|
||||
client_ctx.sock = sock_client_init("127.0.0.1", "6770");
|
||||
|
||||
printf("Connecting to server...\n");
|
||||
err = sock_start(client_ctx.sock);
|
||||
if(err != SOCK_SUCCESS) {
|
||||
printf("Connection failed, error %d.", err);
|
||||
getchar();
|
||||
return;
|
||||
}
|
||||
|
||||
initscr();
|
||||
|
||||
|
@ -44,7 +56,10 @@ void client() {
|
|||
|
||||
switch(selected) {
|
||||
case MM_OPT_JOIN:
|
||||
|
||||
client_loop();
|
||||
break;
|
||||
case MM_OPT_REG:
|
||||
create_account();
|
||||
break;
|
||||
case MM_OPT_HOW:
|
||||
how_to_play();
|
||||
|
@ -68,10 +83,6 @@ void client() {
|
|||
sock_free(sock);*/
|
||||
}
|
||||
|
||||
static void hide_cursor() {
|
||||
move(LINES - 1, COLS - 1);
|
||||
}
|
||||
|
||||
static int main_menu() {
|
||||
BOOL polling = TRUE;
|
||||
int i, j, selected = 0, color, ch;
|
||||
|
@ -86,10 +97,7 @@ static int main_menu() {
|
|||
|
||||
attron(COLOR_PAIR(1) | A_BOLD);
|
||||
|
||||
for(i = 0; i < LINES; ++i)
|
||||
for(j = 0; j < COLS; ++j)
|
||||
addch(' ');
|
||||
|
||||
scr_fill();
|
||||
for(i = 0; i < BANNER_HEIGHT; ++i)
|
||||
mvprintw(3 + i, (COLS - BANNER_WIDTH) / 2, BANNER[i]);
|
||||
|
||||
|
@ -107,7 +115,7 @@ static int main_menu() {
|
|||
|
||||
refresh();
|
||||
|
||||
hide_cursor();
|
||||
scr_hide_cursor();
|
||||
ch = getch();
|
||||
switch(ch) {
|
||||
case KEY_UP:
|
||||
|
@ -130,10 +138,17 @@ void how_to_play() {
|
|||
WINDOW *win;
|
||||
win = newwin(10, 10, 4, 4);
|
||||
wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');
|
||||
mvwprintw(win, 1, 1, "test");
|
||||
mvwprintw(win, 1, 1, "to do: write this garbage");
|
||||
wrefresh(win);
|
||||
hide_cursor();
|
||||
scr_hide_cursor();
|
||||
getch();
|
||||
delwin(win);
|
||||
}
|
||||
|
||||
void create_account() {
|
||||
|
||||
}
|
||||
|
||||
void client_loop() {
|
||||
|
||||
}
|
|
@ -4,6 +4,8 @@
|
|||
#include <stdio.h>
|
||||
#include <ncurses.h>
|
||||
#include "sock.h"
|
||||
#include "screen.h"
|
||||
#include "ui.h"
|
||||
|
||||
void client();
|
||||
|
16
src/client/screen.c
Normal file
16
src/client/screen.c
Normal file
|
@ -0,0 +1,16 @@
|
|||
#include "screen.h"
|
||||
|
||||
void scr_char_fill(char c) {
|
||||
int i, j;
|
||||
for(i = 0; i < LINES; ++i)
|
||||
for(j = 0; j < COLS; ++j)
|
||||
addch(c);
|
||||
}
|
||||
|
||||
void scr_fill() {
|
||||
scr_char_fill(' ');
|
||||
}
|
||||
|
||||
void scr_hide_cursor() {
|
||||
move(LINES - 1, COLS - 1);
|
||||
}
|
11
src/client/screen.h
Normal file
11
src/client/screen.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
#ifndef SCREEN_H
|
||||
#define SCREEN_H
|
||||
|
||||
#include <ncurses.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void scr_fill();
|
||||
void scr_char_fill(char);
|
||||
void scr_hide_cursor();
|
||||
|
||||
#endif
|
29
src/client/ui.c
Normal file
29
src/client/ui.c
Normal file
|
@ -0,0 +1,29 @@
|
|||
#include "ui.h"
|
||||
|
||||
struct {
|
||||
WINDOW *main_win;
|
||||
WINDOW *chat_win;
|
||||
WINDOW *info_win;
|
||||
} ui_ctx;
|
||||
|
||||
static void ui_draw_borders();
|
||||
|
||||
void ui_init() {
|
||||
|
||||
}
|
||||
|
||||
void ui_refresh() {
|
||||
clear();
|
||||
|
||||
|
||||
|
||||
ui_draw_borders();
|
||||
}
|
||||
|
||||
static void ui_draw_borders() {
|
||||
|
||||
}
|
||||
|
||||
void ui_free() {
|
||||
|
||||
}
|
13
src/client/ui.h
Normal file
13
src/client/ui.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
#ifndef UI_H
|
||||
#define UI_H
|
||||
|
||||
#include <ncurses.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
||||
void ui_init();
|
||||
|
||||
|
||||
void ui_free();
|
||||
|
||||
#endif
|
|
@ -1,8 +1,5 @@
|
|||
#include <stdio.h>
|
||||
#include "common.h"
|
||||
#include "sock.h"
|
||||
#include "client.h"
|
||||
#include "server.h"
|
||||
#include "client/client.h"
|
||||
#include "server/server.h"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
if(argc == 2 && strcmp(argv[1], "server") == 0) {
|
||||
|
|
|
@ -4,6 +4,9 @@ void server() {
|
|||
socket_t *sock = sock_server_init("6770");
|
||||
sock_start(sock);
|
||||
|
||||
sock_set_timeout(sock, 0, 1);
|
||||
|
||||
|
||||
printf("awaiting connection...\r\n");
|
||||
socket_t *conn = sock_accept(sock);
|
||||
|
||||
|
@ -18,3 +21,4 @@ void server() {
|
|||
sock_stop(sock);
|
||||
sock_free(sock);
|
||||
}
|
||||
|
|
@ -14,6 +14,7 @@
|
|||
#include <errno.h>
|
||||
#include "common.h"
|
||||
|
||||
#define SOCK_SUCCESS 0
|
||||
#define SOCK_ERR_GETADDRINFO -1
|
||||
#define SOCK_ERR_SOCKET -2
|
||||
#define SOCK_ERR_BIND -3
|
||||
|
|
13
src/stack.h
Normal file
13
src/stack.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
#ifndef STACK_H
|
||||
#define STACK_H
|
||||
|
||||
struct stack_node_t {
|
||||
|
||||
};
|
||||
|
||||
typedef struct stack_t stack_t;
|
||||
struct stack_t {
|
||||
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue