0 / 0 / 0
Регистрация: 05.10.2018
Сообщений: 15
1

Симулятор жизни студента

06.10.2018, 20:13. Показов 1441. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача:
Дополнить код игры "Симулятор жизни студента"
Код игры:
C++
1
2
3
4
5
6
7
8
9
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#include <iostream>
#include <ctime>
#include <windows.h>
int hod;
using namespace std;
struct stud{ int energy, anime, eda, money, hp, kg, brain, comm, happy, mad, rom, cats, srok, doing, a1, a2, a3; bool alive; };
 
stud w;
 
//------------------------------------------------------------------
 
 
int dumai(stud &w){
    //нормальное поведение
    if (w.srok<1){ //если я закончил дело
        //а не пойти ли спать?
        w.doing = 0;
        if (w.energy<50){
            if (rand() % 100<10){ //бросаем монетку и с шансом в 10% идём спать
                w.doing = 1;
                w.srok = 10 + rand() % 20;
            }
        }
    }
    //экстренные действия
    //обморок и плевать, если чем-то занят
    if (w.energy<10){
        w.doing = 2;
        w.srok = 10 + rand() % 20;
    }
    // продолжайте сами    ..... //////// PROGING HERE!!!!!
    return 0;
}
 
//------------------------------------------------------------------
 
int todo(stud &w){
    if (w.alive>0){
        w.srok--;
        switch (w.doing){
        case 0:
            w.energy += -1; w.eda += -2;  w.brain += -1; w.comm += -2; w.happy += -1; w.mad += -3;
            break;
        case 1:
            w.energy += -2; w.hp += 1; w.happy += 2;
            if (w.money>5){ w.eda += 6; w.money += -6; }
            else if (w.money>0){ w.eda += w.money; w.money = 0; }
            break;
        case 2:
            w.energy += 4; w.eda += -1; w.hp += 1; w.comm += -1; w.happy += 1; w.mad += -1;
            break;
        case 3:
            w.energy += -2; w.eda += -1; w.money += w.brain / 10; w.brain += 1; w.comm += -1; w.happy += -1; w.mad += 2;
            break;
        case 4:
            w.energy += -4; w.eda += -2; w.money += -1;  w.brain += 12; w.comm += -1; w.mad += 4;
            break;
        case 5:
            w.energy += -2; w.eda += -1; w.brain += 1; w.comm += 6; w.happy += 2; w.mad += -2; w.rom += 1;
            break;
        case 6:
            w.kg += -1; w.brain += -2; w.happy += 6; w.mad += -2; w.rom += -1;; w.anime++;
            break;
        case 7:
            w.energy += -3; w.eda += -2; w.money += -1; w.hp += 3; w.kg += -1;  w.happy += 2; w.mad += -6;
            break;
        case 8:
            w.energy = 0; w.eda = 0; w.money = 0; w.hp = 0; w.kg = 0; w.brain = 0; w.comm = 0; w.happy = 0; w.mad = 0; w.rom = 0; w.cats = 0; w.doing = 9;
            break;
        }
        //triggers
        if (w.hp>100)w.hp = 100;
        if (w.kg>120)w.hp -= 1;
        if (w.kg>150)w.hp -= 4;
        if (w.kg<50)w.hp -= 1;
        if (w.kg<30)w.hp -= 4;
        if (w.comm<-10)w.mad -= w.comm / 10;  //!!!!new rule
        if (w.happy>20){ w.mad -= 1; }
        if (w.happy>100){ w.mad -= 1; }    //!!!!new rule
        if (w.happy>500){ w.mad += 4; }    //!!!!new rule
        if (w.eda>100)w.kg++;
        if (w.eda<20)w.kg--;
        if (w.mad>10)w.hp--;
        if (w.mad>100)w.hp--; //!!!!new rule
        if (w.mad>500)w.hp -= 5; //!!!!new rule
        if (w.mad>20){ w.brain--; w.comm--; }
        if (w.energy<20)w.brain--;
        if (w.hp<50)w.brain--;
        if (w.comm>20)w.happy++;
        if (w.happy<-10)w.mad++;
        if (w.energy<30)w.mad++;
        if (w.energy<20)w.hp--;
        if (w.happy>100){ w.mad--; w.rom++; }
        if (w.mad>10)w.rom--;
        if (w.energy>110)w.hp--;
        if (w.money>100)w.rom++;
        if (w.money<0)w.hp--;  //!!!!new rule - cats agry!!
        if (w.money<20)w.rom--;
        if (w.comm>100)w.rom++;
        if (w.energy<40)w.happy--;
        if (w.energy<0)w.hp -= 10;
        if (w.comm<0)w.rom--;
        if (w.happy<0)w.rom--;
        w.money -= w.cats;
        w.happy += w.cats;
        if (w.rom<-50){ w.cats++; w.rom = 0; }
        //wife effect:
        if (w.rom>100){ w.energy += 1; w.eda += 2; w.money += -5; w.hp += 1; /*w.kg += 1*/; w.brain += 1; w.comm += 1; w.happy += 2; w.mad += -2; w.rom += 0; w.cats += 0; }
        if (w.eda<1)w.hp -= 10;
        //death
        if (w.hp<1){
            w.alive = 0;
            w.energy = 0; w.eda = 0; w.money = 0; w.hp = 0; w.kg = 0; w.brain = 0; w.comm = 0; w.happy = 0; w.mad = 0; w.rom = 0; w.cats = 0; w.doing = 9;
        }
        //catastrophes
 
    }
    return 0;
}
 
int print(stud w){
    cout << endl << "HOD NOMER   " << hod << endl;
 
    cout << "Energy: " << w.energy << endl;
    cout << "Eda: " << w.eda << endl;
    cout << "Money: " << w.money << endl;
    cout << "HP: " << w.hp << endl;
    cout << "KG: " << w.kg << endl;
    cout << "Brain: " << w.brain << endl;
    cout << "Communicating: " << w.comm << endl;
    cout << "Happiness: " << w.happy << endl;
    cout << "Madness: " << w.mad << endl;
    cout << "Romance: " << w.rom << endl;
    cout << "Cats: " << w.cats << endl;
    switch (w.doing){
 
    case 0: cout << "Degradiruet           " /*<< w.srok */ << "1    hodov" << endl; break;
        //case 0: cout << "Svobodnoe vremya    " << w.srok << "   hodov" << endl; break;
    case 2: cout << "Spit                  " << w.srok << "   hodov" << endl; break;
    case 1: cout << "Est                   " << w.srok << "   hodov" << endl; break;
    case 3: cout << "Rabotaet              " << w.srok << "   hodov" << endl; break;
    case 4: cout << "Uchitsya              " << w.srok << "   hodov" << endl; break;
    case 5: cout << "Obschatsya            " << w.srok << "   hodov" << endl; break;
    case 6: cout << "Razlagaetsya(anime)   " << w.srok << "   hodov" << endl; break;
    case 7: cout << "Lechitsya(Sport)      " << w.srok << "   hodov" << endl; break;
        //cout << 3 << endl;
    }
    //cout << 4 << endl;
    return 0;
}
 
int main(){
    hod = 0;
    w.alive = true;
    w.energy = 100; w.eda = 100; w.money = 100; w.hp = 100; w.kg = 100; w.brain = 0; w.comm = 0; w.happy = 0; w.mad = 0; w.rom = 0; w.cats = 0; w.srok = 0; w.doing = 0;
    //1  ход = 5 минут(ы)
    while (w.alive){
        hod++;
        dumai(w);
        todo(w);
        system("cls");
        print(w);
        cout << endl << endl;
        cout << "LiveTime:   " << ((hod * 5 / 60) / 24) / 365 << "y. - " << (hod * 5 / 60) / 24 << "d. - " << (hod * 5 / 60) % 24 << ":" << hod * 5 % 60 << endl;
        cout << endl << endl;
        system("pause");
    }
}
Всё в коде есть если не понятно спрашивайте.

Нужно дописать функции когда студенту есть, работать, общаться и тд, чтобы он жил бесконечно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2018, 20:13
Ответы с готовыми решениями:

Из жизни студента C++
требуться ли начинающему программисту C++ самому писать сортировку массивов(полностью понимать...

Структуры и файлы (посчитать средний балл каждого студента и вывести фамилию студента с наибольшим баллом)
У меня есть структура и файл, в котором находятся фамилии и оценки учащихся, как мне посчитать...

По заданным оценкам студента определить тип студента
По заданным оценкам студента (3 оценки) определить тип студента: ОТЛ, ХОР, ТРО, ДВ.

Симулятор собеседника?
Ребята, привет. Хочу задать вопрос. Я хочу сделать программу, в которой пишешь например: 1 -...

4
617 / 937 / 150
Регистрация: 10.08.2015
Сообщений: 4,983
07.10.2018, 00:56 2
а где метод goto_forum_to_beg_solution ?
0
30 / 21 / 8
Регистрация: 23.09.2018
Сообщений: 186
07.10.2018, 01:26 3
Цитата Сообщение от Ламберт007 Посмотреть сообщение
//бросаем монетку и с шансом в 10% идём спать
в жизни тоже так?
0
671 / 217 / 88
Регистрация: 21.07.2016
Сообщений: 1,036
Записей в блоге: 2
07.10.2018, 06:08 4
Цитата Сообщение от Ламберт007 Посмотреть сообщение
Нужно дописать функции когда студенту есть, работать, общаться и тд, чтобы он жил бесконечно.
WMR170346347347
я тоже играю в симулятор жизни
сейчас у меня на счету 500 рублей
нужно добавить еще на оплату аренды 16тыщ, на оплату кредита 6к, на питание 16к и тд, чтобы я жил ну не бесконечно, но хотябы жил.
0
165 / 108 / 57
Регистрация: 30.08.2018
Сообщений: 357
07.10.2018, 09:06 5
Цитата Сообщение от stu4ent Посмотреть сообщение
шансом в 10% идём спать
Цитата Сообщение от stu4ent Посмотреть сообщение
в жизни тоже так?
да, так и есть
0
07.10.2018, 09:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2018, 09:06
Помогаю со студенческими работами здесь

симулятор онлайн-магазина
пожалуйста, очень надо сдать до конца недели. программирую всего 4 месяца. и то не очень хорошо....

Симулятор работы железной дороги
Всем привет, ребят. Сразу к делу: поставлена задача написать симулятор(работы железной дороги)....

Написать консольный симулятор песочных часов
Здравствуйте! На лабораторке дали задание: написать песочные часы. Там опускается песок, потом часы...

Текстовая игра-симулятор [ищу код]
Доброго времени суток! Ищу код игры наподобие Симулятора Бомжа (на андройде есть такой), Хакера или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru