• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

117 Neutral

About kingpinzs

  • Rank
  1. python collision recursion issue

    I changed bubbles.remove(bubble1)  to bubbles.discard(bubble1) and I no longer get the error. Thanks every one for taking the time to read my post.
  2. python collision recursion issue

    def remove_matching(self, bubbles): bubble_old = [] for bubble in list(bubbles): if self.color == bubble.color and self.collide(bubble): bubble_old = bubble bubbles.remove(bubble) self.touching(bubble_old, bubbles) return True return False this is the method that calls it.  The code works when the bubbles are lined up like this   x O x x O x x O x   O <-current ball      x  O  x x  O  x O O O    O <-current ball   the issue happens with anything like this   O O O O    O <-current ball   I have also tried this def touching(self, bubble, bubbles): for bubble1 in list(bubbles): if self.color == bubble1.color and dist(bubble.pos, bubble1.pos) <= 2 * BUBBLE_RADIUS: bubbles.remove(bubble_old) self.touching(bubble1, bubbles) I got the same error   and this gets this error RuntimeError: Set changed size during iteration  def touching(self, bubble, bubbles): for bubble1 in iter(bubbles): if self.color == bubble1.color and dist(bubble.pos, bubble1.pos) <= 2 * BUBBLE_RADIUS: bubbles.remove(bubble1) self.touching(bubble1, bubbles)
  3. def touching(self, bubble, bubbles): for bubble1 in bubbles: bubble_old = bubble1 if self.color == bubble_old.color and dist(bubble.pos, bubble_old.pos) <= 2 * BUBBLE_RADIUS: bubbles.remove(bubble_old) self.touching(bubble1, bubbles)     The error occurs when there are two rows right next to each that need to be removed. for example like this x x  x  x  x x O O O x x x  O O x x x  O  x x        O <-current ball Traceback (most recent call last):   File "main.py", line 140, in draw     if a_bubble.remove_matching(stuck_bubbles):   File "main.py", line 72, in remove_matching     self.touching(bubble_old, bubbles)   File "main.py", line 81, in touching     self.touching(bubble1, bubbles)   File "main.py", line 80, in touching     bubbles.remove(bubble_old) KeyError: <__main__.Bubble instance at 0x192c878>  
  4. How do I use a class object as a parameter?

    Thanks for the help that fixed my issues. all I did    class Monster; // fwd declaration
  5. How do I use a class object as a parameter?

    I am getting errors. error: 'Monster' does not name a type error: 'Monster' has not been declared
  6. How does one go about passing a class object as a parameter in another class's method.   e.g. class Player { Monster monster; bool attack(Monster& monster); }   class Monster { //do stuff   }    
  7. I am using XNA 4.0 and c# how can I get an image to set its position according to the end of another image? this is what I have so far [code] rocketPosition = players.Position; rocketPosition.X += players.Position.X +40; rocketPosition.Y -= players.Position.Y -370 ; rocketAngle = players.Angle; Vector2 up = new Vector2(0, -1); Matrix rotMatrix = Matrix.CreateRotationZ(rocketAngle); rocketDirection = Vector2.Transform(up, rotMatrix); rocketDirection *= players.Power / 50.0f; [/code] the rocket goes in the right direction but its starting position is wrong if I move the cannon the code that moves the cannon [code] if (keybState.IsKeyDown(Keys.Left)) { if(players.Angle > MathHelper.PiOver4-.3) players.Angle -= 0.01f; } if (keybState.IsKeyDown(Keys.Right)) { if (players.Angle < MathHelper.PiOver2) players.Angle += 0.01f; } [/code]
  8. Need help with a array sequence

    After thinking about it for a while I came up with this. [code] void sequence::advance( ) { if(is_item()) { if(current_index <= used-1) { ++current_index; } } } [/code] but it is still advancing passed the array that has been created.
  9. This is what I need to do // void advance( ) // Precondition: is_item returns true. // Postcondition: If the current item was already the last item in the // sequence, then there is no longer any current item. Otherwise, the new // current item is the item immediately after the original current item. And this is what I did [code] void sequence::advance( ) { if(is_item()) { if(current_index <= used) { ++current_index; } } [/code] but it goes passed the actual array data. How can I fix that? I'm using c++
  10. I am using a bmp with a mask bmp
  11. I am using this sample code for now tell I figure out how it all works [code] ODEL *LoadModel(char *filename) { MODEL *model = (MODEL*)malloc(sizeof(MODEL)); LPD3DXBUFFER matbuffer; HRESULT result; //load mesh from the specified file result = D3DXLoadMeshFromX( filename, //filename D3DXMESH_SYSTEMMEM, //mesh options d3ddev, //Direct3D device NULL, //adjacency buffer &matbuffer, //material buffer NULL, //special effects &model->material_count, //number of materials &model->mesh); //resulting mesh if (result != D3D_OK) { MessageBox(NULL, "Error loading model file", "Error", MB_OK); return NULL; } //extract material properties and texture names from material buffer LPD3DXMATERIAL d3dxMaterials = (LPD3DXMATERIAL)matbuffer->GetBufferPointer(); model->materials = new D3DMATERIAL9[model->material_count]; model->textures = new LPDIRECT3DTEXTURE9[model->material_count]; //create the materials and textures for(DWORD i=0; i<model->material_count; i++) { //grab the material model->materials[i] = d3dxMaterials[i].MatD3D; //set ambient color for material model->materials[i].Ambient = model->materials[i].Diffuse; model->textures[i] = NULL; if( d3dxMaterials[i].pTextureFilename != NULL && lstrlen(d3dxMaterials[i].pTextureFilename) > 0 ) { //load texture file specified in .x file result = D3DXCreateTextureFromFile(d3ddev, d3dxMaterials[i].pTextureFilename, &model->textures[i]); if (result != D3D_OK) { MessageBox(NULL, "Could not find texture file", "Error", MB_OK); return NULL; } } } //done using material buffer matbuffer->Release(); return model; } VOID DeleteModel(MODEL *model) { //remove materials from memory if( model->materials != NULL ) delete[] model->materials; //remove textures from memory if (model->textures != NULL) { for( DWORD i = 0; i < model->material_count; i++) { if (model->textures[i] != NULL) model->textures[i]->Release(); } delete[] model->textures; } //remove mesh from memory if (model->mesh != NULL) model->mesh->Release(); //remove model struct from memory if (model != NULL) free(model); } void DrawModel(MODEL *model) { //draw each mesh subset for( DWORD i=0; i<model->material_count; i++ ) { // Set the material and texture for this subset d3ddev->SetMaterial( &model->materials[i] ); d3ddev->SetTexture( 0, model->textures[i] ); // Draw the mesh subset model->mesh->DrawSubset( i ); } } [/code]
  12. I am using D3DXLoadMeshFromX and D3DCreateTextureFromFile but it doesnt show transpaerncy with the texture hw can I acomplish this? I am using directx 9c and c++
  13. How can data be loaded to a bst?

    [quote name='staticVoid2' timestamp='1304634650' post='4807142'] [source] // loading (static) Node* Node::load(std::ifstream& ifs) { Node* n = new Node(); bool isLeaf; ifs >> isLeaf; ifs >> n->data; if(isLeaf) return n; n->leftNode = load(ifs); n->rightNode = load(ifs); } [/source][c++] [/quote] how to I load the entire file? It keeps cutting out early. [code] void beginning_tree(binary_tree_node<string>*& current_ptr,ifstream &fin) // Library facilities used: bintree.h, string { string question; bool isLeaf = false; binary_tree_node<string> *child_ptr = current_ptr; if(fin.is_open()) { // if began while(fin.good()) { child_ptr = new binary_tree_node<string>; fin >> isLeaf; fin >> question; if(isLeaf) child_ptr->set_data(question); beginning_tree(child_ptr->left(),fin); beginning_tree(child_ptr->right(),fin); } print(taxonomy_root_ptr,0); } fin.close(); } [/code]
  14. this is the file that gets saved from the bst preorder Are you a mammal? Are you bigger than a cat? Kangaroo Do you purr? Cat Mouse Do you live underwater? Trout Robin this is what it needs to load back up like [attachment=2142:bst.jpg] How can I get it to load from top to bottom left to right I am using c++
  15. have issue returning pointer data

    So after many many hours the issue has been solved. I just removed [color=#1C2837][font=CourierNew, monospace][size=2][color=#000000] [/color][color=#660066]Root[/color][color=#000000] [/color][color=#666600]=[/color][color=#000000] [/color][color=#000088]new[/color][color=#000000] [/color][color=#660066]TreeNode[/color][color=#666600]([/color][color=#000000]name[/color][color=#666600]); from main and it fixed it all[/color][/size][/font][/color]
  • Advertisement