Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "SDL2/SDL.h"
- #include <stdio.h>
- #include <ctime>
- #include <cstdlib>
- #define width 640
- #define height 480
- void clear(SDL_Renderer * renderer) {
- SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
- SDL_RenderClear(renderer);
- SDL_RenderPresent(renderer);
- }
- void draw(SDL_Renderer * renderer, SDL_Rect * rect) {
- SDL_SetRenderDrawColor(renderer, 255, 178, 102, 255);
- SDL_RenderFillRect(renderer, rect);
- SDL_RenderPresent(renderer);
- }
- void draw1(SDL_Renderer * renderer, SDL_Rect * rect) {
- SDL_SetRenderDrawColor(renderer, 255, 0, 127, 255);
- SDL_RenderFillRect(renderer, rect);
- SDL_RenderPresent(renderer);
- }
- int main(int argc, char* argv[]) {
- SDL_Window *window;
- SDL_Renderer *renderer;
- SDL_Renderer *renderer1;
- SDL_Surface* ScreenSurface = NULL;
- SDL_Init(SDL_INIT_VIDEO);
- window = SDL_CreateWindow("Snake Game",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,width,height,SDL_WINDOW_OPENGL);
- if (window == NULL) {
- printf("Could not create window: Error: %s\n", SDL_GetError());
- return 1;
- }
- renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
- if (renderer == NULL) {
- printf("Could not create window: Error: %s\n", SDL_GetError());
- return 1;
- }
- SDL_Rect rectangle = {
- rectangle.x = 10,
- rectangle.y = 10,
- rectangle.w = 20,
- rectangle.h = 20
- };
- SDL_Rect food = {
- food.x = 10,
- food.y = 200,
- food.w = 20,
- food.h = 20
- };
- // outPut = rand()%((width - 10) + 1) + 10;
- //outPut = rand()%((height - 10) + 1) + 10;
- clear(renderer);
- bool eaten = 0;
- int score = 0;
- int quit = 0;
- while (quit == 0){
- if(rectangle.x <= food.x+20 & rectangle.x >= food.x-20 && rectangle.y <= food.y+20 & rectangle.y >= food.y-20 ){
- score++;
- food.x = rand()%((width - 20) + 1) + 10;
- food.y = rand()%((height - 20) + 1) + 10;
- clear(renderer);
- draw1(renderer, &food);
- }
- else{
- clear(renderer);
- draw1(renderer, &food);
- }
- SDL_Event event;
- while (SDL_PollEvent(&event)) {
- if(rectangle.x == width-20){
- quit = 1;
- puts("GAME OVER!");
- break;
- }
- if(rectangle.y == height-20){
- quit = 1;
- puts("GAME OVER!");
- break;
- }
- if(rectangle.x == 0){
- quit = 1;
- puts("GAME OVER!");
- break;
- }
- if(rectangle.y == 0){
- quit = 1;
- puts("GAME OVER!");
- break;
- }
- if (event.type == SDL_KEYDOWN) {
- if(event.key.keysym.scancode == SDL_SCANCODE_LEFT){
- rectangle.x -= 10;
- break;
- }
- else if(event.key.keysym.scancode == SDL_SCANCODE_RIGHT){
- rectangle.x += 10;
- break;
- }
- else if(event.key.keysym.scancode == SDL_SCANCODE_UP){
- rectangle.y -= 10;
- break;
- }
- else if(event.key.keysym.scancode == SDL_SCANCODE_DOWN){
- rectangle.y += 10;
- break;
- }
- }
- else if (event.type == SDL_QUIT) {
- quit = 1;
- puts("GAME OVER!");
- break;
- }
- }
- printf("rectangle : %d %d\n",rectangle.x,rectangle.y);
- printf("food: %d %d\n",food.x,food.y);
- //drawing each rectangle
- clear(renderer);
- draw(renderer, &rectangle);
- }
- SDL_DestroyRenderer(renderer);
- SDL_DestroyWindow(window);
- SDL_Quit();
- printf("Score: %d\n", score);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement