Форум программистов, компьютерный форум CyberForum.ru

Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 5.00
9l noka 4To Hy6
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 26
06.11.2011, 20:52     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #1
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
// KamenNozhnicyBumaga.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "time.h"
#include "stdio.h"
#include "stdlib.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int hodusera;
    int hodcomp;
 
    printf("-=Igra s komputerom v kamen-nozhnicy-bumaga=-\nID:Kamen=1,bumaga=2,nozhnice=3\nKamen,nozhnicy,bumaga!\n1,2,3!\n");
    srand(time(0));
    hodcomp=1+(rand()%3);
    printf("Hod compa=%d\n",hodcomp);
    scanf("%d",&hodusera);
    if (hodusera<0 || hodusera>3)
        printf("Vvedeno necorectnoe znachenie.\n");
    
    
                                  if (hodusera==hodcomp) {
                                   printf("Nichya!\n");
                                   return 0;
                                                         }
       if (hodcomp==3 && hodusera==1)
        printf("Vy pobedili\n");
       if (hodcomp==1 && hodusera==2)
        printf("Vy pobedili!\n");
       if (hodcomp==2 && hodusera==3)
        printf("Vy pobedili!\n");
       if (hodcomp==2 && hodusera==1)
        printf("Vy proigrali.\n");
       if (hodcomp==3 && hodusera==2)
        printf("Vy proigrali.\n");
       if (hodcomp==1 && hodusera==3)
        printf("Vy proigrali.\n");
       
                                   printf("Igra okonchena.\n");         
 
    
    return 0;
}
Что в этом коже можно улучшить\оптимизировать?
Что можно добавить?
Что убрать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 20:52     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать?
Посмотрите здесь:

Чем можно улучшить прогу!Дополните) C++
C++ Создание матричной алгебры, что можно улучшить в коде?
C++ Написать программу для игры "Камень, бумага, ножницы"
Реализовал shared pointer class. В каких местах можно улучшить ? C++
C++ можно ли создать такой именованый пейп , что по нему можно было передавать данные по сети?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.11.2011, 20:58     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #2
Например, так:
C
1
2
3
4
5
6
7
if ( (hodcomp==3 && hodusera==1) || 
     (hodcomp==1 && hodusera==2) ||
     (hodcomp==2 && hodusera==3) )  printf("Vy pobedili!\n");
 
if ( (hodcomp==2 && hodusera==1) ||
     (hodcomp==3 && hodusera==2) ||
     (hodcomp==1 && hodusera==3) )  printf("Vy proigrali.\n");
9l noka 4To Hy6
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 26
06.11.2011, 21:57  [ТС]     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #3
Цитата Сообщение от -comrade- Посмотреть сообщение
Например, так:
C
1
2
3
4
5
6
7
if ( (hodcomp==3 && hodusera==1) || 
     (hodcomp==1 && hodusera==2) ||
     (hodcomp==2 && hodusera==3) )  printf("Vy pobedili!\n");
 
if ( (hodcomp==2 && hodusera==1) ||
     (hodcomp==3 && hodusera==2) ||
     (hodcomp==1 && hodusera==3) )  printf("Vy proigrali.\n");
Спасибо,может ещё идеи есть?

Добавлено через 46 минут
Вверх!
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.11.2011, 22:14     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #4
Ну вообще интересная задача. Вы сами себе такую ​​придумали, или вам задали?
DKOI
06.11.2011, 22:57
  #5

Не по теме:

Переменная hodusera вынесла мне мозг

9l noka 4To Hy6
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 26
06.11.2011, 23:01  [ТС]     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #6
Цитата Сообщение от -comrade- Посмотреть сообщение
Ну вообще интересная задача. Вы сами себе такую ​​придумали, или вам задали?
Задали в "Белхарде".

Добавлено через 43 секунды
Цитата Сообщение от DKOI Посмотреть сообщение

Не по теме:

Переменная hodusera вынесла мне мозг

Почему?С ней что-то не так?
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.11.2011, 23:06     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #7
9l noka 4To Hy6, зачем вы выводите значение, которое "выбрал компьютер" до того как свое значение вводит user?
9l noka 4To Hy6
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 26
06.11.2011, 23:15  [ТС]     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #8
Цитата Сообщение от -comrade- Посмотреть сообщение
9l noka 4To Hy6, зачем вы выводите значение, которое "выбрал компьютер" до того как свое значение вводит user?
Это для тестирования,в "правильной" версии этого не будет.

Добавлено через 1 минуту
Цитата Сообщение от -comrade- Посмотреть сообщение
9l noka 4To Hy6, зачем вы выводите значение, которое "выбрал компьютер" до того как свое значение вводит user?
Может у Вас есть идеи как улучшить рандом значений?Ибо вначале он довольно часто выбирает "2".
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
06.11.2011, 23:25     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #9
Цитата Сообщение от 9l noka 4To Hy6 Посмотреть сообщение
Может у Вас есть идеи как улучшить рандом значений?Ибо вначале он довольно часто выбирает "2".
http://www.cyberforum.ru/cpp-beginne...tml#post222553
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
07.11.2011, 00:01     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #10
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
#include <iostream>
#include <conio.h>
#include <clocale>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int user, comp;
    srand(time(NULL));
    char* x[3] = {"ГЉГ*ìåГ*Гј", "ÍîæГ*èöû", "ГЃГіГ¬Г*ГЈГ*"};
    for(;;)
    {
        system("cls");
        cout<< "1. "<< x[0]
            << "\n2. "<< x[1]
            << "\n3. "<< x[2]
            << "\nГ‚Г*Гё âûáîð: ";
        do {cin>> user; } while (user > 3 || user < 1);
        user--;
        comp = rand() % 3;
        cout<< "Âû: "<< x[user]
            << "\nÊîìï: "<< x[comp]<< endl;
        if (user == comp) cout<< "ГЌГЁГ·ГјГї";
        else
        if ((user == 0 && comp == 1) ||
            (user == 1 && comp == 2) ||
            (user == 2 && comp == 0))
            cout<< "Âû âûèãðГ*ëè";
        else cout<< "Âû ïðîèãðГ*ëè";
        if (getch()!= 'e') continue;
        else break;
    }
    return 0;
}
Игра на щелбаны:
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
#include <iostream>
#include <conio.h>
#include <clocale>
#include <ctime>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int user, comp, usercount = 0, compcount = 0;
    srand(time(NULL));
    char* x[3] = {"ГЉГ*ìåГ*Гј", "ÍîæГ*èöû", "ГЃГіГ¬Г*ГЈГ*"};
    while (usercount < 5 && compcount < 5)
    {
        system("cls");
        cout<< "1. "<< x[0]
            << "\n2. "<< x[1]
            << "\n3. "<< x[2]
            << "\nГ‚Г*Гё âûáîð: ";
        do {cin>> user; } while (user > 3 || user < 1);
        user--;
        comp = rand() % 3;
        cout<< "Âû: "<< x[user]
            << "\nÊîìï: "<< x[comp]<< endl;
        if (user == comp) cout<< "ГЌГЁГ·ГјГї"<< endl;
        else
        if ((user == 0 && comp == 1) ||
            (user == 1 && comp == 2) ||
            (user == 2 && comp == 0))
        {
            cout<< "Âû âûèãðГ*ëè ГЁ Г¤Г*ГҐГІГҐ ùåëáГ*Г* êîìïüþòåðó\n";
            compcount++;
        }
        else 
        {
             cout<< "Âû ïðîèãðГ*ëè ГЁ ïîëó÷Г*ГҐГІГҐ ùåëáГ*Г* îò êîìïüþòåðГ*\n";
             usercount++;
        }
        cout<< "Г“ ГўГ*Г± ГёГЁГёГҐГЄ: "<< usercount<< endl
            << "Г“ êîìïüþòåðГ* ГёГЁГёГҐГЄ: "<< compcount<< endl;
        if (usercount == 5) cout<< "Âû ïðîèãðГ*ëè, ГўГЁГ¤иìî ÈÈ Г§Г*ГёГҐГ« ñëèøêîì Г¤Г*ëåêî";
        if (compcount == 5) cout<< "×åëîâåê ГіГ¬Г*ГҐГҐ, ãëóïГ*Гї Г¬Г*ГёГЁГ*Г*";
        if (getch()!= 'e') continue;
        else break;
    }
    return 0;
}
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
07.11.2011, 11:48     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #11
Цитата Сообщение от -comrade- Посмотреть сообщение
if ( (hodcomp==3 && hodusera==1) || (hodcomp==1 && hodusera==2) || (hodcomp==2 && hodusera==3) ) printf("Vy pobedili!\n"); if ( (hodcomp==2 && hodusera==1) || (hodcomp==3 && hodusera==2) || (hodcomp==1 && hodusera==3) ) printf("Vy proigrali.\n");
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
switch (hodcomp)
{
case 3
if(hoduser=1) вы победили
if(hoduser=2) вы проиграли
breck;
case 2
if(hoduser=3) вы победили
if(hoduser=1) вы проиграли
breck;
case 1
if(hoduser=2) вы победили
if(hoduser=3) вы проиграли
breck;
default:
ничья
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 17:56     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать?
Еще ссылки по теме:

C++ Сколько бутылок воды можно выпить на n грн, учитывая, что пустые бутылки можно сдавать, и на полученные деньги приобрета
C++ Регистрация и авторизация пользователя - можно ли оптимизировать код
Парсер математических выражений - можно ли оптимизировать и улучшить код C++

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

Или воспользуйтесь поиском по форуму:
9l noka 4To Hy6
1 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 26
07.11.2011, 17:56  [ТС]     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать? #12
Цитата Сообщение от Van111 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
switch (hodcomp)
{
case 3
if(hoduser=1) вы победили
if(hoduser=2) вы проиграли
breck;
case 2
if(hoduser=3) вы победили
if(hoduser=1) вы проиграли
breck;
case 1
if(hoduser=2) вы победили
if(hoduser=3) вы проиграли
breck;
default:
ничья
}
Мне надо именно со структурой if.
Yandex
Объявления
07.11.2011, 17:56     Игра в камень,ножницы бумага.Что можно улучшить\оптимизировать?
Ответ Создать тему
Опции темы

Текущее время: 22:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru