Найти в Дзене
Басилевс Мемнон

Мои хобби

Рассказ о моих хобби (16 лет(в этом году будет 17), школьник, чтобы относились с некоторыми снизхождением)

Вязание крючком:

Меня научила мама, получается посредственно, да и часто забрасываю.

Текущий фрагмент
Текущий фрагмент
Один из законченных фрагментов
Один из законченных фрагментов

Галярея с фотками фрагментов

Программирование:

Так видео уроки, текстовые уроки, (для хобби мне удобнее было на телефоне) Сначала c++ написал консольную змейку скриншотов работы не осталось, но сохранился ее код(№ вместо решетки):

№include <iostream>

№include <cstdlib>

using namespace std;

bool gameover;

const int windth=40, heigth=12;

int x, y, fructx, fructy, score;

enum direct{Stop=0, Right, Left, Up, Down};

direct dir;

int tellx[100], telly[100];

int ntell;

void setup();

void drow();

void input();

void logic();

int main() {

  setup();

  while (!gameover) {

  drow();

  logic();

  input();

    }

}

void setup() {

  gameover=false;

  score=0;

  x= windth/2-1;

  y= heigth/2-1;

  fructx= rand() % 40;

  fructy= rand() % 12;

  dir = Stop;

}

void drow() {

  system("clear");

  for(int i=0; i<windth+1; i++) 

  cout << "№"

  cout << endl;

   

  for(int i=0; i<heigth; i++) {

    for(int j=0; j<windth; j++) {

      bool print =false;

      if(j==0 || j==windth-1) 

       cout << "№"

      if (i==y && j==x) {

        print=true;

       cout << "0";

      } else { 

      if(i==fructy && j==fructx) {

          print =true;

       cout << "f";

      } else {

          for(int k=0; k<ntell; k++) {

          if(i==telly[k] && j==tellx[k]) {

              cout << "o"; 

            print =true;

          } else {

            print=false;

          }

        }

        }

        if (!print){

      cout << " ";

      }

      } 

    }

    cout << endl;

}

  for(int i=0; i<windth+1; i++) 

  cout << "№"

  cout << endl;

}

void input() {

    char input;

  bool inpute=false;

   while (!inpute) {

  cin >> input;

  switch (input) {

    case 'a' :

    dir =Left;

    break;

    case 'd' :

    dir=Right;

    break;

    case 'w' :

    dir=Up;

    break;

    case 's' :

    dir=Down;

    break;

    case 'x' :

    gameover=true;

    break;

  } 

    inpute =true;

 }    

}

void logic() {

  int pryvx = tellx[0];

  int pryvy = telly[0];

  int pryv2x, pryv2y;

  tellx[0]=x;

  telly[0]=y;

  for (int i=1; i<ntell; i++) {

  pryv2x =tellx[i];

  pryv2y =telly[i];

  tellx[i] =pryvx;

  telly[i] =pryvy;

  pryvx=pryv2x;

  pryvy=pryv2y;

}

  if (dir == Left)

  x--;

  if (dir == Right)

  x++;

  if (dir == Up)

  y-- ;

  if(dir == Down)

  y++;

   

  if (x>=windth-1) {

  x=0;

} else if (x<0) {

  x= windth -2;

}

  if (y>=heigth-1) {

  y=0;

} else if (y<0) {

  y= heigth -2;

  for(int i =0; i<ntell; i++) {

  if (x==tellx[i] && y==telly[i]) {

      gameover=true;

    }

}

  if(x==fructx && y==fructy) {

  score+=10;

  fructx= rand() % 40;

  fructy= rand() % 14;

  ntell++;

}

  cout << "score: " << score << endl;

}

Потом я прешел на Pixileng, спасибо Техношаману. Переписал змейку на Pixileng

Мой рекорд я не смог выводить очки по этому приходится полагаться на зрительное сравнение
Мой рекорд я не смог выводить очки по этому приходится полагаться на зрительное сравнение

Код:

gameover=0

set_up=0

out=0

x=0 y=0 fruct_x=0 fruct_y=0

tatl=30 //размер клетки

dir=0 // 0-стоп 1 верх 2 право 3 вниз 4 лево

//направления

Left=WINDOW_XSIZE / -2

Right=WINDOW_XSIZE / 2 - 300 - tatl

Top=WINDOW_YSIZE / -2

Bottom=WINDOW_YSIZE / 2 - tatl

//границы поля

telln=0

tell= new(100, 2)

// начало основногокода

while 1

{

  if set_up==0 {setup()}

  if gameover==0

  {

    draw()

    input()

    logic()

  }

frame()

//конец основного кода

fn setup()

{

  rand_seed( get_seconds())

  x=-300

  telln=4 

  gameover=0

  dir=0

  set_up=1

  i=0

  while i<telln

  {

    tell[i,0]=x+tatl+(tatl*i)

    tell[i,1]=y

    i=i+1

  }

  fruct_x = rand() % (WINDOW_XSIZE - 300-tatl) - WINDOW_XSIZE / 2

  fruct_x=fruct_x-fruct_x%tatl

  fruct_y = rand() % (WINDOW_YSIZE - tatl) - WINDOW_YSIZE / 2

  fruct_y=fruct_y-fruct_y%tatl

}

fn draw()

{

  clear()

  fbox(Right, Top, tatl, WINDOW_YSIZE №ffffff) //рисуем границу

  fbox(Left,Top, tatl, WINDOW_YSIZE, №ffffff)  

fbox(Left, Top, WINDOW_XSIZE-300, tatl,   

fbox(Left, Bottom, WINDOW_XSIZE-300, tatl, №ffffff)  

fbox(fruct_x, fruct_y, tatl, tatl, №ff0000) //рисуем фрукт

  fbox(x, y, tatl, tatl, №008800) //рисуем голву

  //рисуем тело

  i=0

  while i<telln

  {

    fbox(tell[i,0], tell[i,1], tatl, tatl,  №00ff00)

i=i+1

  }

  //рисуем интерфейс

  s=100

  fbox(Right+tatl, -50, s, s, №888888) //left 4

  fbox(Right+tatl+s, -150, s, s, №888888//up 1

  fbox(Right+tatl+s, 50, s, s, №888888) //down 3

  fbox(Right+tatl+s+s, -50, s, s,№888888) //right 2

  fbox(Right+tatl+s, Top+tatl, s,s, №0000ff)   //синяя кнопка перезагрузки не работает после смерти змейки

fbox(Right+tatl+s, Bottom-s, s,s, №ff0000) // красная кнопка выхода также болезнь что и у синей

}

fn input()

{

  while (get_event())

  {

    if EVT[EVT_TYPE]==EVT_MOUSEBUTTONDOWN

    {

      i = 0

      while i<s

      {

        j = 0

        while j<s

        {

          if EVT[EVT_X] == Right+tatl+i && EVT[EVT_Y] == -50+j && dir!=2

          {

            dir=4

          }

          if EVT[EVT_X] == Right+tatl+s+i && EVT[EVT_Y] ==-150+j && dir!=3

          {

            dir=1

          }

          if EVT[EVT_X] == Right+tatl+s+i && EVT[EVT_Y] ==50 + j && dir!=1

          {

            dir=3

          }

          if EVT[EVT_X] == Right+tatl+s+s+i && EVT[EVT_Y] == -50 + j && dir!=4

          {

            dir=2

          } 

          if EVT[EVT_X] == Right+tatl+s+i && EVT[EVT_Y] == Top + tatl + j {set_up=0}

          if EVT[EVT_X] == Right+tatl+s+i && EVT[EVT_Y] == Bottom - s +j { halt }

          j=j+1

        }

        i=i+1

      }

    }

    if EVT[EVT_TYPE]==EVT_QUIT { halt }

  }

}

fn logic()

{

  //двигаем тело

  if dir!=0

  {

    $priv_x=tell[0,0]

    $priv_y=tell[0,1]

    $priv_2x=0 $priv_2y=0

    tell[0,0]=x

    tell[0,1]=y

    tell[0,0] = tell[0,0] - tell[0,0] % tatl

    tell[0,1] = tell[0,1] - tell[0,1] % tatl

    i = 1

    while i<telln

    {

      $priv_2x=tell[i,0]

      $priv_2y=tell[i,1]

      tell[i,0]=$priv_x

      tell[i,1]=$priv_y

      tell[i,0] = tell[i,0] - tell[i,0]%tatl

      tell[i,1] = tell[i,1] - tell[i,1]%tatl

      $priv_x=$priv_2x

      $priv_y=$priv_2y

      i=i+1

    }

  }

  //двигаем голову

  if dir==1 {y=y-tatl}

  if dir==2 {x=x+tatl}

  if dir==3 {y=y+tatl}

  if dir==4 {x=x-tatl}

  //выравниваем координаьы змейки

  x=x-x%tatl

  y=y-y%tatl

  // проверяем пресечение с гроницами

  if y<=Top {y=Bottom-tatl}

  if y>=Bottom {y=Top+tatl}

  if x>=Right {x=Left+tatl}

  if x<=Left {x=Right-tatl}

  // проверяем на столкновение стелом

  i=0

  while i<telln

  {

    if x==tell[i,0] && y==tell[i,1] {gameover=1}

    i=i+1

  }

  if fruct_x<=Left || fruct_x>=Right || fruct_y<=Top || fruct_y>=Bottom

  {

   fruct_x = rand() % (WINDOW_XSIZE - 300-tatl) - WINDOW_XSIZE / 2

  fruct_x=fruct_x-fruct_x%tatl

  fruct_y = rand() % (WINDOW_YSIZE - tatl) - WINDOW_YSIZE / 2

  fruct_y=fruct_y-fruct_y%tatl

  }

  if x==fruct_x && y==fruct_y

  {

    fruct_x = rand() % (WINDOW_XSIZE - 300-tatl) - WINDOW_XSIZE / 2

  fruct_x=fruct_x-fruct_x%tatl

  fruct_y = rand() % (WINDOW_YSIZE - tatl) - WINDOW_YSIZE / 2

  fruct_y=fruct_y-fruct_y%tatl

     telln=telln+1

  }

}

Запись геймплея (да уменя заторможена я реакция, и разумеется в ней есть баги)

В итоге я пришел к processing(спасибо Алексу Гайверу)

Очередная змейка
Очередная змейка

Код:

float x =0;

float y =0;

float taitl=20;

int tel=3;

float xtel[]= new float[1000];

float ytel[]= new float[1000];

int dir=0;

float fructx= 0;

float fructy= 0;

Boolean gameover= false;

int score=0;

void setup() {

 frameRate(24);

 x= width/2;

 x = x-x % taitl;

 y= height/2;

 y = y-y % taitl;

 fructx= random (width);

 fructx=fructx - fructx% taitl;

 fructy= random (height-300);  

 fructy=fructy - fructy% taitl;

   for (int i=1;i<tel+1;i=i+1)

 {

  xtel[i-1]=x;

  ytel[i-1]=y+i*taitl;

 }

}

void draw() {

 background (0);

 fill(0,128,0);

 noStroke();

 rect(x, y, taitl, taitl);

 fill(255, 0,0);

 rect(fructx,fructy,taitl,taitl);

 fill(0, 255, 0);

 for(int i=0; i<tel;i++)

 {

  rect(xtel[i],ytel[i],taitl,taitl);

 }

 fill(255,0,255);

 rect(0,0,score,20);

 fill(128,128,128);

 rect(0, height-320, width, 20);

 fill(192,192,192);

 rect(width/2-50,height-300,100,100,10); 

 rect(width/2+50,height-200,100,100,10);

 rect(width/2-50,height-100,100,100,10);

 rect(width/2-150,height-200,100,100,10);

 if(gameover==false)

 {

  logic();

 }

}

void logic()

{

 float $x1=xtel[0];

 float $y1=ytel[0];

 xtel[0]=x;

 ytel[0]=y;

 for (int i=1; i<tel; i++)

 {

  float $x2=xtel[i];

  float $y2=ytel[i];

  xtel[i]=$x1;

  ytel[i]=$y1;

  $x1=$x2;

  $y1=$y2;

 }

 switch (dir){

  // верх

  case 0:

   y-=taitl;

   break;

  //право

  case 1:

   x+=taitl;

   break;

  // низ

  case 2:

   y+=taitl;

   break;

  //лево

  case 3:

   x-=taitl;

   break;

  }

  x=x%width;

  y=y%(height-300);

  if (x<0){

   x+=width;

   }

  if (y<0){

   y+=height-300;

   }

  //съесть фрукт

  if (x==fructx && y==fructy)

  {

   tel++;

   fructx= random (width);

   fructx=fructx - fructx% taitl;

   fructy= random (height-300);  

   fructy=fructy - fructy% taitl;

   score+=20;

  }

  for(int i=0; i<tel; i++){

   if(x==xtel[i] && y==ytel[i])

   {

    gameover=true;

   }

  }

}

void mousePressed(){

 if (mouseX>width/2-50 && mouseX<width/2+50 && mouseY>height-300 && mouseY<height-200 && dir!=2)

  {

   dir=0;

  }

 if (mouseX>width/2+50 && mouseX<width/2+150 && mouseY>height-200 && mouseY<height-100 && dir!=3)

  {

    dir=1;

  }

 if (mouseX>width/2-50 && mouseX<width/2+50 && mouseY>height-100 && mouseY<height && dir!=0)

  {

   dir=2;

  }

   if (mouseX>width/2-150 && mouseX<width/2-50 && mouseY>height-200 && mouseY<height-100 && dir!=1)

   {

    dir=3;

 }

}

Запись геймплея, на которой можно заменить крайнюю заторможенность моей реакции. В конце было самоубийство, а не несчастный случай.

Литература ("писатель" :) ) :

Этому был посвящен этот канал поэтому распространяться не буду.

Оглавление моей книги, если кому интересно

Музыка:

Научился читать ноты(спасибо МОСКВИСТ), играть "гусей" на фортепиано (у меня его нет поэтому симулятор) видео.

Ноты гусей
Ноты гусей

Поробывал научиться играть "кузнечика", но не получается, да и на симуляторе не то.

Потом вспомнил, что дома валяется балалайка, настроил(по тюнеру из интернета). Теперь учусь по самоучителю. Запись первого и второго упражения(так плохо играть могу только я! Начал на прошлой неделе, учился по выходным и не особо долго)

Ноты первого упражнения
Ноты первого упражнения

В табах(1 струга самая тонкая и находится в низу поэтому и на табах она снизу, табы сам "изобрел"):

-----|-----|-----|-----|-----|-----|-----|---||

-----|-----|-----|-----|-----|-----|-----|---||

-0-2|-3-2|-3-2|-0-2|-0-2|-3-2|-3-2|-2||

Ноты второго упражения
Ноты второго упражения

В табах:

-----|-----|-----|-----|-----|-----|-----|---||

-----|-----|-----|-----|-----|-----|-----|---||

-0-2|-4-2|-4-2|-0-2|-0-2|-4-2|-4-2|-2||

Третье упражнение брятцаньем

Ноты третьего упражнения
Ноты третьего упражнения

В табах(↓-удар вниз, ↑ - удар вверх):

↓↑↓↑ ↓↑↓↑ ↓↑↓↑ ↓↑↓↑↓↑↓↑ ↓↑↓↑↓↑↓↑↓↑↓↑

-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0--|

-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0--|

-0-2|-3-2|-3-2|-0-2|-0-2|-3-2|-3-2|-0--|

↓↑↓↑ ↓↑↓↑ ↓↑↓↑ ↓↑↓↑↓↑↓↑ ↓↑↓↑↓↑↓↑↓↑↓↑

-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0--||

-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0-0|-0--||

-0-2|-4-2|-4-2|-0-2|-0-2|-4-2|-4-2|-0--||

Самая простая  у деки даже нет панциря
Самая простая у деки даже нет панциря

Резьба по дереву:

Резюме по дереву нас учат на уроках труда, но мне очень нравится поэтому я нахожу для этого занятия время после уроков (одновременно с эти, как агалделый "подпеваю" любимым песням.)

Первая шкатулка была ровной но у нее плохо получилась крышка, фотографий не сохранилось.

Второе шкатулка получилась кривой, но зато крышка получилась нормальной.

Ракурс подобрал, чтоб кривизна не сильно бросалась в глаза
Ракурс подобрал, чтоб кривизна не сильно бросалась в глаза
Нож косяк
Нож косяк

Третья шкатулка получилась относительно прямой.

Нужно было сфоткать с угла, но я не додумался.

Галярея с фотками шкатулки.

Эгзамены на носу а я тут фигнёй маяюсь(лучше б игры рубился. Не они либо слишком скучные для меня либо слишком сложные). Хотя мне сдавать только по математике нужно, как-нибудь справлюсь. Никогда ничего не зубрил и не собираюсь. Так о поступлении в техникум или колледж мне можно не беспокоиться атестатт у меня хороший будет: 11 "пятёрок"(может если что-то сильно пойдет не так 10) и 4 "четверок". Очень долгое время был троечником, так что как комнатное растение несдохну от изменения условий.