C++ :: Compress 2 Way Sideways Scrolling Shooter?
Mar 5, 2013
You are programming a sideways scrolling shooter. This used 2D cell based maps that are very long (over 100,000 characters per row long, 24 rows of 40 characters on screen), and the only way you can get them to fit in memory is to compress each row of the map using run length encoding and to decompress each new column of the map on the right of the screen as the background moves from right to left. You maintain a list of pointers into the RLE data for each row of the screen. Columns that are scrolled off the left are discarded. This works very well and the game only just fits in the available memory. Suddenly the game designer decides that the game should also be able to scroll from left to right at any point, and for any duration. Stunned and dismayed, you explain to him that RLE compression only works in one direction, but he’s adamant. Figure out a way of doing what he wants without using much (no more that 1K of) extra memory. Explain the algorithm used for decompressing in both directions. (assume the RLE algorithm used is: a positive byte N followed by a byte B, indicates a run of N copies of B, a negative byte -N followed by N bytes indicates that those bytes should be copied directly. For example, the sequence 2,2,2,2,5,1,2,9,9,9,9,9 would be coded 4,2, -3,5,1,2, 5,9.)
how can I compress the information? My first thought was making a change to the RLE compression but i gave up on that thinking it wasn't possible.
View 2 Replies
Apr 25, 2013
I'm really new to SDL and i've been trying to make a spaceshooter game, so far I've got a ship you can move around in using the arrow key (square shaped) and a scrolling background. I'm up to making my ship fire bullets at the moment and it's really not working, i've finished lazy foo's tutorials on SDL and there's nothing on this.
Here's my code
#include "SDL.h"
#include "SDL_image.h"
#include "SDL_mixer.h"
#include "SDL_ttf.h"
#include <string>
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
[Code] .....
View 19 Replies
View Related
Jan 19, 2014
I started making a shooter game where enemies appear randomly and you have to shoot them. Everything works fine except sometimes whenever a bullet hits an enemy an error comes up that says "Expression: vector subscript out of range". It doesn't happen every time there is a collision, which confuses me. Here is the collision of the bullets with enemies.
for (unsigned int i = 0; i < bullets.size(); i++) {
if (bullets[i].type == 1) {
for (unsigned int j = 0; j < enemies.size(); j++) {
float distance = sqrt(pow(bullets[i].x - enemies[j].x, 2) + pow(bullets[i].y - enemies[j].y, 2));
if (distance < bullets[i].radius + enemies[j].radius) {
bullets.erase(bullets.begin() + i);
enemies.erase(enemies.begin() + j);
} } }
View 3 Replies
View Related
Mar 15, 2014
I am trying to write a function compress() that takes in an input of a 2-dimensional array (5x10) of character data, compresses each row of the array by replacing each run of character with a single character and the number of times it occurs, and prints on each line the result of compression in the function. For example, the row with data aabbcdddee may be compressed into a2b2c1d3e2.
Input (5x10 of characters):
aaacccdeee
sssseeeedd
aaaaaaaccc
eeedddasee
ddeeeeeggg
Output:
a3c3d1e3
s4e4d2
a7c3
e3d3a1s1e2
d2e5g3
I could achieve the compression part, but behind the compressed array, it printed out 5 extra lines of alien ASCI code, followed by printing out 5 times of everything .
Code:
void compress(char data[SIZE1][SIZE2])
{
int i,j, k,l ,count;
char data123;
printf("Enter your data (5x10 of characters): ");
for (i=0; i < SIZE1; i++) {
for (j=0; j < SIZE2; j++)
data[i][j] = getchar();
fflush(stdin);
}
[code]....
View 3 Replies
View Related
Jul 28, 2013
I have made a simple 2d shooter (bird eye view) and want implementing the collision detection between the monsters and bullets. The problem is as follows
Each monster has locationX, locationY as coordinates.
Each monster has a Rectangle representing its collision box, (if bullet inside rectangle then its a collision).
Each bullet has locationX, locationY as coordinates as well.
pretty standard up till now.
each frame I need to check if some bullet collided with some monster.
the brutal force is to keep a list of all the bullets and monsters and to check the possibility of collision between all of them which takes O(#bullets * #monsters).
View 2 Replies
View Related
Mar 1, 2014
Code for c programming reads and compress each row of the array by replacing each character with a single character and the number of times it occurs?
I have issue in doing this.
View 5 Replies
View Related
Jun 25, 2014
I've been looking for some examples of handling dropped files from within a Windows compressed folder? I suspect, ultimately I may need to identify that it is a compressed folder and extract the contents, however I have not been able to find any information about identifying the file that may have been drug out of the folder onto the form (such as the file name, zip file path etc)
View 14 Replies
View Related
Oct 14, 2013
I have screen scrolling up and running but it keeps going after the background finishes. how do you fix that?
View 4 Replies
View Related
Sep 10, 2014
I have an idea which i will try to implement in C++,I want to compress file size through making my own numbering system which is 80-based number, I do really want to know whether this even possible ? I learnet that Hexadecimal uses symbols like A, B, C, D, E, F to represent 10,11,12,13,14,15 -- and that's what i want to do to my own numbering system but in a bigger scale .if possible: How can i use C++ to open a file in Hex mode ?
View 6 Replies
View Related
Sep 19, 2013
I have screen scrolling working but i want to have text scroll with the screen. because at the moment my player moves and the screen scrolls but the text doesn't.
View 15 Replies
View Related
Dec 29, 2013
The situation is , I have a ball which should move on a flat horizontal surface which i have created in a display of 800 x 400 . Right now!I am able to make it move left or right in direction using key inputs at a fixed speed.
But I want to make it move horizontally at a constant velocity without using keys. Like in copter game.
It should be able to move automatically , towards the right side.
Increment x position by speed variable does the trick but When I used it with keys I used to limit the movement like.
ball.x += ball.speed;
if(ball.x > 750)
ball.x = 750; // because my screen width is 800.
[URL] .... < this video will show what I really want to do with the ball
If you saw the game video in the link i gave, the ball kept moving with constant velocity. But it never went out of bound. What is keeping it from not getting out of display screen. Instead! its moving continuously... but stays almost at the center of screen. How?
View 7 Replies
View Related
Sep 3, 2013
I would like the coded ASCII image to scroll horizontally 3 times and then end with the message:
"Hit Enter to continue or Esc to end"
If Enter is pressed, the program should then continue to scroll another 3 times and then display the same message above.
If Esc is hit then the program loop should stop similar to an escape sequence.
Here is my code that partially accomplishes my objective:
Code:
// Professor.cpp : The entry point for the console application.
#include <iostream>
#include <string>
#include <windows.h>
#include <stdlib.h>
[Code] .....
View 3 Replies
View Related
Mar 11, 2014
My requirement is,
Read *.bmp image and displaying bitmap image with scrollbar in a MFC dialog application.
I was done using this
I was read the *.bmp image as a pixel data and stored by 2D Array,
Now i want to Display this 2D array as bitmap image with scrollbar separately in the same dialog. How can i display bitmap with scrollbar using 2D array?
View 10 Replies
View Related