1
0
Fork 0

work on bow creation

This commit is contained in:
coaljoe 2020-10-24 23:41:43 +03:00
parent 293b912a5b
commit bdeb936bec
6 changed files with 75 additions and 17 deletions

View File

@ -6,7 +6,7 @@ fn init_elem_lib() {
mut el := new_elem()
el.name = "stone"
el.elem_type = .stone
el.density = 8000
el.density = 2700 // wiki:limestone
bits_ctx.elem_lib["stone"] = el
}
@ -15,7 +15,7 @@ fn init_elem_lib() {
mut el := new_elem()
el.name = "crushed_stone"
el.elem_type = .stone // XXX?
el.density = 8000 // XXX?
el.density = 2700 // XXX?
// custom material/element density?
el.aggregate_state = .crushed
@ -27,7 +27,7 @@ fn init_elem_lib() {
mut el := new_elem()
el.name = "sand"
el.elem_type = .sand
el.density = 2000
el.density = 1600 // wiki
bits_ctx.elem_lib["sand"] = el
}
@ -36,7 +36,7 @@ fn init_elem_lib() {
mut el := new_elem()
el.name = "glass"
el.elem_type = .glass
el.density = 2200
el.density = 2500 // wiki
bits_ctx.elem_lib["glass"] = el
}
@ -45,17 +45,28 @@ fn init_elem_lib() {
mut el := new_elem()
el.name = "wood"
el.elem_type = .wood
el.density = 100
el.density = 700 // wiki
el.flameable = true
bits_ctx.elem_lib["wood"] = el
}
{
mut el := new_elem()
el.name = "textile"
el.elem_type = .textile
el.density = 1500 // hemp/flax m3 density
el.flameable = true
bits_ctx.elem_lib["textile"] = el
}
{
mut el := new_elem()
el.name = "water"
el.elem_type = .water
el.density = 10000
//el.density = 10000
el.density = 1000 // wiki
el.liquid = true
bits_ctx.elem_lib["water"] = el
@ -65,7 +76,8 @@ fn init_elem_lib() {
mut el := new_elem()
el.name = "concrete"
el.elem_type = .concrete
el.density = 20000
//el.density = 20000
el.density = 2400 // wiki
bits_ctx.elem_lib["concrete"] = el
}

View File

@ -12,6 +12,8 @@ enum ElemType {
vapour methane
// Extra(?) / Compounds
soil biomass silt grass
// Organic
natural_fiber // fiber_crops
//// Secondary form
glass concrete brick steel plastic cement
@ -19,6 +21,8 @@ enum ElemType {
// XXX simplify: no need for special-state concrete,
// use basic type
//liquid_concrete,
// Organic
textile
//// Compounds(?)
// Ores

View File

@ -1,6 +1,7 @@
info:
world bit (?) 50x50x50
object bit (?) 10x10x10
[s]object bit (?) 10x10x10[/s]
object bit (?) 50x50x50 (same as world bit)
test:

View File

@ -28,13 +28,29 @@ fn test_bow() {
mut bow := new_object()
// m3
bow.mat_info.add_elem_from_volume(0.88, bits_ctx.elem_lib["wood"])
println("bow new bits volume: ${bow.bits_volume()}")
println("bow new volume: ${bow.volume()}")
// XXX
// not bowstring: hemp/fiber
// no bowstring: hemp/fiber
bowstring_l := f32(0.7) // 70cm
// Actual lenght
rope_l := bowstring_l * 4.0 // twisted rope
rope_d := f32(0.04) // 4mm
rope_v := rope_l * rope_d // approx.
println("rope_v: $rope_v")
bow.mat_info.add_elem_from_volume(rope_v, bits_ctx.elem_lib["textile"])
println("bow new bits volume: ${bow.bits_volume()}")
println("bow new volume: ${bow.volume()}")
println("bits: done test_bow")
}

View File

@ -56,6 +56,7 @@ pub fn (mi &MaterialInfo) has_elem_name(elem_name string) bool {
// Add elem record
pub fn (mut mi MaterialInfo) add_elem(bits_size int, elem &Elem) {
println("MaterialInfo add_elem: bits_size: $bits_size, elem.name: $elem.name")
pt := &MaterialPart{
elem: elem,

View File

@ -2,7 +2,7 @@
<cherrytree>
<node custom_icon_id="0" foreground="" is_bold="False" name="main" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280295.1" ts_lastsave="1600280513.89" unique_id="1">
<rich_text></rich_text>
<node custom_icon_id="0" foreground="" is_bold="False" name="объекты" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280484.55" ts_lastsave="1600330817.24" unique_id="3">
<node custom_icon_id="0" foreground="" is_bold="False" name="объекты" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280484.55" ts_lastsave="1603556897.16" unique_id="3">
<rich_text></rich_text>
<node custom_icon_id="0" foreground="" is_bold="False" name="постройки/стена" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280494.98" ts_lastsave="1600280590.29" unique_id="4">
<rich_text>размеры:
@ -36,8 +36,22 @@
для склада материалов</rich_text>
</node>
<node custom_icon_id="0" foreground="" is_bold="False" name="предметы/лук" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1603556897.16" ts_lastsave="1603557110.12" unique_id="12">
<rich_text>англ. bow
параметры:
длинна: 0.7 метров
материалы:
- дерево (лук)
- текстиль (тетева)
</rich_text>
</node>
</node>
<node custom_icon_id="0" foreground="" is_bold="False" name="элементы" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280513.89" ts_lastsave="1600293034.83" unique_id="5">
<node custom_icon_id="0" foreground="" is_bold="False" name="элементы" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280513.89" ts_lastsave="1603560470.93" unique_id="5">
<rich_text scale="h3">игровые элементы</rich_text>
<rich_text>
@ -51,6 +65,7 @@
• дерево
• золото?
серебро?
• природное волокно (fiber crop (wiki)) (natural fiber (wiki))
Вторичные:
• железо
@ -59,7 +74,7 @@
<rich_text>
• кирпич
• стекло
• </rich_text>
текстиль</rich_text>
<node custom_icon_id="0" foreground="" is_bold="False" name="свойства" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280522.43" ts_lastsave="1600280678.97" unique_id="6">
<rich_text>
сталь:
@ -70,7 +85,7 @@
</node>
<node custom_icon_id="0" foreground="" is_bold="False" name="экономика" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280301.88" ts_lastsave="1600293936.99" unique_id="2">
<rich_text></rich_text>
<node custom_icon_id="0" foreground="" is_bold="False" name="цепочки производства" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280533.59" ts_lastsave="1600329961.32" unique_id="7">
<node custom_icon_id="0" foreground="" is_bold="False" name="цепочки производства" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600280533.59" ts_lastsave="1603560488.01" unique_id="7">
<rich_text scale="h3">Производство вторичных ресурсов</rich_text>
<rich_text>
@ -84,6 +99,8 @@
уголь &lt;- дерево (charcoal kiln)
текстиль &lt;- природное волокно (fiber crop) (альт. прядильное волокно)
</rich_text>
<rich_text scale="h3">Добыча природных ресурсов</rich_text>
@ -125,7 +142,7 @@
производство:
- (?)</rich_text>
</node>
<node custom_icon_id="0" foreground="" is_bold="False" name="ресурсы" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600293936.99" ts_lastsave="1600330509.74" unique_id="9">
<node custom_icon_id="0" foreground="" is_bold="False" name="ресурсы" prog_lang="custom-colors" readonly="False" tags="" ts_creation="1600293936.99" ts_lastsave="1603565380.09" unique_id="9">
<rich_text>
</rich_text>
<rich_text scale="h3">экономические ресурсы</rich_text>
@ -135,18 +152,25 @@
• соль?
• необработанный камень?
агро:
агро / собираемые:
• зерно
• шерсть
• хмель?
• велокно?
• [v] волокно? (natural fiber)
- источник: природное волокно (растения: лен, конопля, хлопок и т.д.)
- может выращиваться
- может быть собрано (?)
производство:
• сыр?
• эль?
• мука
• камень (обработанный)
• уголь (charcoal kiln)</rich_text>
• уголь (charcoal kiln)
• текстиль (единица текстильного производства)
- для производства бумаги, одежды (ткани), веревок
- единица текстильного производства используется как эквивалент,
для отображения бумаги, ткани, одежды, веревок и т.д.</rich_text>
</node>
</node>
</cherrytree>