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

Написать класс для игры в рулетку

23.05.2019, 14:35. Показов 8319. Ответов 3

Всем привет! Поставили мне тут задачу: Написать класс для игры в американскую рулетку, снабдить его методам ,что бы можно было поставить на красное,черное или просто на номер. И затем с помощью этого класса 1000 раз ставить на случайный номер.
Вот, я решил делать вот так:
Python
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
import random
class Rul():
    def __init__(self,color1,color2, numRed, numBlack, green,step):
        '''Конструктор'''
        self.color1 = red
        self.color2 = black
        self.numRed = (1,3,5,7,9,12,14,16,18,21,23,25,27,30,32,34,36)
        self.numBlack = (2,4,6,8,10,11,13,15,17,19,20,22,24,26,28,29,31,33,35)
        self.green = 37
        self.bet = input()
    
    def roll(self):
        '''
        Крутим рулеточку
        '''
        n = random.randint(1,37)
        if n >= 37:
            print ('zero')
        else:
            if n == (1,3,5,7,9,12,14,16,18,21,23,25,27,30,32,34):
                return 'ячейка : {0}, цвет: {1}'. format(self.numRed, self.color1)
                print (n,'красное')
            else:        
                if n == (2,4,6,8,10,11,13,15,17,19,20,22,24,26,28,29,31,33,35):
                    return 'ячейка : {0}, цвет: {1}'. format(self.numBlack, self.color2)
                    print (n, 'черное')
А вот дальше не знаю, как сделать так, чтобы он из моего метода roll брал значение и сравнивал с self.bet.
Подскажите пжлст что нужно сделать или свой вариант ответа.
Спасибо за ответы!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2019, 14:35
Ответы с готовыми решениями:

Написать программу, модулирующую процесс игры в рулетку, по алгоритму красное-черное
Помогите, пожалуйста написать программу модулирующую процесс игры в рулетку, по алгоритму...

Хочу написать видео чат рулетку подскажите как
Здравствуйте. Хочу написать видео чат рулетку. если кто знает, подскажите, правильно ли я понимаю...

Сделать рулетку для CS:GO
Добрый день, подскажите пожалуйста: у меня есть 10 игроков, как сделать выбор победителя по...

Класс для игры. Порядок действий
Здравствуйте всем! Есть такая задача: написать игру "Длинные Нарды". Никогда раньше ничего...

3
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
23.05.2019, 15:01 2
Лучший ответ Сообщение было отмечено Kaktuus как решение

Решение

Не решение, а первое, что бросилось в глаза.
1
Цитата Сообщение от Kaktuus Посмотреть сообщение
n = random.randint(1,37)
* * * * if n >= 37:
* * * * * * print ('zero')
Бессмысленное условие. Как может выпасть 37?
Напишите просто n = random.randint(0, 36)
2
Цитата Сообщение от Kaktuus Посмотреть сообщение
if n == (1,3,5,7,9,12,14,16,18,21,23,25,27,30,32,34)
не ==, а in

Добавлено через 12 минут
Что-то типа такого вам нужно, если я правильно вас понял (но это не точно).

Python
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
from random import randint
 
class Rul:
 
    def __init__(self):
        self.reds = (1,3,5,7,9,12,14,16,18,21,23,25,27,30,32,34,36)
        self.blacks = (2,4,6,8,10,11,13,15,17,19,20,22,24,26,28,29,31,33,35)
 
    def roll(self):
        n = randint(0, 36)
 
        isdigit = False
        user_n = input('>> ')
        if user_n.isdigit():
            user_n = int(user_n)
            isdigit = True
        elif user_n not in ['black', 'red']:
            return None
 
        red = False
        black = False
 
        if n == 0:
            print('zero')
        elif n in self.reds:
            print(n, 'красное')
            red = True
        elif n in self.blacks:
            print(n, 'черное')
            black = True
 
        if isdigit:
            if n == user_n:
                return 'Ok'
            return 'Lol'
        else:
            if user_n == 'red' and red:
                return 'Ok'
            elif user_n == 'black' and black:
                return 'Ok'
            return 'Lol'
 
r = Rul()
print(r.roll())
Но от вас требуют методы вида setRed, setBlack, setNumber. Это уже давайте сами попробуйте.
1
0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 6
23.05.2019, 15:46  [ТС] 3
Вот,спасибо большое,позже напишу, что у меня получилось.

Добавлено через 1 минуту
а я правильно понял, что setRed,setBlack,setNumber это методы для выбора ставки? ( условно, ставлю на красный,значит set.Red используется)
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
23.05.2019, 15:53 4
Kaktuus, думаю, что да.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2019, 15:53
Помогаю со студенческими работами здесь

Создать класс отрезок для игры с возможностью менять координаты
Делаю игру. Очень коротко - у нас есть "уровень земли". Он представляет из себя горизонтальную...

Написать кликер для игры
Доброе время суток форумчане. Требуется помощь, нужно написать кликер для игры что бы он кликал раз...

написать бота для браузерной игры
Здрасте. я ничего не знаю про web програмирование. Однако поставил цель написать бота для...

Hexagon (написать начинку для игры)
http://www.miniclip.com/games/hexxagon/en/ вот сама игра , задача- написать для нее начинку, как...


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

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

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