- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
people = {}
function people:cr(age,id,fami)
local t = {}
t.age = age or {0,0,0} --лет, месяцев, дней
t.id = id
t.mid = id
t.gen = math.random(1,2)
sch[1][t.gen] = sch[1][t.gen]+1
t.name = name[t.gen][math.random(1,#name[t.gen])]
t.fam = name[1][math.random(1,#name[t.gen])]..fam[t.gen]
if fami then
t.fam = fami..fam[t.gen]
end
t.b = false; t.zh = false; t.sv = {"",""}
t.tirod = 0; t.srname = ""
return setmetatable(t,{__index = self})
end
function people:life()
self.age[3] = self.age[3] + 1
if self.age[3] == 30 then
self.age[2] = self.age[2] + 1
self.age[3] = 0
end
if self.age[2] == 12 then
self.age[2] = 0
self.age[1] = self.age[1] + 1
end
if self.age[1] >= 16 then
if self.gen == 2 then
if self.zh then
if self.tirod == 0 then
local r = math.random(1,20)
if r == 1 then
self.tirod = 1
end
end
else
if not self.zhid then
self.zhid = #sch[2]+1
--print(self.zhid)
sch[2][#sch[2]+1] = self.id
end
end
if self.tirod > 0 then
local r = math.random(266,294)
local ploho = math.random(1,10000)
self.tirod = self.tirod + 1
if ploho == 1 then
self.tirod = 0
end
if self.tirod >= r then
local _ = #pl+1
local name = self.sv[1]
if self.srname then
name = self.srname
self.srname = nil
end
pl[_] = people:cr(nil,_,name)
self.tirod = 0
end
end
else
if not self.zh then
local r = math.random(1,200)
if r == 1 then
local l = math.random(1,#sch[2])
self.mid = sch[2][l]
print(self.mid,l)
local n,f = pl[self.mid]:svadba(self.name,self.fam,self.id)
self:svadba(n,f,id)
table.remove(sch[2],l)
end
end
end
end
self.rkill = math.random(1, 10000)
if self.rkill == 1 then
sch[1][self.gen] = sch[1][self.gen]-1
if self.gen = 2 and not self.zh then
pl[self.id] = nil
end
end
end
function people:svadba(n,f,id)
self.sv = {n,f}
self.mid = id
self.zh = true
return self.name, self.fam
end
local tex = {" Женат на "," Замужем за "}
function people:dr(x,y)
gr.print(self.name.." "..self.fam.." "..self.age[1].." "..self.age[2].." "..self.age[3].." беременность: "..self.tirod..tex[self.gen]..self.sv[1].." "..self.sv[2],x,y)
end