Whakataki
"Ehara a Linux mo nga keemu!" - he rerenga korero tawhito: inaianei he maha nga keemu whakamiharo mo tenei punaha whakamiharo. Heoi ano, i etahi wa ka hiahia koe ki tetahi mea motuhake e pai ana ki a koe... Na ka whakatau ahau ki te hanga i tenei mea motuhake.
Tuhinga
Kaore au e whakaatu me te korero i te katoa o te waehere (kaore i te tino pai) - ko nga kaupapa matua anake.
1.Tauāhua
Kua whakarārangihia nga tawhā kiripuaki katoa ki konei (te hauora, te patu, te wheako, me etahi atu) Ko te mea pai ko te tuhi me te ahunga o te neke (kare i te waatea inaianei).
int x = 5, y = 5;
hp = 100,
maxhp = 100,
dm = 20,
armor = 0,
xp = 0,
level = 0,
diff = 10, // сложность
pos = 0; // направление
bool reg = 0,
Mdm = 0, // бонусы
ght = 0;
string color; // цвет будет использован в качестве индикатора состаяния героя
void hero() // здесь происходит перемещение героя на координаты (x ; y)
{
cout << "e[u " << "e[0;0H"; // восстановление позиции курсора, затирание пробелом
for (int i = 0; i <= x; i++)
cout << RIGHT; // макрос "e[1C"
for (int i = 0; i <= y; i++)
cout << DOWN; // макрос "e[1B"
cout << "e[s" << color << "╬"; // сохранение позиции курсора
}
2.Whakahaere
Me pehea te neke i te kiripuaki kua marama kee (x—++, y—++). Engari he pai ake te tukatuka papapātuhi:
char key;
char getkey()
{
system("stty raw");
key = getchar();
system("stty cooked");
return key;
}
Ko nga mea katoa e toe ana ko te tautuhi i nga "tohu mana". Ka taea e koe te mahi ma te whakawhiti, engari e kino ana ahau.
switch(...) case .. : ... ; break
pai ake penei
#define KEY if (key ==
#define I ){
#define J ;}else
void keys()
{
getkey();
KEY 'a' I x-- ; pos = 1 J
KEY......
}
Ataahua! Ko nga mahi kopikopiko ka oma huri noa i te mata! Engari he aha te ahua o te ahua kino ... A ka whiti te pehu, me nga reta ... Ka whakatikahia e matou!
//До цикла
cout << "e[?25l"; //отключаем отображение курсора
system("stty -echo"); //отключаем эхо-ввод
system("xset r rate 120 10"); // изменяем задержку на более плавную
//После цикла
//-------Return_normal_system_settings--------
cout << "e[00m";
system("reset");
system("xset r rate 200 20");
Aue! Kotahi ōrau kua reri!
3.Te ao huri noa ia tatou
I konei ka mahia e matou he huinga mo nga wahanga x, y o te ao me nga waahanga ake (char o[N])
, he pera ano mo nga taniwha me nga putea.
Waihangahia he mahi world(int objx[N] .... objy[N] ... obj[N], ... objcolor[N])
mā te whakataurite ki hero()
, engari me nga tawhā me te taapiri taapiri mo te whakaputa i te huinga ... mo te ngahau, ka tuhi noa tatou i te waahi tirohanga (vis) (if (ox[k] < vis && oy[k]....))
Inaianei ka whakakiia e matou te mata ki nga matūriki o te ao ma te whakamahi i nga ruuma me nga waahanga huarahi ngawari me nga tikanga, i te wa ano ka uru atu matou ki nga hoariri me nga taonga, mo te tino ohorere kaore matou e wareware srand(time(NULL));
//------------------GENERATION---------------
void rooms()
{
for (int i = 0; i <= 50; i++)
{
px[i] = rand() % 115 + 2;
py[i] = rand() % 34 + 2;
pl[i] = rand() % 5 + 5;
ph[i] = rand() % 5 + 5;
if (px[i] + pl[i] > 117) px[i] = 50 - pl[i] / 2; else
if (px[i] < 2) px[i] = 50 - pl[i] / 2; else
if (py[i] < 1) py[i] = 15 - ph[i] / 2; else
if (py[i] + ph[i] > 37) py[i] = 15 - ph[i] / 2;
for (int j = 0; j <= i; j++)
{
while (px[i] > px[j] && px[i] < px[j] + pl[j])
(px[i]+pl[i]/2 >= 55) ? px[i]++ : px[i]-- ;
while (py[i] > py[j] && py[i] < py[j] + ph[j])
(py[i]+ph[i]/2 >= 18) ? py[i]++ : py[i]-- ;
while (px[i]+pl[i] > px[j] && px[i]+pl[i] < px[j] + pl[j])
(px[i]+pl[i]/2 >= 55) ? px[i]++ : px[i]-- ;
while (py[i]+ph[i] > py[j] && py[i]+ph[i] < py[j] + ph[j])
(py[i]+ph[i]/2 >= 18) ? py[i]++ : py[i]-- ;
}
for (int j = 0; j <= i; j++)
{
while (px[j] + pl[j] >= 116) px[j]-- ;
while (px[j] < 2) px[j]++ ;
while (py[j] < 1) py[j]++ ;
while (py[j] + ph[j] >= 37) py[j]-- ;
}
tx[i] = px[i]+10; ty[i] = py[i]-3;
if (i <= diff)
{
ex[i] = px[i];
ey[i] = py[i];
while (ex[i] < 10){ ex[i]++ ; epos[i] = 3 ;}
while (ey[i] < 10){ ey[i]++ ; epos[i] = 1 ;}
e[i] = evar[pl[i]];
ecolor[i] = "e[00me[31m";
edm[i] = edmvar[pl[i]];
ehp[i] = ehpvar[pl[i]];
exp[i] = expvar[pl[i]];
}
rect(px[i], py[i], pl[i], ph[i]);
}
}
void corrs()
{
int pc, px, py;
for (int i = 0; i <= 4; i++)
{
if (i < 2){
px = 3;
py = rand() % 33 + 3;
pc = 110;
line(px, py, pc, true);
line(px, py+1, pc, true);
} else {
px = rand() % 100 + 3;
py = 3;
pc = 33;
line(px, py, pc, false);
line(px+1, py, pc, false);
}
}
}
4.Whakawhitiwhiti
Inaianei me karo taatau ki te haere i nga pakitara me nga taniwha ka whiwhi moni mai i nga taonga.
Ko a maatau tino pai mo a #define
#define TOUCH if (x == ox[i] && y == oy[i] && pos ==
#define HIT x == ex[i] && y == ey[i] && pos ==
for (int i = 0; i <= n; i++)
{
if (i <= diff)
{
if (Mdm) ehp[i]-=2 ; // если бонус "массовый урон" включен
epos[i] = 0;
if (ex[i] < x+5 && ex[i] > x-5 &&
ey[i] < y+5 && ey[i] > y-5 )
{
edel(i); // функция переписывающая предыдущее положение противника
if (ex[i] < x I ex[i]++ ; epos[i] = 1 J
if (ex[i] > x I ex[i]-- ; epos[i] = 2 J
if (ey[i] < y I ey[i]++ ; epos[i] = 3 J
if (ey[i] > y I ey[i]-- ; epos[i] = 4 ;}
}
for (int j = 0; j <= n; j++) // столкновение моба со стенками
while (ex[i] == ox[j] && ey[i] == oy[j] || ex[i] == ex[j] && ey[i] == ey[j] && j != i)
{
if (epos[i] == 1) ex[i]-- ; else
if (epos[i] == 2) ex[i]++ ; else
if (epos[i] == 3) ey[i]-- ; else
if (epos[i] == 4) ey[i]++ ;
}
if (x == ex[i] && y == ey[i]) // "битва"
{
if (ehp[i] > 1)
{
ehp[i] -= dm;
(edm[i] < armor) ?
hp -= 0 :
hp -= edm[i]-armor;
} else {
ex[i] = ey[i] = -1;
xp += exp[i];
ehp[i] = 12;
}
}
if (!ght) // если не призрак проверять столкновение игрока с врагами
{
if (HIT 1) y++ ;else
if (HIT 2) x-- ;else
if (HIT 3) y-- ;else
if (HIT 4) x++ ;
}
}
if (!ght) // то же, но со стенами
{
TOUCH 1 I y++ J
TOUCH 2 I x-- J
TOUCH 3 I y-- J
TOUCH 4 ) x++ ;
}
}
5.Tahua
Ka whakaatu noa matou i te tahua, te tatau i nga taonga, ka whakamahi i te getkey() hei tukatuka i te whiringa a te kaitakaro. Ka tuhia e matou te pae mana o te kiripuaki, ka whakatinana i te tahua taumata, tuhia nga korero o muri, ka whiwhi matou i taku i kiia ko "Subsoil".
mutunga
He mea penei tenei. Ka taea e koe te takaro
$ sudo chmod +x Subsoil-1.0/Subsoil
$ Subsoil-1.0/Subsoil
, ranei, i te mutunga o te whakahihiri, tuhia he haerenga mo to hiahia. Ka whakatupato ahau i a koe i mua: ehara i te mea ngawari taku keemu!
Hononga
Source: will.com