C++ :: Algorithm For Deleting Lines In Tetris?
Oct 9, 2014
I'm making tetris but didn't go the conventional way of using matrices to hold binary id's of my shapes. I thought it would be easier that way, but now I'm stuck on deleting complete lines of blocks. Here is my code that checks for complete lines:
bool lineComplete = true;
std::vector<sf::FloatRect> lineTest;
sf::RectangleShape rect;
rect.setSize(sf::Vector2f(1, 1));
[Code] .....
Now in RemoveLine(), I need to access the individual blocks of each gamePiece. Each gamePiece has a vector of sf::RectangleShapes (SFML), which represent one block of that tetromino:
std::vector<sf::RectangleShape> pieceRectangles_; the sf::RectangleShapes are stored like so:
case 0:
//line
for(int i = 0; i < 4; i++){
sf::RectangleShape rect(sf::Vector2f(10, 10));
rect.setPosition(origin.position.x + (i * 10), origin.position.y);
rect.setTexture(&imgr.tetrominoTexture);
rect.setFillColor(sf::Color(243, 16, 16));
pieceRectangles_.push_back(rect);
}
My question is how do I got about accessing particular sf::RectangleShapes stored in this vector if that sf::RectangleShape is located on a complete line that is being deleted? Would I need to create a Block class and give it members that hold each block's location?
View 1 Replies
ADVERTISEMENT
Dec 27, 2013
I was assigned to modify Game Lobby code. All the data can be saved in txt file and can be displayed when running the code..How can i remove or delete the certain lines of a txt file when running the cmd?.. I cant program it to be able to delete certain lines but i manage to program to delete the entire data, which is not what i want..
Here's the code so far...
#include <iostream>
#include <fstream>
#include<vector>
#include<cstdio>
#include<iomanip>
#include <string>
using namespace std;
class Player {
public:
Player(const string& name = ""): m_Name(name), m_pNext(0) {}
[Code] ....
View 3 Replies
View Related
Jul 30, 2014
I have a text file with repeated lines, and i would like to get rid of the duplicate information, an algorithm to achieve this?
Example of my text file (the actual file may be huge, up to 500MB):
+Hello
+Bye
*The sun
-The moon
+Bye
/One coin
+Bye
+Bye
+Hello
*The sun
And i would expect to get something like this:
+Hello
+Bye
*The sun
-The moon
/One coin
I know how to open and read a file with fstream and getline(), but i don't know how to make the comparison.
View 6 Replies
View Related
Mar 15, 2014
void SetupPieces() {
pieces[0] = Piece(Bads(0,2), Bads(0,1), Bads(0,0), Bads(0,-1));
pieces[1] = Piece(Bads(0,0), Bads(0,1), Bads(1,0), Bads(1,1));
pieces[2] = Piece(Bads(-1,0), Bads(0,0), Bads(1,0), Bads(0,-1));
pieces[3] = Piece(Bads(-1,1), Bads(-1,0), Bads(0,0), Bads(0,-1));
pieces[4] = Piece(Bads(1,1), Bads(1,0), Bads(0,0), Bads(0,-1));
pieces[5] = Piece(Bads(1,1), Bads(1,0), Bads(0,0), Bads(-1,0));
pieces[6] = Piece(Bads(-1,1), Bads(1,0), Bads(0,0), Bads(-1,0));
}
View 7 Replies
View Related
Apr 13, 2013
Simple rect collision detection
bool check_collision(SDL_Rect *box1, SDL_Rect *box2){
if(box1->x+box1->w<=box2->x)return false;
if(box1->x>=box2->x+box2->w)return false;
if(box1->y+box1->h<=box2->y)return false;
if(box1->y>=box2->y+box2->h)return false;
return true;
[Code] ...
The order of the game is of course standard.
1.handle input
2. handle logic
3. render
4. update
It's all pretty simple and straight forward, but oftentimes (not always) when the weapon hits the asteroid, the program crashes. If for example I turn off the delete main_weapon[i] and main_weapon.erase(main_weapon.begin()+i); the program works perfectly, but of course the bullets go right though the asteroid object, which is not what I want. It's only the weapon deletion which is causing no end of trouble.
View 7 Replies
View Related
Nov 11, 2014
learning deleting BST node through recursion. In my class my tutor wrote something like this for BST delete node struc:
struct node{
//data
node* root, *left, *right;
}
why not
struct node{
//data
node* *left, *right;
}
node * root;
whats the difference?
View 5 Replies
View Related
Mar 7, 2014
Basically, I have a LIST that is saved in a CSV file, and I need to remove a particular record after using the search feature (which populates the fields from the CSV file... i.e. ID, Name, etc...).
I am able to get the details that are in the text fields by using a search feature. This is then put in:
logic.remove(tempIndividual)
In class myLogic.cs, then I have this method:
this.individual.Remove(tempIndividual)
Upon debugging, I can see that tempIndividual is populated with the correct data. However, I need to remove this data from the CSV file. Am I on the right track, or totally off? Maybe it is not complete, cause I can't get to the part where it actually removes the data from the CSV, or at least I'm not sure if .Remove is able to do it on its own.
View 9 Replies
View Related
Sep 10, 2014
How to do self deleting of exe file when it is run'd.
View 2 Replies
View Related
Dec 11, 2014
I am writing a program to list the 8 planets, then you select which planet you want. it gives you the mass of the planet, the radius, then you use the mass and radius of the planet to find the surface area (sphere formula) and the density of the planet. Along with those options, you have to add and delete a planet from the list and then sort them alphabetically. All i am having trouble with is the adding and deleting part. The code the adding and deleting from the list would go in cases 9 and 10.
heres my code as of this point.
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
void print(const std::string& item) {
[Code] ....
View 5 Replies
View Related
Nov 21, 2013
I have a container in c++11 and i must delete first object and i don't know how...
for (const prob& p : *static_cast<vector<prob>*>(list.listData)){
// i must delete the first object
}
View 2 Replies
View Related
May 5, 2013
I'M TRYING TO DELETE FROM THE END OF A LINKLIST...Actually I delete the last node but the problem is that I lost the end of the list, in other words my list leaved of pointing to NULL.I really don't know how to fixed, (it was more easy to delete from head)
Code :
void linkedstack::pop() {
if(head==NULL){
cout<<"The linklist is empty"<<endl;
return;}
else {
node *current=head;
[code]....
View 3 Replies
View Related
Oct 21, 2014
Consider the following code snippet:
GLfloat box[4][4] = {
{ x2, -y2, 0, 0 },
{ x2 + w, -y2, 1, 0 },
{ x2, -y2 - h, 0, 1 },
{ x2 + w, -y2 - h, 1, 1 },
};
Do I need to call a variant of
delete [] box;
Against this float array?
View 1 Replies
View Related
May 30, 2013
LinkedList* listPtr = new LinkedList;
listPtr->addNode(3);
listPtr->addNode(4);
listPtr->addNode(6);
listPtr->print(std::cout);
delete listPtr;
listPtr->addNode(5);
listPtr->print(std::cout);
When I run the program it outputs
{ 3, 4, 6 }
{ 5 }
Why does the LinkedList object that listPtr is pointing to not get destroyed??
View 8 Replies
View Related
May 6, 2014
This is a program to get an 10 characters including a-z, A-Z, and _ .
Then this program will cout the text with out _ !
Example:
cin >> sd_fd_e_dd
cout << sdfdedd
# include <iostream>
#inclued<vector>
using namespace std;
char a[10],m;
[Code] ....
View 1 Replies
View Related
Nov 23, 2013
Currently I am implementing the A* algorithm in C++. I have chosen to use a hybrid of a '2D vector grid' and two 1D pointer vectors to specific places in the '2D vector grid'. I have chosen to do it this way, so I can access the nodes using coordinates and also for iterating over the appropriate nodes(rather than the whole '2D vector grid').
In the below examples I have not included the full code because I deemed it irrelevant to the question.
vector <int> CInGame::AStarAlgorithm(vector<vector<bool>>& resistanceMap, int startX, int startY, int targetX, int targetY, int cutOff) {
vector <int> returnVec;
vector <vector<CNode>> twoDimNodes;
vector <CNode*> openSet;
vector <CNode*> closedSet;
[code].....
The error is:
_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
do I need to free the pointers or is it done automatically? If not then how would I do this?
View 3 Replies
View Related
May 8, 2014
Is this the right codes for deleting a recoed on the text file.
void dlte(){
string line, recorddate;
cout << "Please Enter the date of record you want to delete: ";
cin >> recorddate;
ifstream myfile;
ofstream temp;
myfile.open("herald.txt");
[Code] .....
View 1 Replies
View Related
Oct 14, 2014
I made a vector of pointers and the problem is that I have trouble deleting the pointers in the vector. I used to simply do vector.clear() or vector.erase() however it does not clear the actual memory. And I tried something like this:
std::vector<Foo*> Vector;
std::vector<Foo*>::iterator i;
for (i = Vector.begin(); i < Vector.end(); i++)
delete *i;
View 5 Replies
View Related
Mar 27, 2014
If I have a linked list, how can I delete it at the end of my program to free the memory taken up. I know I have to use delete but not sure how to use it in this case.
Here is the code that I have:
#include <iostream>
#include <cstdlib>
using namespace std;
struct Numlist {
int num; //Number
Numlist * next; //Pointer to the next node
[code]....
View 4 Replies
View Related
Nov 2, 2014
I'm creating a program that holds three arrays one for the persons last name, one for the points scored and one for the player number, now I've got all the arrays and everything done but I'm not sure as to how I'm going to delete an entry for multiple arrays.
static Int32[] ProcessDelete(Int32[] playerNumbers, String[] playerLastName, Int32[] playerPoints, ref Int32 playerCount)
{
Int32[] newArray = new Int32[playerNumbers.Length - 1];
[Code].....
View 2 Replies
View Related
Mar 18, 2013
I'm having trouble deleting a character inputted by the user recursively..
1- Should I be doing it this way where it returns the character one by one to the console?
2- Is there a way actually rebuild the string to "delete" these occurances of the key?
//This program deletes a character inputted by the user recursively
#include <iostream>
using namespace std;
char find (char *a, char key)//Function gets passed array (but makes it a pointer) and key
[code]....
View 5 Replies
View Related
Dec 11, 2014
i am writing a program to list the 8 planets, then you select which planet you want. it gives you the mass of the planet, the radius, then you use the mass and radius of the planet to find the surface area(sphere formula) and the density of the planet. along with those options, you have to add and delete a planet from the list and then sort them alphabetically. All i am having trouble with is the adding and deleting part. the code the adding and deleting from the list would go in cases 9 and 10.
heres my code as of this point.
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
void print(const std::string& item) {
[Code] ....
View 3 Replies
View Related
May 27, 2013
I'm writing a bunch of classes like Form, Button, etc. All these are derived from a base Object class. I want to make these objects auto-delete, so I only have to declare the new keyword, and the program will clean them when necessary. I understand the implications of dereferencing, I just have a couple of questions about my code.
I through this run-down example together:
Code:
#include <Windows.h>
#include <map>
class Object {
public:
Object() {};
~Object() {};
void *operator new(size_t size);
void operator delete(void *ptr);
[Code] .....
I have added a static variable of std::map type called m_Dynamic. I have overloaded the new and delete keywords (within the Object class) to keep the m_Dynamic map up-to-date. This prevents objects created on the stack from being deleted.
The object itself can then be deleted via the base Dispose() method. Or methods such as Destroy() can be added in derived classes and call upon Object::Dispose() themselves. This can be overloaded, etc, but eventually will be removed from the public view. I only have it here for testing.
From what I can tell everything "works", though I'm uncertain that the object is being correctly deleted.
Though, my main concern is that when a derived class such as Circle calls Dispose() which in turns fires delete this. Does it free() the sizeof(Object) or does it correctly free() the sizeof(Circle)?
Are there any other things I should be vary of? I only just started playing with new/delete overloading yesterday.
View 14 Replies
View Related
Feb 10, 2015
Write a program having structure which hold address fields as Name, Address Line 1, City, State, ZIP. Program should able to hold 50 entries of address. Application should have feature/choice option to add, delete and Search address by name .
View 1 Replies
View Related
Apr 19, 2013
I have a struct with some select student information. My wish is to be able to have the user type in a surname from the list, and for that entry to be deleted. However I am slipping up for some reason.
Here is the start of my program showing my struct:
Code:
#include <stdio.h>
#include <string.h>
#define NAME_LEN 30
#define LINE_LEN 80
struct record {
[Code] ....
I get the following errors in my while loop as well as the if statement below that loop:
-invalid operands to binary !=
-invalid type of argument '->'
View 7 Replies
View Related
May 5, 2013
Code:
#include<stdio.h>
//bookData structure
struct bookData {
int recordNum;
char description[ 15 ];
int booksBought;
double bookCost;
[code]...
I am able to add records and show records, no problem. But when I go to delete a record, it crashes immediately after inputting the record number I want to delete. I don't see why. I've set it up exactly like the example in my book, having of course changed the variable names for my program. Does it have something to do with the pointer?
View 3 Replies
View Related
Feb 18, 2014
I am having trouble with my deleteNode function, using recursion I am trying to delete a node from a binary tree. My tree is displayed as the following...
Tree: (node)->[left child, right child]
(k)->[g,p]
(g)->[c,h]
(c)->[ ,e]
[Code]....
The result did show that it is erased but when I try to add the erase node "t" back into the tree it still exist. I am stumped on what to do when using recursion way of deleting node.
View 4 Replies
View Related