С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
162 / 29 / 3
Регистрация: 17.08.2013
Сообщений: 560
1

Крестики нолики на SDL - не выводится крестик

27.09.2013, 18:11. Показов 1496. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа выводит игровое поле на экран и реагирует на нажатия каждого и 9 квадратов.
Но при нажатии должен выводиться крестик, а он почему-то не выводится
Может, кто знает, в чем дело?

// Определение функции обработки событий нажатия
C_Events.cpp
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
#include "C_Events.h"
#include "C_MainCicle.h"
 
void C_Events::buttonEvents(SDL_Event* o_event_C_Events, int numberOfButton, bool isItPlayer, C_InitSurfaces *p) {
    int x = o_event_C_Events -> button.x;
    int y = o_event_C_Events -> button.y;
        
    C_GameCicle o_mainCicle_C_Events;
 
        if(o_event_C_Events -> type == SDL_MOUSEBUTTONDOWN)
           if(o_event_C_Events -> button.button == SDL_BUTTON_LEFT)
                if((x > o_rect_C_Events.x) && (x < o_rect_C_Events.x + o_rect_C_Events.w) &&
                   (y > o_rect_C_Events.y) && (y < o_rect_C_Events.y + o_rect_C_Events.h))
                    switch(numberOfButton) {
 
                    case 1: SDL_WM_SetCaption("1", NULL);   // Тестирование события нажатия первого квадрата
                        if(isItPlayer == true) {
                            o_drawScene_C_Events.drawScene
                                (o_mainCicle_C_Events.get_o_InitSurfaces(),
                                 &o_mainCicle_C_Events.o_loadImages_C_GameCicle,
                                 _button_00_X);             // Здесь должен выводиться ..
                            SDL_Flip(p -> getScreen());     // .. крестик
                        }
                        else {
                            o_drawScene_C_Events.drawScene
                                (o_mainCicle_C_Events.get_o_InitSurfaces(),
                                 &o_mainCicle_C_Events.o_loadImages_C_GameCicle,
                                 _button_00_Y);
                            SDL_Flip(p -> getScreen());
                        }
                        break; }
C_Events.h
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
#pragma once
 
#include "C_LoadImages.h"
#include "C_DrawScene.h"
#include "C_InitSurfaces.h"
#include "SDL.h"
#include <Windows.h>
 
class C_Events {
 
  public:
 
      C_DrawScene o_drawScene_C_Events;
      
      C_Events() : x(0), y(0), w(0), h(0) {}
      C_Events(int xParam, int yParam, int wParam, int hParam)
                 : x(xParam), y(yParam), w(wParam), h(hParam) {
        o_rect_C_Events.x = x;
        o_rect_C_Events.y = y;
        o_rect_C_Events.w = w;
        o_rect_C_Events.h = h;
      }
 
    void buttonEvents(SDL_Event*, int, bool, C_InitSurfaces*);   // Объявление функции обработки событий нажатия
    SDL_Event* getEvent() { return &o_SDL_Event_C_SceneElements; }
 
  private:
 
    SDL_Event o_SDL_Event_C_SceneElements;
    SDL_Rect o_rect_C_Events;
    int x, y, w, h;
 
    enum {_button_00_X, _button_01_X, _button_02_X,
          _button_10_X, _button_11_X, _button_12_X,
          _button_20_X, _button_21_X, _button_22_X,
 
          _button_00_Y, _button_01_Y, _button_02_Y,
          _button_10_Y, _button_11_Y, _button_12_Y,
          _button_20_Y, _button_21_Y, _button_22_Y };
};

Вызов функции обработки событий нажатия
C++
1
o_button_1.buttonEvents(getEvent(), 1, isItPlayer, p);
Миниатюры
Крестики нолики на SDL - не выводится крестик  
Вложения
Тип файла: 7z XO.7z (964.8 Кб, 7 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2013, 18:11
Ответы с готовыми решениями:

Игра в крестики нолики, задача почти решена но результат не выводится на экран
Извиняюсь заранее, в этом деле я очень зеленый. Прошу отнестись с пониманием )) ...

Крестики-нолики
Ребят! Как сделать проверку на занятость квадратика? #include &lt;iostream&gt; using namespace...

Крестики-нолики
Пишу крестики нолики, получается смесь ООП и говнокода:senor: Вот собственно код: #include...

C++ Крестики нолики
Докончите программу, Реализуйте проверку на победу одного из игроков, минимум две комбинации для...

0
27.09.2013, 18:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2013, 18:11
Помогаю со студенческими работами здесь

“Крестики-нолики”
Напишите игру “Крестики-нолики”. Программа выводит игровое поле для двух игроков, проверяет...

Крестики-нолики
Добрый вечер. Хочу попробовать написать свои крестики-нолики. Игру еще не дописал, но уже появилась...

Крестики нолики
Доброго времени суток, недавно, я решил написать программу Крестики нолики, опираясь на свои знания...

Крестики-нолики
Доброго времени суток. Решил написать крестики-нолики, но возник какой-то косяк на ровном (и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru