1. Lua / Говнокод #20496

    −975

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 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

    Багованая жизнь

    Запостил: Sfabrikan, 09 Августа 2016

    Комментарии (27) RSS

    Добавить комментарий