Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 204131
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T17:26:25+00:00 2026-05-11T17:26:25+00:00

I have created this code, and when I run it, don’t get any errors

  • 0

I have created this code, and when I run it, don’t get any errors until the arrow leaves the screen (ie: (*I)->x>maxx), after which the O will randomly teleport (Well, I’m guessing its not random, but I’m trying to find a pattern to it).

EDIT: the random teleportation don’t seem to occur if I move up, and if I move down, the O is teleported directly to the bottom. Also, a glitch has occured where the O becomes a ‘>’. (I am trying to figure out how that happens)

EDIT: the transform-into-‘>’ glitch occurs if the O is at the bottom right of the screen (player.x=9;player.y=9) and the sequence “wqs” is entered.

EDIT: I’ve removed the class declarations because I am fairly sure that the error is within the _move()s and check().

EDIT: The transform glitch appears to occur when ‘wq’ is typed, then any other character is entered (ie “skiping” the next move)

EDIT: The tranform glitch occurs when player.x=9; player.y=8; and then ‘q’ is pressed, the next move the player tranforms into a ‘>’

This is the code:

#include<vector>
#include<iostream>
#include<string>
using namespace std;
const int maxx = 10, maxy = 10; //two constants that show the size of the sector
char sector[maxx][maxy]; //array of characters used to display the sector
prgm player(0, 0, 'O'); //player definition at x0,y0,and displayed with 'O'
const int vsize = 1; //size of the enemy array (ie: how many enemies there will be
X1 a(9, 5, 'X', 10); //enemy "a", has a move function that moves it back and forth
virus * viral_data[vsize] = {&a}; //array of enemies used to set the sector
vector<antivirus*> antiviral_data; //vector of pointers to "antivirus" the weapon used
vector<antivirus*>::iterator I; //iterator for previous vector

void display() //function to display the sector
{
    for(int i = 0; i < maxy; i++) 
    {
        for(int j = 0; j < maxx; j++)
        {
            cout<<sector[j][i];
        }
        cout<<endl;
    }
    return;
}

void p_move() //function to get players input, then move the player or create "antivirus"
{
    char dir;
    cin>>dir;
    switch(dir)
    {
    case 'w':
        player.y--;
        break;
    case 'a':
        player.x--;
        break;
    case 's':
        player.y++;
        break;
    case 'd':
        player.x++;
        break;
    case 'q':
        antiviral_data.push_back(new aX1(player.x, player.y, '>')); //creates a new aX1 at the players position
        break;
    }
    return;
}

void v_move() //uses the enemies move
{
    for(int i = 0; i < vsize; i++)
    {
        viral_data[i]->move();
    }
    return;
}

void a_move() //uses the weapon (ie: moves the weapon forward)
{
    for(I = antiviral_data.begin(); I < antiviral_data.end(); I++)
    {
        (*I)->move();
    }
    return;
}

void set() //sets the sector array (char)
{
    for(int i = 0; i < maxy; i++)
    {
        for(int j = 0; j < maxx; j++)
        {
            sector[j][i] = ' '; makes the entire sector blank
        }
    }
    sector[player.x][player.y]=player.sym; //sets the sector at the player's position to 'O'
    for(int i = 0; i < vsize; i++)
    {
        sector[viral_data[i]->x][viral_data[i]->y] = viral_data[i]->sym; //sets the sector at each enemy's position to be 'X'
    }
    for(I = antiviral_data.begin(); I < antiviral_data.end(); I++)
    {
        sector[(*I)->x][(*I)->y] = (*I)->sym; //sets the sector at each weapon's position to be '>'
    }
    return;
}

void check() //prevents the player from moving off the screen, erases bullet if it moves of the screen (to prevent access to non-allocated memory)
{
    if(player.x < 0)
    {
        player.x = 0;
    }
    if(player.y < 0)
    {
        player.y = 0;
    }
    if(player.x > (maxx-1))
    {
        player.x = (maxx-1);
    }
    if(player.y > (maxy-1))
    {
        player.y = (maxy-1);
    }
     //PROBLEM APPEARS TO OCCUR HERE
    for(I = antiviral_data.begin(); I! = antiviral_data.end();)
    {
        if((*I)->x > maxx)
        {
            I = antiviral_data.erase(I);
        }
        else
        {
            I++;
        }
    }
     //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

    return;
}
int main()
{
    while(true)
    {
        set(); //set sector
        display(); //display sector
        p_move(); //player's move
        v_move(); //enemy's move
        a_move(); //bullet's move
        check();//check moves
    }
    return 0;
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T17:26:25+00:00Added an answer on May 11, 2026 at 5:26 pm

    In check(), the test

    ((*I)->x > maxx)
    

    should be

    ((*I)->x >= maxx)
    

    . This is an off-by-one error that lets the > get one square off the screen. When the display routine tries to display it, it clobbers the display symbol for the X.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 209k
  • Answers 209k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Depends on your database. You need an aggregation function that… May 12, 2026 at 9:48 pm
  • Editorial Team
    Editorial Team added an answer you need a runat=server try this: <asp:button id="button" runat="server" onclick="click"… May 12, 2026 at 9:48 pm
  • Editorial Team
    Editorial Team added an answer This is what I've ended up doing as a somewhat… May 12, 2026 at 9:48 pm

Related Questions

I have created this code, and when I run it, don't get any errors
I have this WxWidgets test source code that compiles, and when run, it shows
Ok my application does everything that is it suppeded to do and it does
I am using DBExpress in Delphi 2007 to connect to a MySQL5 database server
Thank you all for your help. A number of you posted (as I should

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.