Рассказ о моих хобби (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 "четверок". Очень долгое время был троечником, так что как комнатное растение несдохну от изменения условий.