TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
albert albert
NA
524
0
Holding a score in game
Mar 29 2011 8:16 AM
HI everyone,
I have 2 classes:
-invader
-Game
for class: invader
[code]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;
namespace StarInvader2
{
[Serializable]
public class Invader
{
//InvaderType invaderType;
Form1 form1;
public Boolean hit = false;
Game game;
public Bitmap image;
public Point Location;
//public Point Location { get; private set; }
public Type InvaderType { get; private set; }
public Bitmap[][] InvaderImageBlock;
Bug bug = new Bug();
Saucer saucer = new Saucer();
Satalite satalite = new Satalite();
SpaceShip spaceShip = new SpaceShip();
Starss starss = new Starss();
//int x = GetScore(bug);
//int score = GetScore(bug);
/*
public int GetScore(Enemy enemy)
{
//int score = bug;
//int score1 = GetScore(saucer);
//int score2 = GetScore(satalite);
// int score3 = GetScore(spaceShip);
// int score4 = GetScore(starss);
//Console.WriteLine("{0} {1}", enemy.GetType(), enemy.KillerScore);
//return enemy.KillerScore;
}
*/
public Rectangle Area
{
get { return new Rectangle(Location, image.Size); }
}
public int Score { get; private set; }
public Invader(Type invaderType, Point location, int score)
{
//this.image = StarInvader2.Properties.Resources.bug1;
this.InvaderType = invaderType;
this.Location = location;
//this.Score = score;
this.image = InvaderImage(0);
//ScoreInvader(Score);
//gameScore(g);
}//End constructor.
public void Draw(Graphics g, int animationCell)
{
g.DrawImage(this.image, this.Location);
// Font drawfont = new Font("Arial", 25);
// g.DrawString(this.Score.ToString(), drawfont, Brushes.White, 1f, 1f);
}//End method
public static Bitmap ResizeImage(Image ImageToResize, int Width, int Height)
{
Bitmap bitmap = new Bitmap(ImageToResize);
using (Graphics graphics = Graphics.FromImage(bitmap))//Draw FromImage
{
graphics.DrawImage(ImageToResize, 0, 0, Width, Height);
}
return bitmap;
}//
private Bitmap InvaderImage(int animationCell)
// public void DisplayImage()
{
switch(InvaderType)
{
case Type.Bug:
switch(animationCell)
{
case 0:
return Properties.Resources.bug1;
case 1:
return Properties.Resources.bug2;
case 2:
return Properties.Resources.bug3;
case 3:
return Properties.Resources.bug4;
default:
break;
}//End swith(Bug)
break;
case Type.Saucer:
switch (animationCell)
{
case 0:
return Properties.Resources.flyingsaucer1;
case 1:
return Properties.Resources.flyingsaucer2;
case 2:
return Properties.Resources.flyingsaucer3;
case 3:
return Properties.Resources.flyingsaucer4;
default:
break;
}//End swith(Satelite)
break;
case Type.satelite:
switch (animationCell)
{
case 0:
return Properties.Resources.satellite1;
case 1:
return Properties.Resources.satellite2;
case 2:
return Properties.Resources.satellite3;
case 3:
return Properties.Resources.satellite4;
default:
break;
}//End swicth
break;
case Type.Spaceship:
switch (animationCell)
{
case 0:
return Properties.Resources.spaceship1;
case 1:
return Properties.Resources.spaceship2;
case 2:
return Properties.Resources.spaceship3;
case 3:
return Properties.Resources.spaceship4;
default:
break;
}//End switch
break;
case Type.star:
switch (animationCell)
{
case 0:
return Properties.Resources.star1;
case 1:
return Properties.Resources.star2;
case 2:
return Properties.Resources.star3;
case 3:
return Properties.Resources.star4;
default:
break;
}//End switch
break;
}//End swith(InvaderType)
return image;
}//End method
public void Move(Direction direction)
{
switch (direction)
{
case Direction.Down:
Location.Y += GameConstants.VerticalInterval;
break;
case Direction.Left:
Location.X -= GameConstants.HorizontalInterval;
break;
case Direction.Right:
Location.X += GameConstants.HorizontalInterval;
break;
case Direction.DownLeft:
Location.Y = GameConstants.VerticalInterval;
//Location.X -= GameConstants.HorizontalInterval;
break;
default: break;
}
} //End method
//}
//return image;
//}//End method
public int ScoreInvader(int Score)
{
Score = 0;
if (InvaderType == Type.Bug)
Score = GameConstants.BugScore;
else if (InvaderType == Type.satelite)
Score = GameConstants.SatelliteScore;
else if (InvaderType == Type.Saucer)
Score = GameConstants.SaucerScore;
else if (InvaderType == Type.Spaceship)
Score = GameConstants.SpaceshipScore;
else if (InvaderType == Type.star)
Score = GameConstants.StarScore;
/*
switch(InvaderType)
{
case Type.Bug:
//case Type.Bug:
Score += GameConstants.BugScore;
break;
case Type.satelite:
Score += GameConstants.SatelliteScore;
break;
case Type.Saucer:
Score += GameConstants.SaucerScore;
break;
case Type.Spaceship:
Score += GameConstants.SpaceshipScore;
break;
case Type.star:
Score += GameConstants.StarScore;
break;
default:
break;
}
*/
this.Score = Score;
return Score;
}//End method
public void UpdateInvaderImage(int animationCell)
{
image = InvaderImageBlock[(int)this.InvaderType][animationCell];
//imgae = InvaderImage[animationCell];
}
/*
public void Bitmap(int animationCell)
{
image = InvaderImage[animationCell];
}
*/
}
}
[/code]
and for class: game:
[code]
public void Draw(Graphics g, bool gameOver /*int animationCell*/ )
{
stars.Draw(g,boundaries);//Draws the stars on the form
if (!gameOver)
{
playerShip.Draw(g);//Draws the player on the form
foreach (Invader invader in invaders)
{
invader.Draw(g, animationCell);
gameScore(g, invader);
invader.ScoreInvader(score);
//invader.ScoreInvader(GameConstants.StarScore);
//MessageBox.Show("The score is:" + invader.ScoreInvader(GameConstants.StarScore));
}
foreach (Shot shot in playerShots)
shot.Draw(g);
foreach (Shot shot in invaderShots)
shot.Draw(g);
//foreach (Invader invader in invaders)
// {
// gameScore(g, invader);
// }
//invader.gameScore(g);
}
else
SetupStartScreen(g);
// form1.Invalidate();//To redraw part of the form that is "dirty".The Refresh() method is: Invalidate() + Update().
}//End method
public void gameScore(Graphics g, Invader invader)
{
Font drawfont = new Font("Arial", 25);
g.DrawString(invader.Score.ToString(), drawfont, Brushes.White, 60f, 35f);
invader.ScoreInvader(score);
//g.DrawString(graphicsBuffer, "SCORE: " + Convert.ToString(score), 10, 10, 16, FontStyle.Bold, Brushes.White);
// g.DrawString(invader.Score)
}
[code]
and Type:
[code]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace StarInvader2
{
public enum Type
{
Bug, //= 0,
Saucer, //= 1,
satelite, //= 2,
Spaceship,// = 3,
star //= 4
}
}
[/code]
But the score doesnt change.
Reply
Answers (
36
)
display xml item in a form
How to turn image on itself so only edge is seen?