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 <time.h>
|
||||
#include "grid.h"
|
||||
|
||||
void initGrid(Grid* grid, unsigned int width, unsigned int height)
|
||||
{
|
||||
grid->size = width*height;
|
||||
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
|
||||
unsigned int toIndex(Grid* grid, int x, int y)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
@ -26,14 +77,18 @@ void updateGrid(Grid* grid)
|
||||
|
||||
for (int y = 0; y < height; y++) {
|
||||
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)
|
||||
{
|
||||
grid->arr[toIndex(grid, x, y)] = true;
|
||||
grid->state[toIndex(grid, x, y)] = true;
|
||||
}
|
||||
|
||||
void drawGrid(Grid* grid)
|
||||
@ -43,7 +98,7 @@ void drawGrid(Grid* grid)
|
||||
height = grid->size/width;
|
||||
for (int y = 0; y < height; y++) {
|
||||
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, " ");
|
||||
}
|
||||
}
|
||||
|
7
grid.h
7
grid.h
@ -7,13 +7,18 @@
|
||||
typedef struct Grid {
|
||||
unsigned int size;
|
||||
unsigned int width;
|
||||
bool* arr;
|
||||
bool* state;
|
||||
bool* next_state;
|
||||
} Grid;
|
||||
|
||||
void initGrid(Grid* grid, unsigned int width, unsigned int height);
|
||||
|
||||
void randomizeGrid(Grid* grid);
|
||||
|
||||
unsigned int toIndex(Grid* grid, int x, int y);
|
||||
|
||||
bool getPixel(Grid* grid, int x, int y);
|
||||
|
||||
void clearGrid(Grid* grid);
|
||||
|
||||
void updateGrid(Grid* grid);
|
||||
|
16
main.c
16
main.c
@ -30,22 +30,26 @@ int main()
|
||||
Vect2i pos = {0, 0};
|
||||
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;
|
||||
initGrid(&grid, width, height);
|
||||
randomizeGrid(&grid);
|
||||
putPixel(&grid, pos.x, pos.y);
|
||||
|
||||
while (running) {
|
||||
clearGrid(&grid);
|
||||
putPixel(&grid, pos.x, pos.y);
|
||||
drawGrid(&grid);
|
||||
|
||||
refresh();
|
||||
|
||||
moveVect2i(&pos, vel.x, vel.y);
|
||||
contain(&pos.x, &vel.x, 0, width-1);
|
||||
contain(&pos.y, &vel.y, 0, height-1);
|
||||
//moveVect2i(&pos, vel.x, vel.y);
|
||||
//contain(&pos.x, &vel.x, 0, width-1);
|
||||
//contain(&pos.y, &vel.y, 0, height-1);
|
||||
|
||||
updateGrid(&grid);
|
||||
|
||||
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 tabstop=4
|
||||
set undodir=~/.cache/vim/undo//
|
||||
set window=63
|
||||
let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
|
||||
let v:this_session=expand("<sfile>:p")
|
||||
silent only
|
||||
@ -42,147 +43,6 @@ tabnew
|
||||
tabnew
|
||||
tabnew
|
||||
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
|
||||
set splitbelow splitright
|
||||
set nosplitbelow
|
||||
@ -318,15 +178,19 @@ setlocal nowinfixwidth
|
||||
setlocal wrap
|
||||
setlocal wrapmargin=0
|
||||
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
|
||||
exe s:l
|
||||
normal! zt
|
||||
1
|
||||
37
|
||||
normal! 0
|
||||
tabnext
|
||||
edit vect.c
|
||||
edit grid.c
|
||||
set splitbelow splitright
|
||||
wincmd _ | wincmd |
|
||||
vsplit
|
||||
1wincmd h
|
||||
wincmd w
|
||||
set nosplitbelow
|
||||
set nosplitright
|
||||
wincmd t
|
||||
@ -334,6 +198,293 @@ 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
|
||||
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
|
||||
3argu
|
||||
setlocal keymap=
|
||||
@ -460,12 +611,150 @@ setlocal nowinfixwidth
|
||||
setlocal wrap
|
||||
setlocal wrapmargin=0
|
||||
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
|
||||
exe s:l
|
||||
normal! zt
|
||||
1
|
||||
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
|
||||
edit grid.h
|
||||
set splitbelow splitright
|
||||
@ -602,11 +891,11 @@ setlocal nowinfixwidth
|
||||
setlocal wrap
|
||||
setlocal wrapmargin=0
|
||||
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
|
||||
exe s:l
|
||||
normal! zt
|
||||
1
|
||||
5
|
||||
normal! 0
|
||||
tabnext
|
||||
edit vect.h
|
||||
@ -744,7 +1033,7 @@ setlocal nowinfixwidth
|
||||
setlocal wrap
|
||||
setlocal wrapmargin=0
|
||||
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
|
||||
exe s:l
|
||||
normal! zt
|
||||
@ -761,6 +1050,7 @@ set winheight=1
|
||||
set winminwidth=0
|
||||
set winwidth=1
|
||||
argglobal
|
||||
1argu
|
||||
if bufexists("makefile") | buffer makefile | else | edit makefile | endif
|
||||
setlocal keymap=
|
||||
setlocal noarabic
|
||||
@ -886,20 +1176,22 @@ setlocal nowinfixwidth
|
||||
setlocal wrap
|
||||
setlocal wrapmargin=0
|
||||
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
|
||||
exe s:l
|
||||
normal! zt
|
||||
1
|
||||
normal! 0
|
||||
tabnext 1
|
||||
tabnext 3
|
||||
set stal=1
|
||||
badd +1 grid.c
|
||||
badd +0 main.c
|
||||
badd +0 vect.c
|
||||
badd +0 grid.h
|
||||
badd +0 vect.h
|
||||
badd +0 makefile
|
||||
badd +0 grid.c
|
||||
badd +1 main.c
|
||||
badd +1 vect.c
|
||||
badd +1 grid.h
|
||||
badd +1 vect.h
|
||||
badd +1 makefile
|
||||
badd +919 session.vim
|
||||
badd +0 gri.h
|
||||
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0
|
||||
silent exe 'bwipe ' . s:wipebuf
|
||||
endif
|
||||
@ -911,7 +1203,6 @@ if filereadable(s:sx)
|
||||
exe "source " . fnameescape(s:sx)
|
||||
endif
|
||||
let &so = s:so_save | let &siso = s:siso_save
|
||||
nohlsearch
|
||||
doautoall SessionLoadPost
|
||||
unlet SessionLoad
|
||||
" vim: set ft=vim :
|
||||
|
Loading…
Reference in New Issue
Block a user