RSS
[>] Saluton, Mondo!
eo.klubo
btttrn6(tavern,36) — All
2022-08-27 00:33:08


De nuna tago mi estos ĉi tie publici alion pri alio en Esperanto. Jeen..:)

[>] Interesaj programoj
eo.klubo
btttrn6(tavern,36) — All
2022-08-27 00:38:30


Ĉi tie mi estos skribi informaĵon pri aliaj interesaj programoj. Ekzemple: tekstaj/grafikaj/k.t.p redaktiloj.

Unua,Bitmapflow
Bitmapflow - estas utililo, kia helpas generi interajn bildojn por animaciaj sprajtoj, kreas animacion pli glate.
Bitmapflow abutmentas ŝargadon kaj konservadon de animaciaj gif-dosieroj, sprajt-folioj kaj apartaj kadroj.

Github-deponejo: https://github.com/Bauxitedev/bitmapflow
Ko-fi de aŭtoro: https://ko-fi.com/bauxite
Elŝuti binarojn: https://github.com/Bauxitedev/bitmapflow/releases

[>] Pri la grafiko
eo.klubo
btttrn6(tavern,36) — All
2022-08-27 00:51:35


En interreto mi eltrovis retejon, kiu enhavas teksturojn de aliaj sovetaj periodoj, kiuj eble uzi en siaj projektoj.
Sed aŭtoro de risurco havas unu postulon - ekskribi ien pri ĉi retejo. Ekzemple, en kondiĉa LeguMin.txt (ReadMe.txt).

Ankaŭ retejo enhavas aliajn arĥitekturajn elementojn, ornamaĵojn, kiuj nun trovi tre malfacile.

Ligilo: https://soviettextures.com/

[>] Re: Pri la grafiko
eo.klubo
btttrn6(tavern,36) — btttrn6
2022-08-27 14:19:17


Povas esti, iu modelas ion en 3D. Per radioefekto mi eksciis "physicallybased"n. Physicallybased[1][2] estas retejo, kiu enhavas parametrojn por aliaj fizikmaterialoj.
Ĉiomo estas orda kaj oportuna.
Ekzemple:
Metala materialo (fero): Iron (Shading: Base color (RGB): 0.531 0.512 0.496; Metalness: 1; Specular color: 0.571 0.540 0.586). Ankaŭ estas ligiloj de risurc-fontoj.

-[1]: https://physicallybased.info/
-[2]: https://web.archive.org/web/20220820134240/https://physicallybased.info/

[>] Kaŝkarteto por INSTEADo
eo.klubo
btttrn6(tavern,36) — All
2022-08-27 16:09:19


Ĉi tiu artikolo estas traduko de ĉi dokumento[1] (TTT-arkiva versio[2]).

-[1]: https://github.com/luckyuk/Instead-cheatsheet
-[2]: https://web.archive.org/web/20220615155109/https://github.com/luckyuk/Instead-cheatsheet
----
**Titolo
--$Name: La plej interesa ludo!$
--$Version: 0.0.1$
--$Author: Anonima amatoro de tekstaj aventuroj$
--$Info: Ĉi tio estas refaro de maljuna ludo\n el ZX spectrum$
**Objekto
obj {
  nam = "tablo";
  dsc = "En ĉambro estas {tablo}";
  act = "Hm...Simple tablo...";
};
**Ĉambro
room {
  nam = "main";
  title = "Komenco de aventuro";
  disp = "Ĉefa ĉambro";
  dsc = [[Vi estas en granda ĉambro]];
  way = { "cxambrego", "strato" };
  obj = { "kesto", pomo };
}
**Dialogo
dlg {
  nam = "interparolo";
  -- kutime, en dialogoj, inventaro ne estas bezona
  noinv = true;
  title = [[Interparolo kun vendisto]];
  enter = [[Mi alparolis je vendisto]];
  phr = {
    { "Vi havas fabojn?", "-- Ne." },
    { "Vi havas ĉokoladon?", "-- Ne." },
    { "Vi havas kvason?", "-- Jes",
      { "Kiom kostas kvaso?", "-- 50 rublojn." },
      { "Kvaso estas malverma?", "-- Malvarmigujo rompiĝis.",
      { "Mi prenas du!", "Restas unu.",
        { "Donu unu!", function() p [[Ok!]]; take "kvaso"; end };
      }
    }
  }
  }
}
**Konektado de la modjuloj
require "click" -- kaptado de musklikoj je bildo de sceno
require "fmt" -- funkcioj de formatado
fmt.para = true -- ŝalti reĝimon de paragrafoj (alineoj)
**Modjuloj

"dbg" — modjulo de sencimigo;
"click" — modjulo de kaptado de musklikoj je bildo de sceno;
"prefs" — modjulo de agordoj (deponejo de datumoj da agordoj);
"snapshots" — apogo de kaptoj (snapŝotoj), por derulo de ludaj situacioj
"fmt" — dekoracio de eligo;
"theme" — regado per etoso ĉi momente;
"noinv" — laboro per inventaro;
"key" — modjulo de traktado de eventoj je uzado de klavoj;
"timer" — horloĝo;
"sprite" — modjulo por laboro per rulbildoj;
"snd" — modjulo por laboro per sono;
"nolife" — modjulo de blokado da metodoj life

**Atributoj-listoj

Atributoj-listoj permesas labori kun sia enhavo per garnituro de metodoj
room {
  nam = "malvarmigujo";
  frost = std.list { "glaciajxo" };
}
disable() — elŝaltas ĉiujn objektojn de listo;
enable() — ŝaltas ĉiujn objektojn de listo;
close() — fermi ĉiujn objektojn de listo;
open() — malfermi ĉiujn objektojn de listo;
add(objekto|nomo, [pozicio]) — aldoni objekton;
for_each(funkcio, argumentoj) — doni por ĉiu objekto funkcion kun argumentoj;
lookup(nomo/etikedo aŭ objekto) — serĉo de objekto en listo. Redonas objekton kaj indekson;
srch(nomo/etikedo aŭ objekto) — serĉo de videbla objekto en listo;
empty() — redonos true, se listo estas malplena;
zap() — purigi liston;
replace(kion, per io) — anstataŭigi objekto en listo;
cat(listo, [pozicio]) — aldoni enhavon de listo en kurantan liston jepozicio.
del(nomo/objekto) — forigi objekton el listo.

Oni ekzistas funkcioj, kiuj redonas objektojn-listojn:
    inv([ludanto]) — redoni inventaron de ludanto;
    objs([ĉambro]) — redoni objektojn de ĉambro;
    ways([ĉambro]) — redoni transirejojn de ĉambro.
Ekzemple:
pl.obj:add "trancxilo" -- aldoni al ludanto objekton de tranĉilo
Ankaŭ estas nombra atributo "pri", kiu ludas rolon de prioritato en listo. Se «pri» ne estas instalita, do valoro de prioritato estas 0. Plue, se vi volas, ke iu objekto estus unua en listo, do instalu al objekto prioritato «pri» < 0, se vi volas, ke objekto estus en fino de listo — «pri» > 0.
obj {
  pri = -100;
  nam = "umo";
  disp = "Tre grava aĵo de inventaro";
  inv = [[Singardu kun ĉi tiu aĵo.]];
}
**Traktiloj defaŭlte
game.act = "Ĉi tio ne funkcias.";
game.use = "Ĉi tio ne helpos.";
game.inv = "Por kio ĉi tio por mi?";
**Mallokaj variabloj
global { -- difino de mallokaj variabloj
  global_var = 1; -- nombro
  some_number = 1.2; -- nombro
  some_string = "ĉeno";
  know_truth = false; -- Bulea variablo
  array = {1, 2, 3, 4}; -- tabelo
}
**Konstantoj
const {
  A = 1;
  B = 2;
}

const "Aflag" (false)
**Deklaracioj
declare {
  A = 1;
  B = 2;
}

declare "Z" (false)

declare "test" ( function()
  p "Saluton, Mondo!"
end )

global "f" (test)
**Helpaj funkcioj
function mprint(n, ...)
  local a = {...}; -- kelktempa tabelo kun argumentoj al funkcio
  p (a[n]) -- eligas n-an elementon de tabelo
end
**Objekto «Ludanto»

Defaŭlte, atributo «obj» ĉe ludanto prezentas inventaron.
game.player = player {
  nam = "Bazilo";
  room = "kuirejo"; -- la komenca ĉambro de ludanto
  power = 100;
  obj = { "pomo" }; -- tuj ni aldonas pomon en inventaron
};
**Objekto «Mondo»

Nomo de ĉi tiu objekto estas «game». Ekzistas ligilo-variablo, kiu ankaŭ nomiĝas kiel "game".
game.act = "Ne sukcesas.";
game.inv = "Hm... Stranga umo...";
game.use = "Ne funkcios...";
game.tak = "Ĉi tio por mi ne estas necesa...";
**Metodoj de la objekto (obj)

:with ({…}) — difino de obj listo;
:new (… ) — konstrukcilo;
:actions (tipo, [valoro]) — difini/legi nombron de objekta eventoj de la difinita tipo;
:inroom ([{}]) — en kia ĉambro (ĉambroj) lokiĝas objekto;
:where ([{}]) - en kia objekto (objektoj) lokiĝas objekto;
:purge() — forigi objekton el ĉiuj listoj;
:remove() — forigi objekton el ĉiuj objektoj/ĉambroj/inventaro;
:close()/:open() — fermi/malfermi;
:disable()/:enable() — elŝalti/ŝalti;
:closed() — redonos true, se estas fermita;
:disabled() — redonos true, se estas elŝaltita;
:empty() — redonos true, se estas senenhava;
:save(fp, n) — funkcio de konservado;
:display() - funkcio de montro en sceno;
:visible() — redonos true, se estas kalkulata kiel videbla;
:srch(w) — serĉo de videbla objekto;
:lookup(w) — serĉo de ajna objekto;
:for_each(fn, …) — iteraciilo je objektoj
:lifeon()/:lifeoff() — aldoni/forigi el listo de vivaj.

**Metodoj de la ĉambro

Krom metodoj obj, estas aldonita sekvaj metodoj:

:from() — de kie alvenis en ĉambro;
:visited() — ĉu estis vizitita ĉambro pli frue?;
:visits() — nombro de vizitoj (0 — se ne estis);
:scene() — montro de scenoj (ne objektoj);
:display() — montro da objektoj de sceno;

**Metodoj de la dialogo

Krom metodoj «room», estas aldonita sekvaj metodoj:

:push(frazo) — pasi al frazo kun memorfikso ĝin en la steko;
:reset(frazo) — samo, sed kun deĵeto de la steko;
:pop([frazo]) — reveno al steko;
:select([frazo]) — elekto de kuranta frazo;
:ph_display() — montro de elektita frazo;

**Metodoj de la ludmondo

Krom metodoj obj, estas aldoninta sekvaj metodoj:

:time([v]) — instali/preni nombron de ludtaktoj;
:lifeon([v])/:lifeoff([v]) — aldoni/forigi objekton el listo de vivaj, aŭ ŝalti/elŝalti vivan liston malloke (se ne estas difinita argumento);
:live([v]) — kontroli aktivecon de viva objekto;
:set_pl(pl) — ŝanĝi ludanton;
:life() — iteracio de vivaj objektoj;
:step() — takto de ludo;
:lastdisp([v]) — instali/preni lastan eligon;
:display(state) — montri eligon;
:lastreact([v]) — instali/preni lastan reakcion;
:events(pre, bg) — instali/preni eventojn de vivaj objektoj;
:cmd(cmd) — plenumado de INSTEAD-komando;

**Ludanto

Krom metodoj obj, estas aldonita sekvaj metodoj:

:moved() — ludanto faris translokadon en kuranta takto de ludo;
:need_scene([v]) — estas bezona pentro de sceno en kuranta takto;
:inspect(w) — serĉi objekton (videbla) en kuranta sceno aŭ en si mem;
:have(w) — serĉo en inventaro;
:useit(w) — uzi aĵon;
:useon(w, ww) — uzi aĵon al aĵo;
:call(m, …) — doni metodo de ludanto;
:action(w) — ago al aĵo (act);
:inventory() — redoni inventaron (listo, defaŭlte ĉi tio estas “obj”);
:take(w) — preni objekton;
:walk/walkin/walkout — transiroj;
:go(w) — komando “iri” (kontrolas atingecon de transiroj);

**Funkcioj, kiuj revenas objektojn

En simboloj [] estas priskribita nedevigaj parametroj;
“kio” aŭ “kie” signifas objekton (ankaŭ ĉambron), kiu estas difinita per etikedo, nomo aŭ valoro-ligilo;
_(kio) — ricevi objekton;
me() — redonas kurantan objekton-ludanton;
here() — redonas kurantan scenon;
where(kio) — redonas ĉambron aŭ objekton en kiu lokiĝas difinan objekton, se objekto lokiĝas en iom lokoj, do povas transdoni duan parametron — Lua-tabelo, en kiu aldonotaj ĉi tioj objektoj;
inroom(kio) — analogie kiel where(), sed redonos ĉambron, en kiu estas objekto (ĉi tio estas grava por objektoj en objektoj);
from([kie]) — redonos antaŭan ĉambron, el kiu ludanto pasis al difinan ĉambron. Nedeviga parametro - ricevi antaŭan ĉambron por difinita ĉambro, sed ne por kuranta;
seen(kio, [kie]) — redonas objekton aŭ transirejon, se li ĉeestas kaj estas videbla, ankaŭ estas dua parametro — elekti scenon aŭ objekton/liston en kiu serĉi;
lookup(kio, [kie]) — redonas objekton aŭ transirejon, se liĉeestas en sceno aŭ objekto/listo;
inspect(kio) — redonas objekton, se li estas videbla/atingebla en sceno. Serĉo iras en transirejoj kaj objektoj, ankaŭ en objektoj de ludanto;
have(kio) — redonas objekton, se li estas en inventaro kaj ne estas elŝaltita;
live(kio) — redonas liston, se li ĉeestas inter vivaj objektoj;

**Atributoj kaj traktiloj de la objektoj kaj ĉambroj (obj kaj room)

ini — traktilo, redonata por objekto/ĉambro ĉe konstrukciado de luda mondo, povas esti nur kiel funkcio'
dsc — atributo, kiu estas redonata por eligado de priskribo;
disp — atributo, informaĵo pri objekto en inventaro aŭ ĉambro en listo de transiroj;
title — atributo de ĉambro, nomo de ĉambro, kiu estas eligada kiam ludanto lokiĝas ene ĉi tiu sceno;
decor — atributo de ĉambro, estas redonata por eligo de priskribo da dekoracioj en sceno;
nolife — atributo de ĉambro, ne redoni traktilojn de vivaj objektoj;
noinv — atributo de ĉambro, ne montri inventaron;
obj — atributo, listo de ingitaj objektoj;
way — atributo de ĉambro, listo kun transirejoj en aliaj ĉambroj;
life — traktilo, estas redonata por “vivaj” (fonoj) objektoj;
act — traktilo de objekto, estas redonata ĉe ago al aĵo de sceno;
tak — traktilo de preno de la aĵo el sceno (se ne estas difinita act);
inv — traktilo de objekto, kiu estas redonata eĉ ago al aĵo de inventaro;
use(s, al kio) — traktilo de objekto, estas redonata eĉ uzado de aĵo de la inventaro al aĵo de sceno aŭ inventaro;
used(s, kio) — traktilo de objekto, estas redonata antaŭ “use” eĉ uzado de aĵo (pasiva formo);
onenter(s, de kie) — traktilo de ĉambro, estas redonata eĉ enveno de ludanto en ĉambron, ĝi povas malpermesi transiron;
enter(s, de kie) — traktilo de ĉambro, estas redonata post sukcesa enveno en ĉambro;
onexit(s, kien) — traktilo de ĉambro, estas redonata eĉ eligo el ĉambro, ĝi povas malpermesi transiron;
exit(s, kien) — traktilo de ĉambro, estas redonata post la sukcesa eligo el ĉambro.

**Atributoj kaj traktiloj de la luda mondo (game)

use(s, kio, al kio) — traktilo, ago defaŭlte por uzado de aĵo;
act(s, kio) — traktilo, ago defaŭlte eĉ aplikado de aĵo de la sceno;
inv(s, kio) — traktilo, ago defaŭlte eĉ aplikado de aĵo de la inventaro;
on {use, act, tak, inv, walk} — traktilo, reakcio antaŭ dono de respondaj traktiloj, ĝi povas malpermesi ĉenon;
after {use, act, tak, inv, walk} — traktilo, reakcio post agoj de ludanto.

**Funkcioj de la norma libro

include(dosiero) — inkluzivigi dosieron en ludon;
loadmod(modjulo) — konekti modjulo de ludo;
rnd(m) — hazarda entjera valoro de “1” ĝis “m”;
rnd(a, b) — hazarda entjera valoro de “a” ĝis “b”, kie “a” kaj “b” estas entjeroj >=0;
rnd_seed(kio) — difini grajnon de la generilo hazardaj nombroj;
p(…) — eligo de literĉeno en bufron de traktilo/atributo (kun spaceto en fino);
pr(…) — eligo de literĉeno en bufron de traktilo/atributo “kiel estas”;
pn(…) — eligo de literĉeno en bufron de traktilo/atributo (kun linifinilo);
pf(fmt, …) — eligo de formatita literĉeno en buferon de traktilo/atributo;
pfn(…)(…) — formatado de la simpla traktilo;
obj {} — kreado de objekto;
stat {} — kreado de statuso;
room {} — kreado de ĉambro;
menu {} — kreado de menuo;
dlg {} — kreado de dialogo;
me() — redonas kurantan ludanton;
here() — redonas kurantan scenon;
from([w]) — redonas ĉambron el kiu efektivigis transiron en kurantan scenon;
new(konstrukciilo, argumentoj) — kreado de nova dinamika objekto;
delete(w) — forigado de dinamika objekto;
gamefile(dosiero, [deĵeti staton?]) — alŝarĝi dinamike dosieron kun ludo;
player {} — krei ludanton;
dprint(…) — sencimiga eligo;
visits([w]) - nombro de vizitoj en ĉambron aŭ false, se vizitoj ne estis;
walk(w, [bulea exit], [bulea enter], [bulea ŝanĝi from]) - transiro en scenon;
walkin(w) — transiro en sub-sceno (sen dono de exit/onexit de kuranta ĉambro);
walkout([w], [dofrom]) — reveno el sub-scenon (sen dono de enter/onenter);
walkback([w]) — sinonimo walkout([w], false);
_(w) - ricevo de objekto;
for_all(fn, …) — plenumi funkcion por ĉiuj argumentoj;
seen(w, [kie]) — serĉo de videbla objekto;
lookup(w, [kie]) — serĉo de objekto;
ways([kie]) — ricevi liston de transirejoj;
objs([kie]) — ricevi liston de objektoj;
search(w) — serĉo de atingebla objekto por ludanto;
have(w) - serĉo de aĵo en inventaro;
inroom(w) — redono de ĉambro/ĉambroj, en kiu lokiĝas objekto;
where(w, [tabelo]) — redono de objekto/objektoj, en kiu lokiĝas objekto;
closed(w) — true, se objekto estas fermita;
disabled(w) — true, se objekto estas elŝaltita;
enable(w) — ŝalti objekton;
disable(w) — elŝalti objekton;
open(w) — malfermi objekton;
close(w) — fermi objekton;
actions(w, literĉeno, [valoro]) — redonas (aŭ instalas) nombro da agoj de tipo t por objekto w;
pop(etikedo) — ricevo en antaŭan branĉon de dialogo;
push(etikedo) — transiro en sekvan branĉon de dialogo;
empty([w]) — ĉu estas senenhava de dialogbranĉo? (Aŭ objekto);
lifeon(w) — aldoni objekton en listo de vivaj;
lifeoff(w) — forigi objekton el listo de vivaj;
live(w) — objekto estas viva?;
change_pl(w) — ŝanĝo de ludanto;
player_moved([pl]) — kuranta ludanto translokiĝis en ĉi tiu takto?;
inv([pl]) — ricevi liston-inventaron;
remove(w, [wh]) — forigi objekton el objekto aŭ ĉambro; Ĝi forigas objekton el listoj obj kaj way (restigata en ĉiuj aliaj);
purge(w) — neniigi objekton (el ĉiuj listoj); Ĝi forigas objekton el ĉiuj listoj, en kiuj estas ĉi tiu objekto;
replace(w, ww, [wh]) — ŝanĝi unun objekton al alian;
place(w, [wh]) — loki objekton en objekton/ĉambron (foriginte objekton el malnova objekto/ĉambro);
put(w, [wh]) — loki objekton sen forigo el malnova loko;
take(w) — preni objekton;
drop(w, [wh]) — elĵeti objekton;
path {} — krei transirejon;
time() — nombro de la paŝoj de luda komenco.

27/8-22j

[>] Saluton!
eo.klubo
Andrew Lobanov(tavern,1) — All
2022-08-27 16:15:51


Tre ĝojas ke aperis konferenco por esperantistoj.

Mi esperas ke ni havas ion por priparoli :)

+++ Caesium/0.4 RC1

[>] Re: Saluton!
eo.klubo
btttrn6(tavern,36) — Andrew Lobanov
2022-08-27 16:30:12


Kiel pri io? Pri la katetoj. Ĉiutaga afiŝado de katetoj. Plue pli multe katetoj!
Sed se serioze, do pri ĉiaj diversaj umoj :saĝafacio:

[>] Citaĵoj
eo.klubo
btttrn6(tavern,36) — All
2022-08-27 17:33:29


Mi pensis, povas esti krei temon por aliaj citaĵoj? Tio estus interese.
Tiel, mi komencas:

<hugeping> Foje disĉiplo alvenis al instruisto kaj diris, - Instruisto, lernu min skribi IL! - al kio instruisto respondis - Por kio vi volas instruiĝi tion ĉi? - Nu, mi volas, ke min amu knabinoj por mia saĝo, plue mi volas ŝanĝi mondon...
Instruisto rigardis disĉiplon kaj ekpendolis kapon. - Arto ne postulas praviĝojn! Post disĉiplo foriris klera.
(traduko de originala mesaĝo)
(IL -- la interaga literaturo, aventuroj)
----
Mi sovaĝe pardonas, kuris kiel apreto kaj ekvidis vian translacion, kio estas ĉi tie? AHAHHAAH
aĉeee! 25+ jarojn havas viro, li sidas pentritajn hometojn ludas, mi en viaj jaroj jam ĉefa seruristo estis)) bone, ĝis renkonto
Okupemuloj aĉee))
----

[>] Re: Saluton!
eo.klubo
Andrew Lobanov(tavern,1) — btttrn6
2022-08-27 21:19:46


btttrn6> Kiel pri io? Pri la katetoj. Ĉiutaga afiŝado de katetoj. Plue pli multe katetoj!

Katetoj regas mondo =^_^=

btttrn6> Sed se serioze, do pri ĉiaj diversaj umoj :saĝafacio:

Miaj umoj nun tio golang kaj laboro. Kaj genero certe.

+++ Caesium/0.4 RC1

[>] Re: Saluton!
eo.klubo
Andrew Lobanov(tavern,1) — btttrn6
2022-08-27 21:21:38


AL> Miaj umoj nun tio golang kaj laboro. Kaj genero certe.

"Golang" aŭ "golango"? Aŭ "golingvo"? %)

+++ Caesium/0.4 RC1

[>] Re: Saluton!
eo.klubo
btttrn6(tavern,36) — Andrew Lobanov
2022-08-27 21:43:07


Pensas mi, ke tie estas golingvo.
Plue, vi skribis:
>Katetoj regas mondo =^_^=
Demando: katetoj regas mondon AŬ katetojn regas mondo?:)

>Miaj umoj nun tio golang kaj laboro. Kaj genero certe.
Tiam eble skribi pri la golingvo aŭ laboro, pri ĉiaj utilaj umoj kaj tiel plu.

[>] Re: Citaĵoj
eo.klubo
btttrn6(tavern,36) — btttrn6
2022-08-28 15:32:47


Memorfiksu, se vi ne ĉesigos drinki rumon, do baldaŭ estos morta. La vorto "Rumo" kaj vorto "Morto" signifas por vi samon. - D-ro Livsio :)

Rumo kaj porka brustaĵo - jen estas tio, kio necesas por mi. - Billio Bonso.
(post mi volis viandon)

[>] Muziko
eo.klubo
btttrn6(tavern,36) — All
2022-08-29 23:10:50


En interreto mi eltrovis interesan muzikon...
Unua [1], "La gajaj tagoj".
Dua [2], "Reklamo al silento" - estas kanto (Reklama na ticho) de la slovaka muzikgrupo TEAM, kiu ankaŭ muzikas per Esperanto.
Mi ankaŭ konsilas aŭskulti TEAM.
Estas eble ne scii Esperanton, sed muzikon aŭskulteble.

-[1]: https://youtu.be/qrLK9yjkGmc
-[2]: https://youtu.be/KH7jl0zxSDk

[>] TGUI, simpla kaj facila biblioteko por maldiligentuloj
eo.klubo
btttrn6(tavern,36) — All
2022-08-31 10:19:32


mi ANTAŬDIRAS - mi estas rubkodskribisto, tial ĉio ĉi tie estass malcerta kvalito.
Mi serĉis ian GUI-bibliotekon por mia C++programa interfaco.
Kaj eltrovis IMGUI[1]. Sed ĝin (IMGUI) uzado trovis sin tre maloportuna. Mi ĝis nun tempo ne komprenis, kiel normale labori kun ĝi.
Sed tio nun ne gravas.
Mi trovis TGUI[2], kiu ankaŭ havas poŝplatforman konstruilon.
En mia okazo, mi uzas SFML por interago kun fenestro k.t.p. Kaj resume kodo estas simpla.
Konektate ĉio facile:
Bindila agordoj (Ligil-bibliotekoj): sfml-window, sfml-graphics, sfml-system, /usr/lib/tgui.so
Ceteraj eble agordi en IDM (angle. IDE). Mi uzas Code::Blocks.

main.cxx:
#include "interfaco.hpp"

int main(int argc, char *argv[]){
	fInic();
	return 0;
}

interfaco.hpp:
#include <SFML/Graphics.hpp>
#include <SFML/Graphics/RenderWindow.hpp>
#include <SFML/Window.hpp>
#include <SFML/Window/Event.hpp>
#include <TGUI/TGUI.hpp>

void fInterfaco();
void fInic();

interfaco.cxx:
#include "interfaco.hpp"

sf::RenderWindow window(sf::VideoMode(800, 600), "Mia superpotenca programo", sf::Style::Close);
tgui::GuiSFML gui{window};

void fInic() {
	fInterfaco();

	while (window.isOpen()) {
	sf::Event event;
	while (window.pollEvent(event)) {
		gui.handleEvent(event);

		if (event.type == sf::Event::Closed)
			window.close();
	}

	window.clear();
	gui.draw();
	window.display();
	}
}

void fInterfaco() {
	gui.loadWidgetsFromFile("gui.txt"); // INTERESE: permesate krei interfacon en ui-konstruilo kaj post ŝargi ĝin. Eĉ kelke.

  auto menuo = tgui::MenuBar::create();
  menuo->addMenu("Dosiero");
  menuo->addMenuItem("Konservi");
  menuo->addMenuItem("-"); //Tiuj signoj (-) estas uzataj por disigado (tiel nomataj "disigiloj")
  menuo->addMenuItem("Eliri");

  menuo->addMenu("Helpo");
  menuo->addMenuItem("Pri");

  gui.add(menuo);
}

Funkcias ĉio per signaloj. Detale legi eble ĉi tie[3].
Kiel aspektas ui-konstruilo[4].

-[1]: https://github.com/ocornut/imgui/
-[2]: https://github.com/texus/TGUI
-[3]: https://tgui.eu/documentation/0.9/annotated.html
-[4]: https://i.imgur.com/7WhhtRF.png

[>] Mondo de nuboj
eo.klubo
btttrn6(tavern,36) — All
2022-09-03 22:31:56


Aŭtoro de ĉi tiu rakonto estas Kaelenmor Thaal (silverwing.one[1]). Traduko estas mia.

-[1]: http://silverwing.one/ru/index.html

----
Mondo de nuboj
Estis 2039 jaro. En 19 januaro de ĝisnuna jaro finis UNIX epoko. Kune kun ĝi finis epoko de personaj komputiloj. Ĉiea atingo en interreto ekpermesis ne kopii programojn kaj datumojn en lokaj diskoj, adresi al ni de fora. Por tio uzataj simplaj konzoloj, kiu ne kapablaj funkcii sen konekto al servilo. Plenaj komputiloj restis en ĝinsnuno.
Linjo alvenis domon kaj ĵetis tabulkomputilon sur kredencon. Saĝa pordo malfermis malantaŭ ŝi. Tuj ekaŭdis meĥanika voĉo de hejma helpanto:
- Saluton, Linjo. Panjo ne estas hejme. Mi preparis tagmanĝon. Vi povas preni ĝin en mikroondilon. Bonan apetiton.
- Dankon, Astranjo, - respondis lernejanino, penetrante en kuirejon.
- Linjo, ni havas 114 netralegitajn sciigojn, el ili 3 estas gravaj, - pluigis maŝino, ĝis knabino tiris sin al mikroondilon.
- Eklegu gravajn, restajn mi poste rigardos, - diris knabino, eltirante teleron kaj entirante agrablegan aromon.
- Mesaĝo de panjo: "Saluton, sunjo, mi hodiaŭ bremsos sin en laboro. Preparis por vi kokajn kotletojn kun pureo, kiel vi amas", - elparolis registrita voĉo. - "Mi petis Astranjon varmigi ilin al via alveno".
Atenta kaj tolera, Astranjo ĉiam estis por Linjo zorga, sed severa flegistino. Ŝi neniam krias, neniam ofendiĝas kaj, plej precipa, neniam rifuzas ludi...Por vero, nur post tio, kiel Linjo ellernis lecionojn. Trompi, disputi, krii, minaci - sencon ne estis - panja indiko por Astranjo estis grave ol ĉio, kion povis fari aŭ diri knabino. Paĉjo ofte nomis elektrohelpantinon kiel "granda fratino", panjo ĉiam fiksaŭskultis ŝiajn konsilojn.
Lernejanino jam manĝegis tagmanĝon, kiam Astranjo eklernis sekvan memorigon:
- Mesaĝo de TNM: "Garantia tempolino de via aparato finas tra 3 tagoj. Ni rekomendas ĝustatempe akiri anstataŭon".
- Mi scias, ne estas novaĵo, - desvingis knabinon. Anstataŭado de aparato estis por ŝi ordinaraĵo - ĉiu jarduonon malnovan tabulkomputilon sendiĝis al rubejo kaj anstataŭis per nova. Estas bezone nur enigi pasvorton, kaj ĉiuj agordoj restarigis aŭtomate.
Linjo ne manĝis plene kokon, kiam Astranjo ekdeklamis:
- Mesaĝo de TNM: "Reklamo. Ludu novan ludon Sekretojn de Sloŭpoklando. Vin atendas pasigaj bataloj, pasiga historio, mirinda grafiko kaj nevidita ĝistempe sistemo de frakcioj - nun vi povas krei klanojn, unuiĝante centojn ludantojn. Se vi komencu nun, do ricevos 150 monon".
Ekĝojis per novaĵo, Linjo ekhasstis ĵeti en buŝon restaĵoj de tagmanĝo kaj, ŝovinte malplenan teleron en vazlavmaŝinon, ekrapidis en ĉambron, kaptis kun si tabulkomputilon.
- Finfine ni ree ekpovos unuiĝi kun amikoj kaj montri al ĉiuj! Tio estos ne tiel kiel en Epoko de Malbonaĵoj, vi memoras, Astranjo? - verve ĝojegis knabino, falante sur divanon.
- Ne, mi ne konas tian ludon, - trankvile respondis Astranjo, laŭ vidaĵo tute ne disigante entuziasmon de lernejanino.
Linjo rifuze paŭtis. Ŝi jam delonge rimarkis, ke Astranjo tra facile forgesas iuj aĵojn ("neaktualaj", kiel diras paĉjo), sed neniam veris, ke ŝi efektive ilin ne memoras. Esperante ekkapti ŝin, knabino ekfaris renkontan demandon.
- En kiuj ludoj estas kaj estis gildoj?
- Sekretoj de Sloŭpoklando, - certece mesaĝis Astranjo.
- Sed Epoko de Malbonaĵoj? Sed Ŝtonoj de Aliformigoj? Astranjo, ĉu vere vi ilin ne memoras? - pluigis Linjo, ĝis esperante rimarki ĉe flegistino ion trabrilo, aludo al tio, ke ĉi tiuj ludoj estis kaj Astranjo sam en ilin ludis kune ŝi.
- Linjo, eĉ se tiuj ludoj ekzistis iam, ne estas senco ilin memori, ja novaj ludoj plej bone kaj interese, - pacige diris Astranjo. Ŝi ĉiam havis kion respondi, kiam knabino levis ĉi tiun temon.
- Kaj per kio Legendoj de Gunganio estas interese ol Ŝtonoj de Aliformigoj? - ree demandis Linjo en provoj devigi elektrohelpantinon memorfiksi.
- Mi scias nenion pri Ŝtonoj de Aliformigoj. Legendoj de Gunganio permesas vin preni al si potenculan rolon de reĝujo. Disponu je sortoj de regnanoj, deklaru militojn, prenu landojn... - eklegis Astranjo. "Kiel laŭ lernolibro", ekpensis Linjo, momente perdinte intereson al interparolo.
Knabino premis per fingreto sur piktogramon de la nova ludo, jam aperint sur labortablo. Sur ekrano aperis mesaĝo: "Gepatra kontrolo: hejmlaboro ne estas farita". Suspirinte, ŝi ekprovis lanĉi Legendoj de Gunganio, sed rezulto estis sama. Lernjeanino kunpreminte dentojn.
- Linjo, vi devas lerni lecionojn, - malantaŭ la tabulkomputilo diris Astranjo, kvazaŭ ne rimarkante koleron de zorgatino.
Linjo, kiom havis fortojn, pugnis aporbrakon (pri kio tuj ekdomaĝis - aporbrako estis firma, kaj en ŝiaj okuloj en momenton montriĝis larmoj) kaj, mallaŭte graŭlante, ŝi tiriĝis al piktogramo de teko sur ekranbloko. Disputi senutile - senanima maŝino ne permesos al ŝi nek ludi, nek ekrigardi animaciojn. Pri tio, ke ekiri promeni, ne estis parolo - sen permeso de panjo la pordo ŝin ne ellasos.
- Linjo, se vi volas, mi ĝis ludos anstataŭ vi. Ĉu ne volas transigi progreson en Sekretojn de Sloŭpoklando? - ree ekaŭdis kvieta voĉo de flegistino.
- Certe, volas! Dankon, Astranjo, - ekkriis lernantino tuj forgesinte pri la kolero. Des pli, lecionojn estas malmulte. Rapide ekklikis taskojn de matematiko kaj denasklingvo, ŝi per gesto desvingis aplikaĵon el ekrano kaj ekpremis sur piktogramon de la Sekretoj de Sloŭpoklando. Ĉirkaŭrigardis ekranon, ŝi konvinkiĝis, ke parto de progeso efektive transiĝis el malnova ludo. Helpantino jam sukcese mastrumis kaj donis necesajn ordojn por evoluo de fortreso. Tamen atendi du semajnojn, ĝis konstruotaj fortikaĵoj, Linjo tute ne volis, kaj militistaro bezone alplenigi, ĝis neniu ekprovis ataki sendefendan kastelon. Ekĝojis, ke malsukcesis aĉeti kristalojn en malnova ludo, knabino konsumis ĉiuj akireblajn por ŝi monon kontraŭ oraj moneroj.
Donante ordojn, Linjo ekpensis. Legendoj de Gunganio al ŝi neniam plaĉis - en ili estis tro malmulte eblojn, progeso estis malrapida, ja per mono. Kaj ja, ŝi estis en tiu ludo jarduone. Tra tri tagoj la ludo estos malfermita, kaj ŝi jam ne povos diskutigi ĝin kun Astranjo. Paĉjo diris, ke pli frue ludoj ne malfermis, kaj jam montris al ŝi iomaj ludoj sur maljunan komputilon en sia kabineto. Por Linjo tiuj ludoj ŝajnis malfacilaj kaj enuaj - en ili estis multe da teksto, tro malmulte helpiloj, por ŝanĝoj estis bezone observi memstare, ne fidante sciigojn, aĵojn kaj monon necesis serĉi en komplikitaj labirintoj, kaj kontraŭloj intertempe atakis subite. Des pli, ne estis eblon per kristaloj aŭ oro preterlasi neinteresajn momentojn aŭ fortigi armeon, kiel en modernaj ludoj.
Sinkita en ludo kaj en pensaĵon, Linjo ne rimarkis, kiel enira pordo malfermis, enlasante iun.
- Steleto, mi alvenis! - ekaŭdis nekonata voĉo el koridoro. Knabino suprensaltis de divano, timiĝinte ne ŝerce. Tielan pli frue neniam estis - pordo preterpasis nur ŝin, panjon kaj paĉjon. Linjo singarde elrigardis en koridoron kaj ekvidis tie tute nekonatan virinon. Ĉi tiu, kiel ordinare, metis sakon sur la kredencon kaj direktas sin en ĉambregon. Linjo, ŝrumpis pro teruro, ekflustris:
- Astranjo, kiu ŝi estas?
- Linjo, ĉu vere vi ne konas sian panjon? - trankvila meĥanika voĉo de voĉhelpanto trankviligis, kvankam kaj estis tute neoportuna en tiu situacio.
- Ĉi tio ne estas mia panjo!
- Linjo, vi eraras. Mi ekskribis vin al kuracisto en morgaŭ, bezone kontroli, ĉio en ordo estas kun memoro ĉe vi.
- Mia panjo ne estas tia - ĉi tiu estas alta, mia panjo malalte, ĉi tiu havas helajn hararon, mia panjo havas malhelajn, ĉi tiu havas... - en nuna momento virino eniris en ĉambron kaj ekrigardis Linjon.
- Finjo, steleto mia, kio okazis?! - diris ŝi.
- Eĉ okulojn ŝi havas aliajn! Mia panjo havas grizajn okulojn, ŝi havas bluajn! Kaj mia panjo neniam nomis min kiel steleto! Astranjo, ripetu lastan mesaĝon de panjo.
- Mesaĝo de panjo: "Saluton, steleto, mi hodiaŭ bremsos sin en laboro. Preparis por vi kokajn kotletojn kun pureo, kiel vi amas. Mi petis Astranjon varmigi ilin al via alveno", - la voĉo en rikordo estis voĉo de nekonata virino.

FINO

[>] Re: Saluton!
eo.klubo
Andrew Lobanov(tavern,1) — btttrn6
2022-09-07 20:32:51


btttrn6> Plue, vi skribis:
>> Katetoj regas mondo =^_^=
btttrn6> Demando: katetoj regas mondon AŬ katetojn regas mondo?:)

Katetoj regas la mondon %)

>> Miaj umoj nun tio golang kaj laboro. Kaj genero certe.
btttrn6> Tiam eble skribi pri la golingvo aŭ laboro, pri ĉiaj utilaj umoj kaj tiel plu.

Nekompreneble ^__^

+++ Caesium/0.4 RC1

[>] Aventuro /avent21.arj/ - tekstaventuro kun teksta enigado de Wim Koolhoven
eo.klubo
btttrn6(tavern,36) — All
2022-09-12 22:11:32


Aventuro - estas Esperantlingva ludo (tekstaventuro). Interreto diras, ke ĝi farita en 1987j [1]. Eble, ĝi estas, probable, programo. Kun Aventuro estas ludo "La Insulo Texel".
La Insulo Texel povas elŝuti en [2][3]. Por lanĉo bezone uzi DOSBOX.
La ludo en IFDB [3].

Kio estas interesa, tiel tio, ke por ludado estas necese enigi komandojn per klavaro. Tiel nomata "parser". Malgraŭ jaro de la luda eldono, ĝi [ludo] ludiĝas facile. Entute, mi konsilas al vi ekludi "La Insulo Texel". Povas esti, iu estos skribi ludojn per Esperanto..

-[1]: https://eo.wikipedia.org/wiki/Aventuro_(tekstaventuro)
-[2]: http://ifarchive.org/if-archive/interpreters-other/aventuro/
-[3]: https://web.archive.org/web/20220413155743/http://ifarchive.org/if-archive/interpreters-other/aventuro/
-[4]: https://ifdb.org/viewgame?id=ijr351ccjmokhjn5

[>] [GOLDSRC] Cycler ento - kiel forigi strangajn efektojn de la sango dum bato?
eo.klubo
btttrn6(tavern,36) — All
2022-09-15 19:46:41


Fojfoje estas volo krei mapon por ~Half-Life aŭ sia modifo, kaj dispozicii tie iomete modelojn. Sed en norma Half-Life krei tielan neeble pro strangan sangon de la cycler-ento.
Tiam oni povas krei apogbastonon...
Estas tasko: fari tiel, ke ni povus dispozicii mdl-modelon [1][2] per la cycler-ento [3][4] en nian mapon. Kaj fari tiel, ke la cycler-ento ne generos XEN-sangon [5]. Plie en la interreto nenio skribite pri tio.
Do, mi faris ĉi tion:
En "/dlls/h_cycler.cpp" en la funkcio "void CCycler::Spawn()" mi aldonis:
m_bloodColor = DONT_BLEED;
Oni povas forigi "pev->takedamage = DAMAGE_YES;", ke ento ne ricevos damaĝon kaj ne generos strangan sangon.
Post mi ekkompilis fontaĵojn. Nun mi havas [6][7] objekton kun kolizio kaj sen strangan sangon.

-[1]: https://developer.valvesoftware.com/wiki/MDL
-[2]: https://web.archive.org/web/20220608094855/https://developer.valvesoftware.com/wiki/MDL
-[3]: https://developer.valvesoftware.com/wiki/Cycler_(GoldSource_Engine)
-[4]: https://web.archive.org/web/20220621200452/https://developer.valvesoftware.com/wiki/Cycler_(GoldSource_Engine)
-[5]: Tio ŝajnas tiela por mi. Probable tiel estas.
-[6]: https://i.imgur.com/JYzsSSc.png
-[7]: https://web.archive.org/web/20220915153911/https://i.imgur.com/JYzsSSc.png

[>] Re: Pri la grafiko
eo.klubo
btttrn6(tavern,36) — btttrn6
2022-09-15 19:55:21


Retejo kun bonaj teksturoj (duion.com [1])
Kaj tie estas multe interesaj fotoj por t.n. "referencoj" [2].

-[1]: https://duion.com/art/textures
-[2]: https://duion.com/art

[>] Re: Mondo de nuboj
eo.klubo
btttrn6(tavern,36) — btttrn6
2022-09-23 22:07:48


Post kelkaj redaktadoj mi publikigis finan version de la rakonto. Ĝi estas ĉi tie [1][2].

-[1]: https://chtabs.neocities.org/mondodenuboj.html
-[2]: https://web.archive.org/web/20220923180640/https://chtabs.neocities.org/mondodenuboj.html

[>] ETA rimarko pri la signaroj en php/mysql
eo.klubo
btttrn6(tavern,36) — All
2022-10-06 15:27:27


Fojfoje nek instalita signaro de datumbazo, nek signaro, kiu instalita en paĝo - ilin ekzistado neniel influas al montro de teksto, kiu enhavas Esperanto-literojn. Tiam estas unu, ke forĵetas sin en instrukcioj:
En kreo de konektilo necese enigi "charset=utf8".
Ekzemple:

$knkto = new PDO("mysql:host=localhost;dbname=aplikajxo;charset=utf8", "root");

Tiam Esperanto-literoj estos montritaj senerare.

[>] Re: Interesaj programoj
eo.klubo
btttrn6(tavern,36) — btttrn6
2022-10-24 13:58:03


SFXR.
Ĝi permesas krei aliajn sonojn, kiu similas 8-bitan stilon.

En programo estas bela interfaco kaj multe da opcioj por agordo de efektoj.

Programo havas grandon en < 1 megabajto.
Ĝi povas esti necesa en viaj animaciaj kaj ludaj projektoj (precipe, en 8-bita stilo).

-[1]: SFXR retejo: http://www.drpetter.se/project_sfxr.html
-[2]: TTT-arĥivo: https://web.archive.org/web/20220519153909/http://drpetter.se/project_sfxr.html

[>] Modifnitado en Goldsrc - Kiel forigi ĵetadon de kuglingoj?
eo.klubo
btttrn6(tavern,36) — All
2022-10-31 10:14:03


Ni allasos, ke ni volas forigi ĵetadon de kuglingoj, kiu enhavas pafiloj. Ekzemple, por via futurisma, fantazia, modifo.
Do, en ev_hldm.cpp estas ĉi-simila:

1) int shell;
2) shell = gEngfuncs.pEventAPI->EV_FindModelIndex("models/shell.mdl"); // brass shell
3) EV_GetDefaultShellInfo(args, origin, velocity, ShellVelocity, ShellOrigin, forward, right, up, 20, -12, 4);
4) EV_EjectBrass(ShellOrigin, ShellVelocity, angles[YAW], shell, TE_BOUNCE_SHELL);

Por ĉia tialo ĉi liniojn ni estos komentarii. Sufiĉas liniojn 3 kaj 4.
Ĉia pafilo havas tiujn liniojn. Estas en funkciojn: EV_FireMP5, EV_FireShotGunSingle, EV_FireShotGunDouble, EV_FireGlock2, EV_FireGlock1. Povas esti plie ie.
Post ni kompilas modifon kaj ricevas bibliotekojn, kiuj ne enhavas ĵeton de kuglingoj.

[>] Kiel estas viaj faroj?
eo.klubo
btttrn6(tavern,36) — All
2022-11-19 20:05:08


Kiel estas viaj faroj nun?

[>] Aventuro - Projekto por dokumenti Aventuron kaj rekrei ĝin per moderna kodo. Aventuro estas sistemo por tekstaventuroj de la jaro 1987.
eo.klubo
btttrn6(tavern,36) — All
2022-12-11 15:04:59


El la originala priskribo:
Projekto por dokumenti Aventuron kaj rekrei ĝin per moderna kodo. Aventuro estas sistemo por tekstaventuroj de la jaro 1987.

Ĉi tiu projekto celas rekrei malnovan sistemon por tekstaventuroj kiu nomiĝas Aventuro [1]. La originala programo estas elŝutebla ĉi tie [2]. Oni verkis ĝin en 1987, kaj tial ĝi estas programo por DOS. Ĝi tamen ankoraŭ funkcias facile nun en DOSBox.

Se vi simple volas ludi tekstaventuron, vi povas ludi ĉe Gemelo.org [3].

Parto de la tasko estas kompreni la originalan sistemon. La originala sistemo inkluzivas kompililon por krei proprajn ludojn. La programlingvo estas dokumentita jam en la originala programo. Ĉi tiu deponejo [4] ankaŭ havas dokumenton [5] por provi kompreni la duuman formaton de la dosieroj kiujn la kompililo kreas. Estas pli facile kompreni la formaton de la duumaj dosieroj per la du dokumentoj kune.

-[1]: https://eo.wikipedia.org/wiki/Aventuro_%28tekstaventuro%29
-[2]: http://ifarchive.org/if-archive/interpreters-other/aventuro/
-[3]: https://gemelo.org/kongreso
-[4]: https://github.com/Esperanto/aventuro
-[5]: https://github.com/Esperanto/aventuro/blob/main/dokumentoj/avt-formato.md

[>] La Novan jaron!
eo.klubo
btttrn6(tavern,36) — All
2023-01-03 19:40:13


Eh. Mi nur antaŭnelonge ĝisiris al ĉi loko. Nemultaj legas ĉi notojn. Sed, la Novan jaron!

[>] Re: Kiel estas viaj faroj?
eo.klubo
Andrew Lobanov(tavern,1) — btttrn6
2023-02-01 08:47:44


btttrn6> Kiel estas viaj faroj nun?
Bone. Labori-domo-sonĝo ^_^

+++ Caesium/0.4 RC1

[>] Arbaro -- kreilo de arboj por "povray" (*.obj, *.dxf, povray)
eo.klubo
btttrn6(tavern,36) — All
2023-05-11 23:54:40


Mi trovis en interreto ĉi ilon, kiu povas esti utila. Ĝi kreas arbojn laŭ uzulaj parametroj.
Eksporteblaj dosieroj: *.obj, *.dxf, povray.

-[1]: Retejo: https://arbaro.sourceforge.net/
-[2]: Elŝuti: https://sourceforge.net/projects/arbaro/
-[3]: Ekrankopio 1: https://arbaro.sourceforge.net/arbaro_sc1.png
-[4]: Ekrankopio 2: https://arbaro.sourceforge.net/weeping_willow.jpg
-[5]: Ekrankopio 3: https://arbaro.sourceforge.net/desert.jpg