Works. Generates random grid
This commit is contained in:
parent
72435a2319
commit
90d5c8bd63
65
grid.c
65
grid.c
@ -1,22 +1,73 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
#include "grid.h"
|
#include "grid.h"
|
||||||
|
|
||||||
void initGrid(Grid* grid, unsigned int width, unsigned int height)
|
void initGrid(Grid* grid, unsigned int width, unsigned int height)
|
||||||
{
|
{
|
||||||
grid->size = width*height;
|
grid->size = width*height;
|
||||||
grid->width = width;
|
grid->width = width;
|
||||||
grid->arr = (bool*)malloc(sizeof(bool)*grid->size);
|
grid->state = (bool*)malloc(sizeof(bool)*grid->size);
|
||||||
|
grid->next_state = (bool*)malloc(sizeof(bool)*grid->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void randomizeGrid(Grid* grid)
|
||||||
|
{
|
||||||
|
srand(time(NULL));
|
||||||
|
for (int i = 0; i < grid->size; i++) {
|
||||||
|
grid->state[i] = rand()%2;
|
||||||
|
}
|
||||||
|
}
|
||||||
// maps x, y coordinate to array index of grid
|
// maps x, y coordinate to array index of grid
|
||||||
unsigned int toIndex(Grid* grid, int x, int y)
|
unsigned int toIndex(Grid* grid, int x, int y)
|
||||||
{
|
{
|
||||||
return (grid->width*y + x)%grid->size;
|
return (grid->width*y + x)%grid->size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool getPixel(Grid* grid, int x, int y)
|
||||||
|
{
|
||||||
|
return grid->state[toIndex(grid, x, y)];
|
||||||
|
}
|
||||||
|
|
||||||
void clearGrid(Grid* grid)
|
void clearGrid(Grid* grid)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < grid->size; i++) grid->arr[i]=false;
|
for (int i = 0; i < grid->size; i++) grid->state[i]=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if cell's next state is alive
|
||||||
|
static bool isAliveNext(Grid* grid, int x, int y)
|
||||||
|
{
|
||||||
|
bool nw = getPixel(grid, x-1, y-1);
|
||||||
|
bool n = getPixel(grid, x, y-1);
|
||||||
|
bool ne = getPixel(grid, x+1, y-1);
|
||||||
|
bool w = getPixel(grid, x-1, y);
|
||||||
|
bool e = getPixel(grid, x+1, y);
|
||||||
|
bool sw = getPixel(grid, x-1, y+1);
|
||||||
|
bool s = getPixel(grid, x, y+1);
|
||||||
|
bool se = getPixel(grid, x+1, y+1);
|
||||||
|
|
||||||
|
bool currentlyAlive = grid->state[toIndex(grid, x, y)];
|
||||||
|
|
||||||
|
const int no_neighbors = 8;
|
||||||
|
bool neighbors[] = {
|
||||||
|
nw, n, ne,
|
||||||
|
w, e,
|
||||||
|
sw, s, se
|
||||||
|
};
|
||||||
|
|
||||||
|
int alive_neighbors = 0;
|
||||||
|
for (int i = 0; i < no_neighbors; i++) {
|
||||||
|
alive_neighbors += neighbors[i];
|
||||||
|
}
|
||||||
|
// rules
|
||||||
|
if (currentlyAlive) {
|
||||||
|
if (alive_neighbors == 2 || alive_neighbors == 3) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (alive_neighbors == 3) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateGrid(Grid* grid)
|
void updateGrid(Grid* grid)
|
||||||
@ -26,14 +77,18 @@ void updateGrid(Grid* grid)
|
|||||||
|
|
||||||
for (int y = 0; y < height; y++) {
|
for (int y = 0; y < height; y++) {
|
||||||
for (int x = 0; x < width; x++) {
|
for (int x = 0; x < width; x++) {
|
||||||
|
grid->next_state[toIndex(grid, x, y)] = isAliveNext(grid, x, y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < grid->size; i++) {
|
||||||
|
grid->state[i] = grid->next_state[i];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void putPixel(Grid* grid, int x, int y)
|
void putPixel(Grid* grid, int x, int y)
|
||||||
{
|
{
|
||||||
grid->arr[toIndex(grid, x, y)] = true;
|
grid->state[toIndex(grid, x, y)] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawGrid(Grid* grid)
|
void drawGrid(Grid* grid)
|
||||||
@ -43,7 +98,7 @@ void drawGrid(Grid* grid)
|
|||||||
height = grid->size/width;
|
height = grid->size/width;
|
||||||
for (int y = 0; y < height; y++) {
|
for (int y = 0; y < height; y++) {
|
||||||
for (int x = 0; x < width; x++) {
|
for (int x = 0; x < width; x++) {
|
||||||
if (grid->arr[toIndex(grid, x, y)]) mvprintw(y, x, "x");
|
if (grid->state[toIndex(grid, x, y)]) mvprintw(y, x, "x");
|
||||||
else mvprintw(y, x, " ");
|
else mvprintw(y, x, " ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
7
grid.h
7
grid.h
@ -7,13 +7,18 @@
|
|||||||
typedef struct Grid {
|
typedef struct Grid {
|
||||||
unsigned int size;
|
unsigned int size;
|
||||||
unsigned int width;
|
unsigned int width;
|
||||||
bool* arr;
|
bool* state;
|
||||||
|
bool* next_state;
|
||||||
} Grid;
|
} Grid;
|
||||||
|
|
||||||
void initGrid(Grid* grid, unsigned int width, unsigned int height);
|
void initGrid(Grid* grid, unsigned int width, unsigned int height);
|
||||||
|
|
||||||
|
void randomizeGrid(Grid* grid);
|
||||||
|
|
||||||
unsigned int toIndex(Grid* grid, int x, int y);
|
unsigned int toIndex(Grid* grid, int x, int y);
|
||||||
|
|
||||||
|
bool getPixel(Grid* grid, int x, int y);
|
||||||
|
|
||||||
void clearGrid(Grid* grid);
|
void clearGrid(Grid* grid);
|
||||||
|
|
||||||
void updateGrid(Grid* grid);
|
void updateGrid(Grid* grid);
|
||||||
|
16
main.c
16
main.c
@ -30,22 +30,26 @@ int main()
|
|||||||
Vect2i pos = {0, 0};
|
Vect2i pos = {0, 0};
|
||||||
Vect2i vel = {1, 1};
|
Vect2i vel = {1, 1};
|
||||||
|
|
||||||
const int DELAY = 33*pow(10,3);
|
//hz
|
||||||
|
const int FRAME_RATE = 30;
|
||||||
|
|
||||||
|
const int DELAY = (float)pow(10,6)/(float)FRAME_RATE;
|
||||||
|
|
||||||
Grid grid;
|
Grid grid;
|
||||||
initGrid(&grid, width, height);
|
initGrid(&grid, width, height);
|
||||||
|
randomizeGrid(&grid);
|
||||||
putPixel(&grid, pos.x, pos.y);
|
putPixel(&grid, pos.x, pos.y);
|
||||||
|
|
||||||
while (running) {
|
while (running) {
|
||||||
clearGrid(&grid);
|
|
||||||
putPixel(&grid, pos.x, pos.y);
|
|
||||||
drawGrid(&grid);
|
drawGrid(&grid);
|
||||||
|
|
||||||
refresh();
|
refresh();
|
||||||
|
|
||||||
moveVect2i(&pos, vel.x, vel.y);
|
//moveVect2i(&pos, vel.x, vel.y);
|
||||||
contain(&pos.x, &vel.x, 0, width-1);
|
//contain(&pos.x, &vel.x, 0, width-1);
|
||||||
contain(&pos.y, &vel.y, 0, height-1);
|
//contain(&pos.y, &vel.y, 0, height-1);
|
||||||
|
|
||||||
|
updateGrid(&grid);
|
||||||
|
|
||||||
usleep(DELAY);
|
usleep(DELAY);
|
||||||
}
|
}
|
||||||
|
605
session.vim
605
session.vim
@ -19,6 +19,7 @@ set smartindent
|
|||||||
set suffixes=.bak,~,.o,.info,.swp,.aux,.bbl,.blg,.brf,.cb,.dvi,.idx,.ilg,.ind,.inx,.jpg,.log,.out,.png,.toc
|
set suffixes=.bak,~,.o,.info,.swp,.aux,.bbl,.blg,.brf,.cb,.dvi,.idx,.ilg,.ind,.inx,.jpg,.log,.out,.png,.toc
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
set undodir=~/.cache/vim/undo//
|
set undodir=~/.cache/vim/undo//
|
||||||
|
set window=63
|
||||||
let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
|
let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
|
||||||
let v:this_session=expand("<sfile>:p")
|
let v:this_session=expand("<sfile>:p")
|
||||||
silent only
|
silent only
|
||||||
@ -42,147 +43,6 @@ tabnew
|
|||||||
tabnew
|
tabnew
|
||||||
tabnew
|
tabnew
|
||||||
tabrewind
|
tabrewind
|
||||||
edit grid.c
|
|
||||||
set splitbelow splitright
|
|
||||||
set nosplitbelow
|
|
||||||
set nosplitright
|
|
||||||
wincmd t
|
|
||||||
set winminheight=0
|
|
||||||
set winheight=1
|
|
||||||
set winminwidth=0
|
|
||||||
set winwidth=1
|
|
||||||
argglobal
|
|
||||||
setlocal keymap=
|
|
||||||
setlocal noarabic
|
|
||||||
setlocal autoindent
|
|
||||||
setlocal backupcopy=
|
|
||||||
setlocal balloonexpr=
|
|
||||||
setlocal nobinary
|
|
||||||
setlocal nobreakindent
|
|
||||||
setlocal breakindentopt=
|
|
||||||
setlocal bufhidden=
|
|
||||||
setlocal buflisted
|
|
||||||
setlocal buftype=
|
|
||||||
setlocal nocindent
|
|
||||||
setlocal cinkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
|
||||||
setlocal cinoptions=
|
|
||||||
setlocal cinwords=if,else,while,do,for,switch
|
|
||||||
setlocal colorcolumn=
|
|
||||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
|
||||||
setlocal commentstring=/*%s*/
|
|
||||||
setlocal complete=.,w,b,u,t,i
|
|
||||||
setlocal concealcursor=
|
|
||||||
setlocal conceallevel=0
|
|
||||||
setlocal completefunc=
|
|
||||||
setlocal nocopyindent
|
|
||||||
setlocal cryptmethod=
|
|
||||||
setlocal nocursorbind
|
|
||||||
setlocal nocursorcolumn
|
|
||||||
setlocal nocursorline
|
|
||||||
setlocal cursorlineopt=both
|
|
||||||
setlocal define=^\\s*#\\s*define
|
|
||||||
setlocal dictionary=
|
|
||||||
setlocal nodiff
|
|
||||||
setlocal equalprg=
|
|
||||||
setlocal errorformat=
|
|
||||||
setlocal noexpandtab
|
|
||||||
if &filetype != 'c'
|
|
||||||
setlocal filetype=c
|
|
||||||
endif
|
|
||||||
setlocal fixendofline
|
|
||||||
setlocal foldcolumn=0
|
|
||||||
setlocal foldenable
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldtext=foldtext()
|
|
||||||
setlocal formatexpr=
|
|
||||||
setlocal formatoptions=croql
|
|
||||||
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
|
||||||
setlocal formatprg=
|
|
||||||
setlocal grepprg=
|
|
||||||
setlocal iminsert=0
|
|
||||||
setlocal imsearch=-1
|
|
||||||
setlocal include=^\\s*#\\s*include
|
|
||||||
setlocal includeexpr=
|
|
||||||
setlocal indentexpr=
|
|
||||||
setlocal indentkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
|
||||||
setlocal noinfercase
|
|
||||||
setlocal iskeyword=@,48-57,_,192-255
|
|
||||||
setlocal keywordprg=
|
|
||||||
setlocal nolinebreak
|
|
||||||
setlocal nolisp
|
|
||||||
setlocal lispwords=
|
|
||||||
setlocal nolist
|
|
||||||
setlocal makeencoding=
|
|
||||||
setlocal makeprg=
|
|
||||||
setlocal matchpairs=(:),{:},[:]
|
|
||||||
setlocal modeline
|
|
||||||
setlocal modifiable
|
|
||||||
setlocal nrformats=bin,octal,hex
|
|
||||||
set number
|
|
||||||
setlocal number
|
|
||||||
setlocal numberwidth=4
|
|
||||||
setlocal omnifunc=ccomplete#Complete
|
|
||||||
setlocal path=
|
|
||||||
setlocal nopreserveindent
|
|
||||||
setlocal nopreviewwindow
|
|
||||||
setlocal quoteescape=\\
|
|
||||||
setlocal noreadonly
|
|
||||||
set relativenumber
|
|
||||||
setlocal relativenumber
|
|
||||||
setlocal norightleft
|
|
||||||
setlocal rightleftcmd=search
|
|
||||||
setlocal noscrollbind
|
|
||||||
setlocal scrolloff=-1
|
|
||||||
setlocal shiftwidth=4
|
|
||||||
setlocal noshortname
|
|
||||||
setlocal showbreak=
|
|
||||||
setlocal sidescrolloff=-1
|
|
||||||
setlocal signcolumn=auto
|
|
||||||
setlocal smartindent
|
|
||||||
setlocal softtabstop=0
|
|
||||||
setlocal nospell
|
|
||||||
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
|
||||||
setlocal spellfile=
|
|
||||||
setlocal spelllang=en
|
|
||||||
setlocal statusline=
|
|
||||||
setlocal suffixesadd=
|
|
||||||
setlocal swapfile
|
|
||||||
setlocal synmaxcol=3000
|
|
||||||
if &syntax != 'c'
|
|
||||||
setlocal syntax=c
|
|
||||||
endif
|
|
||||||
setlocal tabstop=4
|
|
||||||
setlocal tagcase=
|
|
||||||
setlocal tagfunc=
|
|
||||||
setlocal tags=
|
|
||||||
setlocal termwinkey=
|
|
||||||
setlocal termwinscroll=10000
|
|
||||||
setlocal termwinsize=
|
|
||||||
setlocal textwidth=0
|
|
||||||
setlocal thesaurus=
|
|
||||||
setlocal noundofile
|
|
||||||
setlocal undolevels=-123456
|
|
||||||
setlocal varsofttabstop=
|
|
||||||
setlocal vartabstop=
|
|
||||||
setlocal wincolor=
|
|
||||||
setlocal nowinfixheight
|
|
||||||
setlocal nowinfixwidth
|
|
||||||
setlocal wrap
|
|
||||||
setlocal wrapmargin=0
|
|
||||||
silent! normal! zE
|
|
||||||
let s:l = 29 - ((28 * winheight(0) + 27) / 54)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
exe s:l
|
|
||||||
normal! zt
|
|
||||||
29
|
|
||||||
normal! 0
|
|
||||||
tabnext
|
|
||||||
edit main.c
|
edit main.c
|
||||||
set splitbelow splitright
|
set splitbelow splitright
|
||||||
set nosplitbelow
|
set nosplitbelow
|
||||||
@ -318,15 +178,19 @@ setlocal nowinfixwidth
|
|||||||
setlocal wrap
|
setlocal wrap
|
||||||
setlocal wrapmargin=0
|
setlocal wrapmargin=0
|
||||||
silent! normal! zE
|
silent! normal! zE
|
||||||
let s:l = 1 - ((0 * winheight(0) + 27) / 54)
|
let s:l = 37 - ((36 * winheight(0) + 31) / 62)
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
exe s:l
|
exe s:l
|
||||||
normal! zt
|
normal! zt
|
||||||
1
|
37
|
||||||
normal! 0
|
normal! 0
|
||||||
tabnext
|
tabnext
|
||||||
edit vect.c
|
edit grid.c
|
||||||
set splitbelow splitright
|
set splitbelow splitright
|
||||||
|
wincmd _ | wincmd |
|
||||||
|
vsplit
|
||||||
|
1wincmd h
|
||||||
|
wincmd w
|
||||||
set nosplitbelow
|
set nosplitbelow
|
||||||
set nosplitright
|
set nosplitright
|
||||||
wincmd t
|
wincmd t
|
||||||
@ -334,6 +198,293 @@ set winminheight=0
|
|||||||
set winheight=1
|
set winheight=1
|
||||||
set winminwidth=0
|
set winminwidth=0
|
||||||
set winwidth=1
|
set winwidth=1
|
||||||
|
exe 'vert 1resize ' . ((&columns * 135 + 136) / 272)
|
||||||
|
exe 'vert 2resize ' . ((&columns * 136 + 136) / 272)
|
||||||
|
argglobal
|
||||||
|
1argu
|
||||||
|
setlocal keymap=
|
||||||
|
setlocal noarabic
|
||||||
|
setlocal autoindent
|
||||||
|
setlocal backupcopy=
|
||||||
|
setlocal balloonexpr=
|
||||||
|
setlocal nobinary
|
||||||
|
setlocal nobreakindent
|
||||||
|
setlocal breakindentopt=
|
||||||
|
setlocal bufhidden=
|
||||||
|
setlocal buflisted
|
||||||
|
setlocal buftype=
|
||||||
|
setlocal nocindent
|
||||||
|
setlocal cinkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
||||||
|
setlocal cinoptions=
|
||||||
|
setlocal cinwords=if,else,while,do,for,switch
|
||||||
|
setlocal colorcolumn=
|
||||||
|
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||||
|
setlocal commentstring=/*%s*/
|
||||||
|
setlocal complete=.,w,b,u,t,i
|
||||||
|
setlocal concealcursor=
|
||||||
|
setlocal conceallevel=0
|
||||||
|
setlocal completefunc=
|
||||||
|
setlocal nocopyindent
|
||||||
|
setlocal cryptmethod=
|
||||||
|
setlocal nocursorbind
|
||||||
|
setlocal nocursorcolumn
|
||||||
|
setlocal nocursorline
|
||||||
|
setlocal cursorlineopt=both
|
||||||
|
setlocal define=^\\s*#\\s*define
|
||||||
|
setlocal dictionary=
|
||||||
|
setlocal nodiff
|
||||||
|
setlocal equalprg=
|
||||||
|
setlocal errorformat=
|
||||||
|
setlocal noexpandtab
|
||||||
|
if &filetype != 'c'
|
||||||
|
setlocal filetype=c
|
||||||
|
endif
|
||||||
|
setlocal fixendofline
|
||||||
|
setlocal foldcolumn=0
|
||||||
|
setlocal foldenable
|
||||||
|
setlocal foldexpr=0
|
||||||
|
setlocal foldignore=#
|
||||||
|
setlocal foldlevel=0
|
||||||
|
setlocal foldmarker={{{,}}}
|
||||||
|
setlocal foldmethod=manual
|
||||||
|
setlocal foldminlines=1
|
||||||
|
setlocal foldnestmax=20
|
||||||
|
setlocal foldtext=foldtext()
|
||||||
|
setlocal formatexpr=
|
||||||
|
setlocal formatoptions=croql
|
||||||
|
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
||||||
|
setlocal formatprg=
|
||||||
|
setlocal grepprg=
|
||||||
|
setlocal iminsert=0
|
||||||
|
setlocal imsearch=-1
|
||||||
|
setlocal include=^\\s*#\\s*include
|
||||||
|
setlocal includeexpr=
|
||||||
|
setlocal indentexpr=
|
||||||
|
setlocal indentkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
||||||
|
setlocal noinfercase
|
||||||
|
setlocal iskeyword=@,48-57,_,192-255
|
||||||
|
setlocal keywordprg=
|
||||||
|
setlocal nolinebreak
|
||||||
|
setlocal nolisp
|
||||||
|
setlocal lispwords=
|
||||||
|
setlocal nolist
|
||||||
|
setlocal makeencoding=
|
||||||
|
setlocal makeprg=
|
||||||
|
setlocal matchpairs=(:),{:},[:]
|
||||||
|
setlocal modeline
|
||||||
|
setlocal modifiable
|
||||||
|
setlocal nrformats=bin,octal,hex
|
||||||
|
set number
|
||||||
|
setlocal number
|
||||||
|
setlocal numberwidth=4
|
||||||
|
setlocal omnifunc=ccomplete#Complete
|
||||||
|
setlocal path=
|
||||||
|
setlocal nopreserveindent
|
||||||
|
setlocal nopreviewwindow
|
||||||
|
setlocal quoteescape=\\
|
||||||
|
setlocal noreadonly
|
||||||
|
set relativenumber
|
||||||
|
setlocal relativenumber
|
||||||
|
setlocal norightleft
|
||||||
|
setlocal rightleftcmd=search
|
||||||
|
setlocal noscrollbind
|
||||||
|
setlocal scrolloff=-1
|
||||||
|
setlocal shiftwidth=4
|
||||||
|
setlocal noshortname
|
||||||
|
setlocal showbreak=
|
||||||
|
setlocal sidescrolloff=-1
|
||||||
|
setlocal signcolumn=auto
|
||||||
|
setlocal smartindent
|
||||||
|
setlocal softtabstop=0
|
||||||
|
setlocal nospell
|
||||||
|
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
||||||
|
setlocal spellfile=
|
||||||
|
setlocal spelllang=en
|
||||||
|
setlocal statusline=
|
||||||
|
setlocal suffixesadd=
|
||||||
|
setlocal swapfile
|
||||||
|
setlocal synmaxcol=3000
|
||||||
|
if &syntax != 'c'
|
||||||
|
setlocal syntax=c
|
||||||
|
endif
|
||||||
|
setlocal tabstop=4
|
||||||
|
setlocal tagcase=
|
||||||
|
setlocal tagfunc=
|
||||||
|
setlocal tags=
|
||||||
|
setlocal termwinkey=
|
||||||
|
setlocal termwinscroll=10000
|
||||||
|
setlocal termwinsize=
|
||||||
|
setlocal textwidth=0
|
||||||
|
setlocal thesaurus=
|
||||||
|
setlocal noundofile
|
||||||
|
setlocal undolevels=-123456
|
||||||
|
setlocal varsofttabstop=
|
||||||
|
setlocal vartabstop=
|
||||||
|
setlocal wincolor=
|
||||||
|
setlocal nowinfixheight
|
||||||
|
setlocal nowinfixwidth
|
||||||
|
setlocal wrap
|
||||||
|
setlocal wrapmargin=0
|
||||||
|
silent! normal! zE
|
||||||
|
let s:l = 39 - ((38 * winheight(0) + 30) / 61)
|
||||||
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
|
exe s:l
|
||||||
|
normal! zt
|
||||||
|
39
|
||||||
|
normal! 022|
|
||||||
|
wincmd w
|
||||||
|
argglobal
|
||||||
|
1argu
|
||||||
|
if bufexists("grid.h") | buffer grid.h | else | edit grid.h | endif
|
||||||
|
setlocal keymap=
|
||||||
|
setlocal noarabic
|
||||||
|
setlocal autoindent
|
||||||
|
setlocal backupcopy=
|
||||||
|
setlocal balloonexpr=
|
||||||
|
setlocal nobinary
|
||||||
|
setlocal nobreakindent
|
||||||
|
setlocal breakindentopt=
|
||||||
|
setlocal bufhidden=
|
||||||
|
setlocal buflisted
|
||||||
|
setlocal buftype=
|
||||||
|
setlocal nocindent
|
||||||
|
setlocal cinkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
||||||
|
setlocal cinoptions=
|
||||||
|
setlocal cinwords=if,else,while,do,for,switch
|
||||||
|
setlocal colorcolumn=
|
||||||
|
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||||
|
setlocal commentstring=/*%s*/
|
||||||
|
setlocal complete=.,w,b,u,t,i
|
||||||
|
setlocal concealcursor=
|
||||||
|
setlocal conceallevel=0
|
||||||
|
setlocal completefunc=
|
||||||
|
setlocal nocopyindent
|
||||||
|
setlocal cryptmethod=
|
||||||
|
setlocal nocursorbind
|
||||||
|
setlocal nocursorcolumn
|
||||||
|
setlocal nocursorline
|
||||||
|
setlocal cursorlineopt=both
|
||||||
|
setlocal define=^\\s*#\\s*define
|
||||||
|
setlocal dictionary=
|
||||||
|
setlocal nodiff
|
||||||
|
setlocal equalprg=
|
||||||
|
setlocal errorformat=
|
||||||
|
setlocal noexpandtab
|
||||||
|
if &filetype != 'cpp'
|
||||||
|
setlocal filetype=cpp
|
||||||
|
endif
|
||||||
|
setlocal fixendofline
|
||||||
|
setlocal foldcolumn=0
|
||||||
|
setlocal foldenable
|
||||||
|
setlocal foldexpr=0
|
||||||
|
setlocal foldignore=#
|
||||||
|
setlocal foldlevel=0
|
||||||
|
setlocal foldmarker={{{,}}}
|
||||||
|
setlocal foldmethod=manual
|
||||||
|
setlocal foldminlines=1
|
||||||
|
setlocal foldnestmax=20
|
||||||
|
setlocal foldtext=foldtext()
|
||||||
|
setlocal formatexpr=
|
||||||
|
setlocal formatoptions=croql
|
||||||
|
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
||||||
|
setlocal formatprg=
|
||||||
|
setlocal grepprg=
|
||||||
|
setlocal iminsert=0
|
||||||
|
setlocal imsearch=-1
|
||||||
|
setlocal include=^\\s*#\\s*include
|
||||||
|
setlocal includeexpr=
|
||||||
|
setlocal indentexpr=
|
||||||
|
setlocal indentkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
||||||
|
setlocal noinfercase
|
||||||
|
setlocal iskeyword=@,48-57,_,192-255
|
||||||
|
setlocal keywordprg=
|
||||||
|
setlocal nolinebreak
|
||||||
|
setlocal nolisp
|
||||||
|
setlocal lispwords=
|
||||||
|
setlocal nolist
|
||||||
|
setlocal makeencoding=
|
||||||
|
setlocal makeprg=
|
||||||
|
setlocal matchpairs=(:),{:},[:]
|
||||||
|
setlocal modeline
|
||||||
|
setlocal modifiable
|
||||||
|
setlocal nrformats=bin,octal,hex
|
||||||
|
set number
|
||||||
|
setlocal number
|
||||||
|
setlocal numberwidth=4
|
||||||
|
setlocal omnifunc=ccomplete#Complete
|
||||||
|
setlocal path=
|
||||||
|
setlocal nopreserveindent
|
||||||
|
setlocal nopreviewwindow
|
||||||
|
setlocal quoteescape=\\
|
||||||
|
setlocal noreadonly
|
||||||
|
set relativenumber
|
||||||
|
setlocal relativenumber
|
||||||
|
setlocal norightleft
|
||||||
|
setlocal rightleftcmd=search
|
||||||
|
setlocal noscrollbind
|
||||||
|
setlocal scrolloff=-1
|
||||||
|
setlocal shiftwidth=4
|
||||||
|
setlocal noshortname
|
||||||
|
setlocal showbreak=
|
||||||
|
setlocal sidescrolloff=-1
|
||||||
|
setlocal signcolumn=auto
|
||||||
|
setlocal smartindent
|
||||||
|
setlocal softtabstop=0
|
||||||
|
setlocal nospell
|
||||||
|
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
||||||
|
setlocal spellfile=
|
||||||
|
setlocal spelllang=en
|
||||||
|
setlocal statusline=
|
||||||
|
setlocal suffixesadd=
|
||||||
|
setlocal swapfile
|
||||||
|
setlocal synmaxcol=3000
|
||||||
|
if &syntax != 'cpp'
|
||||||
|
setlocal syntax=cpp
|
||||||
|
endif
|
||||||
|
setlocal tabstop=4
|
||||||
|
setlocal tagcase=
|
||||||
|
setlocal tagfunc=
|
||||||
|
setlocal tags=
|
||||||
|
setlocal termwinkey=
|
||||||
|
setlocal termwinscroll=10000
|
||||||
|
setlocal termwinsize=
|
||||||
|
setlocal textwidth=0
|
||||||
|
setlocal thesaurus=
|
||||||
|
setlocal noundofile
|
||||||
|
setlocal undolevels=-123456
|
||||||
|
setlocal varsofttabstop=
|
||||||
|
setlocal vartabstop=
|
||||||
|
setlocal wincolor=
|
||||||
|
setlocal nowinfixheight
|
||||||
|
setlocal nowinfixwidth
|
||||||
|
setlocal wrap
|
||||||
|
setlocal wrapmargin=0
|
||||||
|
silent! normal! zE
|
||||||
|
let s:l = 20 - ((19 * winheight(0) + 30) / 61)
|
||||||
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
|
exe s:l
|
||||||
|
normal! zt
|
||||||
|
20
|
||||||
|
normal! 05|
|
||||||
|
wincmd w
|
||||||
|
exe 'vert 1resize ' . ((&columns * 135 + 136) / 272)
|
||||||
|
exe 'vert 2resize ' . ((&columns * 136 + 136) / 272)
|
||||||
|
tabnext
|
||||||
|
edit vect.c
|
||||||
|
set splitbelow splitright
|
||||||
|
wincmd _ | wincmd |
|
||||||
|
vsplit
|
||||||
|
1wincmd h
|
||||||
|
wincmd w
|
||||||
|
set nosplitbelow
|
||||||
|
set nosplitright
|
||||||
|
wincmd t
|
||||||
|
set winminheight=0
|
||||||
|
set winheight=1
|
||||||
|
set winminwidth=0
|
||||||
|
set winwidth=1
|
||||||
|
exe 'vert 1resize ' . ((&columns * 135 + 136) / 272)
|
||||||
|
exe 'vert 2resize ' . ((&columns * 136 + 136) / 272)
|
||||||
argglobal
|
argglobal
|
||||||
3argu
|
3argu
|
||||||
setlocal keymap=
|
setlocal keymap=
|
||||||
@ -460,12 +611,150 @@ setlocal nowinfixwidth
|
|||||||
setlocal wrap
|
setlocal wrap
|
||||||
setlocal wrapmargin=0
|
setlocal wrapmargin=0
|
||||||
silent! normal! zE
|
silent! normal! zE
|
||||||
let s:l = 1 - ((0 * winheight(0) + 27) / 54)
|
let s:l = 1 - ((0 * winheight(0) + 30) / 61)
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
exe s:l
|
exe s:l
|
||||||
normal! zt
|
normal! zt
|
||||||
1
|
1
|
||||||
normal! 0
|
normal! 0
|
||||||
|
wincmd w
|
||||||
|
argglobal
|
||||||
|
3argu
|
||||||
|
if bufexists("vect.h") | buffer vect.h | else | edit vect.h | endif
|
||||||
|
setlocal keymap=
|
||||||
|
setlocal noarabic
|
||||||
|
setlocal autoindent
|
||||||
|
setlocal backupcopy=
|
||||||
|
setlocal balloonexpr=
|
||||||
|
setlocal nobinary
|
||||||
|
setlocal nobreakindent
|
||||||
|
setlocal breakindentopt=
|
||||||
|
setlocal bufhidden=
|
||||||
|
setlocal buflisted
|
||||||
|
setlocal buftype=
|
||||||
|
setlocal nocindent
|
||||||
|
setlocal cinkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
||||||
|
setlocal cinoptions=
|
||||||
|
setlocal cinwords=if,else,while,do,for,switch
|
||||||
|
setlocal colorcolumn=
|
||||||
|
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||||
|
setlocal commentstring=/*%s*/
|
||||||
|
setlocal complete=.,w,b,u,t,i
|
||||||
|
setlocal concealcursor=
|
||||||
|
setlocal conceallevel=0
|
||||||
|
setlocal completefunc=
|
||||||
|
setlocal nocopyindent
|
||||||
|
setlocal cryptmethod=
|
||||||
|
setlocal nocursorbind
|
||||||
|
setlocal nocursorcolumn
|
||||||
|
setlocal nocursorline
|
||||||
|
setlocal cursorlineopt=both
|
||||||
|
setlocal define=^\\s*#\\s*define
|
||||||
|
setlocal dictionary=
|
||||||
|
setlocal nodiff
|
||||||
|
setlocal equalprg=
|
||||||
|
setlocal errorformat=
|
||||||
|
setlocal noexpandtab
|
||||||
|
if &filetype != 'cpp'
|
||||||
|
setlocal filetype=cpp
|
||||||
|
endif
|
||||||
|
setlocal fixendofline
|
||||||
|
setlocal foldcolumn=0
|
||||||
|
setlocal foldenable
|
||||||
|
setlocal foldexpr=0
|
||||||
|
setlocal foldignore=#
|
||||||
|
setlocal foldlevel=0
|
||||||
|
setlocal foldmarker={{{,}}}
|
||||||
|
setlocal foldmethod=manual
|
||||||
|
setlocal foldminlines=1
|
||||||
|
setlocal foldnestmax=20
|
||||||
|
setlocal foldtext=foldtext()
|
||||||
|
setlocal formatexpr=
|
||||||
|
setlocal formatoptions=croql
|
||||||
|
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
||||||
|
setlocal formatprg=
|
||||||
|
setlocal grepprg=
|
||||||
|
setlocal iminsert=0
|
||||||
|
setlocal imsearch=-1
|
||||||
|
setlocal include=^\\s*#\\s*include
|
||||||
|
setlocal includeexpr=
|
||||||
|
setlocal indentexpr=
|
||||||
|
setlocal indentkeys=0{,0},0),0],:,0#,!^F,o,O,e
|
||||||
|
setlocal noinfercase
|
||||||
|
setlocal iskeyword=@,48-57,_,192-255
|
||||||
|
setlocal keywordprg=
|
||||||
|
setlocal nolinebreak
|
||||||
|
setlocal nolisp
|
||||||
|
setlocal lispwords=
|
||||||
|
setlocal nolist
|
||||||
|
setlocal makeencoding=
|
||||||
|
setlocal makeprg=
|
||||||
|
setlocal matchpairs=(:),{:},[:]
|
||||||
|
setlocal modeline
|
||||||
|
setlocal modifiable
|
||||||
|
setlocal nrformats=bin,octal,hex
|
||||||
|
set number
|
||||||
|
setlocal number
|
||||||
|
setlocal numberwidth=4
|
||||||
|
setlocal omnifunc=ccomplete#Complete
|
||||||
|
setlocal path=
|
||||||
|
setlocal nopreserveindent
|
||||||
|
setlocal nopreviewwindow
|
||||||
|
setlocal quoteescape=\\
|
||||||
|
setlocal noreadonly
|
||||||
|
set relativenumber
|
||||||
|
setlocal relativenumber
|
||||||
|
setlocal norightleft
|
||||||
|
setlocal rightleftcmd=search
|
||||||
|
setlocal noscrollbind
|
||||||
|
setlocal scrolloff=-1
|
||||||
|
setlocal shiftwidth=4
|
||||||
|
setlocal noshortname
|
||||||
|
setlocal showbreak=
|
||||||
|
setlocal sidescrolloff=-1
|
||||||
|
setlocal signcolumn=auto
|
||||||
|
setlocal smartindent
|
||||||
|
setlocal softtabstop=0
|
||||||
|
setlocal nospell
|
||||||
|
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
||||||
|
setlocal spellfile=
|
||||||
|
setlocal spelllang=en
|
||||||
|
setlocal statusline=
|
||||||
|
setlocal suffixesadd=
|
||||||
|
setlocal swapfile
|
||||||
|
setlocal synmaxcol=3000
|
||||||
|
if &syntax != 'cpp'
|
||||||
|
setlocal syntax=cpp
|
||||||
|
endif
|
||||||
|
setlocal tabstop=4
|
||||||
|
setlocal tagcase=
|
||||||
|
setlocal tagfunc=
|
||||||
|
setlocal tags=
|
||||||
|
setlocal termwinkey=
|
||||||
|
setlocal termwinscroll=10000
|
||||||
|
setlocal termwinsize=
|
||||||
|
setlocal textwidth=0
|
||||||
|
setlocal thesaurus=
|
||||||
|
setlocal noundofile
|
||||||
|
setlocal undolevels=-123456
|
||||||
|
setlocal varsofttabstop=
|
||||||
|
setlocal vartabstop=
|
||||||
|
setlocal wincolor=
|
||||||
|
setlocal nowinfixheight
|
||||||
|
setlocal nowinfixwidth
|
||||||
|
setlocal wrap
|
||||||
|
setlocal wrapmargin=0
|
||||||
|
silent! normal! zE
|
||||||
|
let s:l = 4 - ((3 * winheight(0) + 30) / 61)
|
||||||
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
|
exe s:l
|
||||||
|
normal! zt
|
||||||
|
4
|
||||||
|
normal! 0
|
||||||
|
wincmd w
|
||||||
|
2wincmd w
|
||||||
|
exe 'vert 1resize ' . ((&columns * 135 + 136) / 272)
|
||||||
|
exe 'vert 2resize ' . ((&columns * 136 + 136) / 272)
|
||||||
tabnext
|
tabnext
|
||||||
edit grid.h
|
edit grid.h
|
||||||
set splitbelow splitright
|
set splitbelow splitright
|
||||||
@ -602,11 +891,11 @@ setlocal nowinfixwidth
|
|||||||
setlocal wrap
|
setlocal wrap
|
||||||
setlocal wrapmargin=0
|
setlocal wrapmargin=0
|
||||||
silent! normal! zE
|
silent! normal! zE
|
||||||
let s:l = 1 - ((0 * winheight(0) + 27) / 54)
|
let s:l = 5 - ((4 * winheight(0) + 27) / 55)
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
exe s:l
|
exe s:l
|
||||||
normal! zt
|
normal! zt
|
||||||
1
|
5
|
||||||
normal! 0
|
normal! 0
|
||||||
tabnext
|
tabnext
|
||||||
edit vect.h
|
edit vect.h
|
||||||
@ -744,7 +1033,7 @@ setlocal nowinfixwidth
|
|||||||
setlocal wrap
|
setlocal wrap
|
||||||
setlocal wrapmargin=0
|
setlocal wrapmargin=0
|
||||||
silent! normal! zE
|
silent! normal! zE
|
||||||
let s:l = 1 - ((0 * winheight(0) + 27) / 54)
|
let s:l = 1 - ((0 * winheight(0) + 27) / 55)
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
exe s:l
|
exe s:l
|
||||||
normal! zt
|
normal! zt
|
||||||
@ -761,6 +1050,7 @@ set winheight=1
|
|||||||
set winminwidth=0
|
set winminwidth=0
|
||||||
set winwidth=1
|
set winwidth=1
|
||||||
argglobal
|
argglobal
|
||||||
|
1argu
|
||||||
if bufexists("makefile") | buffer makefile | else | edit makefile | endif
|
if bufexists("makefile") | buffer makefile | else | edit makefile | endif
|
||||||
setlocal keymap=
|
setlocal keymap=
|
||||||
setlocal noarabic
|
setlocal noarabic
|
||||||
@ -886,20 +1176,22 @@ setlocal nowinfixwidth
|
|||||||
setlocal wrap
|
setlocal wrap
|
||||||
setlocal wrapmargin=0
|
setlocal wrapmargin=0
|
||||||
silent! normal! zE
|
silent! normal! zE
|
||||||
let s:l = 1 - ((0 * winheight(0) + 27) / 54)
|
let s:l = 1 - ((0 * winheight(0) + 27) / 55)
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
exe s:l
|
exe s:l
|
||||||
normal! zt
|
normal! zt
|
||||||
1
|
1
|
||||||
normal! 0
|
normal! 0
|
||||||
tabnext 1
|
tabnext 3
|
||||||
set stal=1
|
set stal=1
|
||||||
badd +1 grid.c
|
badd +0 grid.c
|
||||||
badd +0 main.c
|
badd +1 main.c
|
||||||
badd +0 vect.c
|
badd +1 vect.c
|
||||||
badd +0 grid.h
|
badd +1 grid.h
|
||||||
badd +0 vect.h
|
badd +1 vect.h
|
||||||
badd +0 makefile
|
badd +1 makefile
|
||||||
|
badd +919 session.vim
|
||||||
|
badd +0 gri.h
|
||||||
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0
|
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0
|
||||||
silent exe 'bwipe ' . s:wipebuf
|
silent exe 'bwipe ' . s:wipebuf
|
||||||
endif
|
endif
|
||||||
@ -911,7 +1203,6 @@ if filereadable(s:sx)
|
|||||||
exe "source " . fnameescape(s:sx)
|
exe "source " . fnameescape(s:sx)
|
||||||
endif
|
endif
|
||||||
let &so = s:so_save | let &siso = s:siso_save
|
let &so = s:so_save | let &siso = s:siso_save
|
||||||
nohlsearch
|
|
||||||
doautoall SessionLoadPost
|
doautoall SessionLoadPost
|
||||||
unlet SessionLoad
|
unlet SessionLoad
|
||||||
" vim: set ft=vim :
|
" vim: set ft=vim :
|
||||||
|
Loading…
Reference in New Issue
Block a user