Jun 15, 2013 at 4:22am UTC
here is the full code i"m making a star ship that moves left and right and shoots.
this is microsoft visual complier c++ 2010 btw (all help would be appreciated)
#include <vector>
#pragma once
namespace spacegame {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
int fillrectangle;
int xcos = 160;
int bullet, bullets;
struct{
int x;
int y;
int speed;
void act(){y=speed;}
};
/// <summary>
/// Summary for Form1
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
protected:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::PictureBox^ starship;
private: System::Windows::Forms::PictureBox^ bullets;
protected:
protected:
private:
/// <summary>
/// Required designer variable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid));
this->starship = (gcnew System::Windows::Forms::PictureBox());
this->bullets = (gcnew System::Windows::Forms::PictureBox());
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->starship))->BeginInit();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->bullets))->BeginInit();
this->SuspendLayout();
//
// starship
//
this->starship->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"starship.Image")));
this->starship->Location = System::Drawing::Point(232, 385);
this->starship->Name = L"starship";
this->starship->Size = System::Drawing::Size(164, 245);
this->starship->TabIndex = 1;
this->starship->TabStop = false;
this->starship->Click += gcnew System::EventHandler(this, &Form1::starship_Click);
//
// bullets
//
this->bullets->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"bullets.Image")));
this->bullets->Location = System::Drawing::Point(230, 303);
this->bullets->Name = L"bullets";
this->bullets->Size = System::Drawing::Size(165, 74);
this->bullets->TabIndex = 2;
this->bullets->TabStop = false;
this->bullets->Click += gcnew System::EventHandler(this, &Form1::bullets_Click);
//
// Form1
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(632, 642);
this->Controls->Add(this->bullets);
this->Controls->Add(this->starship);
this->Name = L"Form1";
this->Text = L"Form1";
this->KeyPress += gcnew System::Windows::Forms::KeyPressEventHandler(this, &Form1::keyDown);
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->starship))->EndInit();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->bullets))->EndInit();
this->ResumeLayout(false);
}
#pragma endregion
private: System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void keyDown(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) {
if ((e->KeyChar == 'd')&&(xcos<450))
{
xcos+=5;
starship->Location = System::Drawing::Point (xcos, 399);
}
if ((e->KeyChar=='a')&&(xcos>25))
{
xcos -=5;
starship->Location = System::Drawing::Point(xcos, 399);
}
}
private: System::Void starship_Click(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void bullets_Click(System::Object^ sender, System::EventArgs^ e) {
for (1=0:1<bullets.size();1++)
{
(G> fillrectangle (brushes::red, bullets[i].x, bullets[i]y, 10, 10);
}
for (1=0:1<bullets.size();1++)
{
Bullets[I].act();
if (bullets[i].y<o)
{
Bullets.erase(1);
}
};
}
Now for the errors actually slue of error
1>------ Build started: Project: space game, Configuration: Debug Win32 ------
1> space game.cpp
1>c:\users\spencer\desktop\c++\space game\space game\Form1.h(23): warning C4094: untagged 'struct' declared no symbols
1>c:\users\spencer\desktop\c++\space game\space game\Form1.h(144): error C2958: the left parenthesis '(' found at 'c:\users\spencer\desktop\c++\space game\space game\form1.h(142)' was not matched correctly
1>space game.cpp(6): error C2059: syntax error : 'namespace'
1>space game.cpp(6): error C2238: unexpected token(s) preceding ';'
1>space game.cpp(19): fatal error C1075: end of file found before the left brace '{' at 'c:\users\spencer\desktop\c++\space game\space game\Form1.h(29)' was matched
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Last edited on Jun 15, 2013 at 4:26am UTC
Jun 15, 2013 at 6:36am UTC
well, just look at your errors I would recommend checking your braces,
make sure you don't have any random things, (or maybe not random?)
also is it valid to declare your namespaces like that?
I am a bit of a beginner myself so I'm not entirely sure if this will help, but it cant hurt to check it out, right?
Jun 15, 2013 at 1:34pm UTC
Firstly, use [ code ] [ / code ] tags next time (without the spaces).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
#include <vector>
#pragma once
namespace spacegame {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
int fillrectangle;
int xcos = 160;
int bullet, bullets;
struct {
int x;
int y;
int speed;
void act(){y=speed;}
};
/// <summary>
/// Summary for Form1
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public :
Form1(void )
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
protected :
/// <summary>
/// Clean up any resources being used.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private : System::Windows::Forms::PictureBox^ starship;
private : System::Windows::Forms::PictureBox^ bullets;
protected :
protected :
private :
/// <summary>
/// Required designer variable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void )
{
System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid ));
this ->starship = (gcnew System::Windows::Forms::PictureBox());
this ->bullets = (gcnew System::Windows::Forms::PictureBox());
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this ->starship))->BeginInit();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this ->bullets))->BeginInit();
this ->SuspendLayout();
//
// starship
//
this ->starship->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"starship.Image" )));
this ->starship->Location = System::Drawing::Point(232, 385);
this ->starship->Name = L"starship" ;
this ->starship->Size = System::Drawing::Size(164, 245);
this ->starship->TabIndex = 1;
this ->starship->TabStop = false ;
this ->starship->Click += gcnew System::EventHandler(this , &Form1::starship_Click);
//
// bullets
//
this ->bullets->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"bullets.Image" )));
this ->bullets->Location = System::Drawing::Point(230, 303);
this ->bullets->Name = L"bullets" ;
this ->bullets->Size = System::Drawing::Size(165, 74);
this ->bullets->TabIndex = 2;
this ->bullets->TabStop = false ;
this ->bullets->Click += gcnew System::EventHandler(this , &Form1::bullets_Click);
//
// Form1
//
this ->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this ->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this ->ClientSize = System::Drawing::Size(632, 642);
this ->Controls->Add(this ->bullets);
this ->Controls->Add(this ->starship);
this ->Name = L"Form1" ;
this ->Text = L"Form1" ;
this ->KeyPress += gcnew System::Windows::Forms::KeyPressEventHandler(this , &Form1::keyDown);
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this ->starship))->EndInit();
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this ->bullets))->EndInit();
this ->ResumeLayout(false );
}
#pragma endregion
private : System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) {
}
private : System::Void keyDown(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) {
if ((e->KeyChar == 'd' )&&(xcos<450))
{
xcos+=5;
starship->Location = System::Drawing::Point (xcos, 399);
}
if ((e->KeyChar=='a' )&&(xcos>25))
{
xcos -=5;
starship->Location = System::Drawing::Point(xcos, 399);
}
}
private : System::Void starship_Click(System::Object^ sender, System::EventArgs^ e) {
}
private : System::Void bullets_Click(System::Object^ sender, System::EventArgs^ e) {
for (1=0:1<bullets.size();1++)
{
(G> fillrectangle (brushes::red, bullets[i].x, bullets[i]y, 10, 10);
}
for (1=0:1<bullets.size();1++)
{
Bullets[I].act();
if (bullets[i].y<o)
{
Bullets.erase(1);
}
};
}
Now,
1 2 3 4 5 6
struct {
int x;
int y;
int speed;
void act(){y=speed;}
};
You cannot declare a struct without giving it a name.
Correction:
1 2 3 4 5 6
struct OBJECT{
int x;
int y;
int speed;
void act(){y=speed;}
};
http://www.learncpp.com/cpp-tutorial/47-structs/
Next error: You lack a ')' closed paranthesis at line 142
(G> fillrectangle (brushes::red, bullets[i].x, bullets[i]y, 10, 10);
Correction:
(G> fillrectangle (brushes::red, bullets[i].x, bullets[i]y, 10, 10));
Another issue is the way in which you declared the namespace. It's quite a mess, and you also have '{' '}' curled paranthesis that don't match. Better check a tutorial for namespace declaration, and don't forget to count the paranthesis.
http://www.learncpp.com/cpp-tutorial/711-namespaces/
Last edited on Jun 15, 2013 at 1:42pm UTC
Jun 15, 2013 at 2:57pm UTC
ty jumper i've only know c++ for 5 days so i'm a beginner.