Skip to content

Commit 9ed956e

Browse files
committed
dev
1 parent 7f52fe7 commit 9ed956e

File tree

5 files changed

+75
-17
lines changed

5 files changed

+75
-17
lines changed

src/game-field.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#include "game-field.h"
2+
#include <cstring>
3+
4+
GameField::GameField()
5+
{
6+
for (int i = 0; i < 10; i++) {
7+
strcpy(field[i], "..........");
8+
}
9+
}
10+
11+
void GameField::addShip(int numberOfDecks, int sx, int sy, Direction dir)
12+
{
13+
int dx[] = {-1, 1, 0, 0};
14+
int dy[] = {0, 0, -1, 1};
15+
for (int i = 0; i < numberOfDecks; i++) {
16+
field[sx + dx[dir] * i][sy + dy[dir] * i] = '#';
17+
}
18+
}
19+
20+
void GameField::isDeckOfShip(int x, int y)
21+
{
22+
return field[x][y] == '#';
23+
}

src/game-field.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#pragma once
2+
3+
enum Direction {
4+
LEFT=0, RIGHT, UP, DOWN
5+
};
6+
7+
class GameField {
8+
char field[12][12];
9+
public:
10+
GameField();
11+
void addShip(int numberOfDecks, int sx, int sy, Direction dir);
12+
void isDeckOfShip(int x, int y);
13+
};

src/game.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
void Game::startNewGame()
3+
{
4+
}

src/game.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#pragma once
2+
3+
#include "game-field.h"
4+
5+
class Game {
6+
GameField playerField, aiField;
7+
public:
8+
void startNewGame();
9+
};

src/sdl2/main.cpp

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,35 @@
22
#include <SDL_ttf.h>
33
#include <iostream>
44

5+
TTF_Font* Sans;
6+
7+
SDL_Rect drawText(SDL_Renderer* renderer, char *text, int x, int y) {
8+
if (!Sans) {
9+
std::cout << "No font!" << std::endl;
10+
return SDL_Rect{ -1, -1, -1, -1 };
11+
}
12+
13+
SDL_Color White = { 255, 255, 255 };
14+
SDL_Surface* surfaceMessage = TTF_RenderText_Blended(Sans, text, White);
15+
SDL_Texture* Message = SDL_CreateTextureFromSurface(renderer, surfaceMessage);
16+
17+
SDL_Rect Message_rect;
18+
Message_rect.x = x;
19+
Message_rect.y = y;
20+
Message_rect.w = surfaceMessage->w;
21+
Message_rect.h = surfaceMessage->h;
22+
23+
SDL_RenderCopy(renderer, Message, NULL, &Message_rect);
24+
25+
return Message_rect;
26+
}
27+
528
int main(int argc, char* argv[])
629
{
730
SDL_Init(SDL_INIT_VIDEO);
831
TTF_Init();
32+
33+
Sans = TTF_OpenFont("assets/Open_Sans/OpenSans-Regular.ttf", 24);
934

1035
SDL_Window* window = SDL_CreateWindow(
1136
"Battleship game",
@@ -19,22 +44,6 @@ int main(int argc, char* argv[])
1944
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_SOFTWARE);
2045
SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
2146

22-
TTF_Font* Sans = TTF_OpenFont("assets/Open_Sans/OpenSans-Regular.ttf", 24);
23-
24-
if (!Sans) {
25-
std::cout << "No font!" << std::endl;
26-
}
27-
28-
SDL_Color White = { 255, 255, 255 };
29-
SDL_Surface* surfaceMessage = TTF_RenderText_Solid(Sans, "put your text here", White);
30-
SDL_Texture* Message = SDL_CreateTextureFromSurface(renderer, surfaceMessage);
31-
32-
SDL_Rect Message_rect;
33-
Message_rect.x = 0;
34-
Message_rect.y = 0;
35-
Message_rect.w = 200;
36-
Message_rect.h = 100;
37-
3847
while (true)
3948
{
4049
// Get the next event
@@ -48,7 +57,7 @@ int main(int argc, char* argv[])
4857
}
4958
}
5059
SDL_RenderClear(renderer);
51-
SDL_RenderCopy(renderer, Message, NULL, &Message_rect);
60+
drawText(renderer, "Hello, World!", 50, 50);
5261
SDL_RenderPresent(renderer);
5362
}
5463

0 commit comments

Comments
 (0)