• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tablica dwuwymiarowa SDL2

0 głosów
57 wizyt
pytanie zadane 27 stycznia 2017 w C i C++ przez klap Początkujący (410 p.)
edycja 27 stycznia 2017 przez klap

Witam wszystkich ponownie :)

Prosiłabym o pomoc/poradę, wybrałam grafikę SDL2 do zrobienia statków. Mam kod napisany obiektowo w klasach ale pojęcia nie mam jak go przekształcić. On jest ogromny poza tym. Moje pytanie, jak w klasie stworzyć tablicę dwuwymiarową (losowe ustawianie statków) i jak ją wstawić do main'a żeby mi się ładnie wyświetlał w oknie. Kod aktualnie jest prosty, ponieważ nie wiem jak dalej ruszyć. czy ktoś mógłby mnie nakierować. Mam to na zaliczenia przedmiotu, a każdy student wie, że warunku nie fajnie płacić :(

Bardzo dziękuję za poświęcony czas.

aktualny kod c++ biblioteka SDL2 :

#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <SDL2/SDL_ttf.h>
#include <SDL2/SDL_mixer.h>
#include <windows.h>

using namespace std;

SDL_Window*okno;
SDL_Surface*ekran;
SDL_Event zdarzenia;
SDL_Rect rect1;
SDL_Rect rect2;
int frame=0;

int main(int argc, char*args[] )
{
    SDL_Init(SDL_INIT_EVERYTHING);
    okno = SDL_CreateWindow("nauka",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,800,500,NULL);
    ekran = SDL_GetWindowSurface(okno); //aby wskazac jakie ono ma byc otwarte

    Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT,2,1024);  //1-mono 2-stereo
    Mix_Music*muzyka=Mix_LoadMUS("piraci.wav");
    Mix_PlayMusic(muzyka,-1);

    TTF_Init();
    TTF_Font*arial=TTF_OpenFont("arial.ttf",30);
    SDL_Color kolor = {255,0,255};

    SDL_Surface*tekst=TTF_RenderText_Blended(arial,"Zapraszam do gry w statki",kolor);

    while(true)
    {
        if(frame==0)
        {
            SDL_Surface*obraz_tlo=IMG_Load("grafika/tlo.bmp");
            SDL_Surface*obraz_postac=IMG_Load("grafika/postac.bmp");
            while(frame==0)
            {
                while (SDL_PollEvent(&zdarzenia))
                {
                    if (zdarzenia.type==SDL_QUIT)
                    {
                        exit(0);
                    }
                }

             //RENDEROWANIE
              rect2.x=0; //jakies kwadraty i trojkaty
              rect2.y=0;
              SDL_BlitSurface(obraz_tlo, NULL, ekran, &rect2); //jaki obraz. czy caly, gdzie, pozycje

              rect2.x=0;
              rect2.y=30;
              SDL_BlitSurface(tekst,NULL,ekran,&rect2);

              SDL_UpdateWindowSurface(okno);
              SDL_Delay(16.66666);
            }
        }
    }

    return 0;
}

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 309 wizyt
pytanie zadane 24 stycznia 2017 w C i C++ przez mel0n Początkujący (400 p.)
0 głosów
1 odpowiedź 56 wizyt
pytanie zadane 17 maja w C i C++ przez libson Nowicjusz (120 p.)
0 głosów
1 odpowiedź 153 wizyt
pytanie zadane 18 września 2017 w C i C++ przez chucksqll Stary wyjadacz (12,790 p.)
Porady nie od parady
Zadając pytanie postaraj się o odpowiedni tytuł, kategorię oraz tagi.Tagi

65,661 zapytań

112,292 odpowiedzi

236,952 komentarzy

46,650 pasjonatów

Przeglądających: 259
Pasjonatów: 11 Gości: 248

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...