მაფია არის ქართული აპლიკაცია სამეგბროებისთვის, რომლებიც მაფიას თამაშობენ. აპის საშუალებით წამყვანს შეუძლია წინასწარ მონიშნოს პარამეტრები, შეიტანოს თამაშში მოქმედებები, ადევნოს თვალი სტატისტიკას, ფოლებს და ა.შ. აპი ასევე სთავაზობს მომხმარებელს სხვადასხვა კარტებს და აწყობილ თამაშის ლოგიკას, რომელიც წამყვანს მინიშნებებით დაეხმარება და აუხსნის როლებს.
ამ მასივში ჩავამატოთ ობიექტი roleID რომელიც იქნება int და მერე შემოწმებაზე შეამოწმოს არა როლის სტრინგით, არამედ როლის აიდით player[2].assignedRoles.roleId === 1 ? მოკლას : გაატაროს
როცა მოთამაშის სახელები არ არის შეყვანილი შემდეგ ეტაპზე მაინც გადადის(აირჩიეთ როლები) და როცა არცერთ როლს არ არიჩევ ისევ გადადის შემდეგ ეტაპზე(მონიშნე ლიმიტები) და გაწყებინებს თამაშს.
sessionStorage ში disabledKillButton არის ბულეანი, რომელიც ერთხელ იცვლება მხოლოდ. ეს ცვლადი უნდა გარდაიქმნას მასივად, რომელიც თითოეული მოთამაშისთვის ცალკე შექმნის disabledKillButton ის ბულეანს და შემდეგ შეცვლის მას
მაგალითად, თუ 6 კაცი იქნება თამაშში, აპპმა თავისით უნდა მონიშნოს მხოლოდ 1 მაფიოზი,
თუ 7 კაცი, 2 მაფიოზი, 1 ექიმი და ა.შ. თუ 10+ კაცია, წამყვანს საშუალება უნდა მიეცეს აირჩიოს კონკრეტული წითელი ან შავი სპეც როლები.
ამის ლოგიკა მოსაფიქრებელია და კარგად დასაგეგმი.
ღამით, როცა მაფია იმოქმედებს და მოკლავს ვინმეს, შემდეგ ექიმის კომპონენტში ის მოკლული მოთამაშე უნდა ამონათდეს წამყვანისთვის, და თუ ექიმი სწორად გამოიცნობს მოკლულს, მოკლულის isAlive უნდა შეიცვალოს false დან true ზე, ანუ აღარ იქნება მკვდარი.
ამ კომპონენტში, ჯერ გამოჩნდება ტაიმერი აქტიური მოთამაშეებისთვის, ტაიმერის ქვეშ გამოჩნდება დანარჩენი მოთამაშეების სახელები.
მოთამაშის დროის ამოწურვის შემდეგ, წამყვანმა – [რიცხვი] + ღილაკებით უნდა მონიშნოს ამ მოთამაშის ხმა, ერთი დაჭერის შემდეგ, + ღილაკი უნდა გამოირთოს, რადგან მოთამაშე 1 ხმას აძლევს და მინუსით წამყვანს შეეძლება შეცვალოს ხმა შემდეგი ღილაკზე დაჭერით, შეიცვლება მოთამაშის სახელი და განახლდება ტაიმერი და ხმის მისაცემი ღილაკი კვლავ გააქტიურდება
ასაწყობია ფოლის ღილაკი F და პანელი რომელიც ღილაკზე კლიკის შემდეგ გამოჩნდება.
შიგნით უნდა გამოჩნდეს მოთამაშეების ჩამონათვალი და – 1 + მთვლელი.
კომპონენტმა წინასწარ მონიშნული ფოლების რაოდენობა უნდა შეინახოს და როდესაც მთვლელით მიაღწევს შენახულ რიცხვს, უნდა გააწითლოს მოთამაშის სახელი (ანუ გავარდნის აღმნიშვნელი)
"ჩვენს შესახებ" ღილაკზე უნდა მიებას კომპონენტი, სადაც საუბარი იქნება მაფიას თამაშის შესახებ, შეგვიძლია გავუშვათ ინსტრუქციები და როლების აღწერებიც და ბოლოში ავტორების ინფოები.
ეს კომპონენტი იქნება ღამით მოკლული მოთამაშისთვის. სიტყვის დასატოვებლად მას ექნება იმდენი წამი, რამდენიც დასაწყისში მონიშნული იქნება თავის გასამართლებელ დროზე.
ღამით, როცა სპეც როლები მოქმედებენ, ცხრილებში უნდა გამოჩნდეს დასაწყისში შეყვანილი სახელები.
აქტიური როლების მქონე სახელების გასწვრივ უნდა დაიწეროს მათი როლიც.
დონის და დეტექტივის გადასამოწმებელ კომპონენტებში როცა ღილაკს დააჭერს წამყვანი, უნდა გამოჩნდეს მესიჯი: კი ან არა, რაც მანიშნებელი იქნება, გამოიცნო თუ არა როლმა მეორე როლი
assignedroles მასივში უნდა გაყვეს isAlive boolean–ი, რომელსაც დააკვირდება აპი თამაშის განმავლობაში, თუ true ა, ცოცხლად გამოჩნდება და მისი ფუნქციები აქტიური იქნება, თუ false გახდება, მისი ფუნქციები გამოირთვება