-
Notifications
You must be signed in to change notification settings - Fork 0
Форми
Marija Gjorgjieva edited this page Jul 3, 2022
·
1 revision
Почетен екран на играта. Елементи кои ги содржи:
- Play копче за почеток на нова игра, при клик се отвара нова
GameScreen
форма - Customize копче за персонализација на карактерот и промена на име на играч, при клик се отвара нова
Customize
форма - Exit копче за излез од апликацијата
- Text Label, за приказ на име на играч, highscore, изиграни и победени игри
- Text Label, за приказ на helpScreen form
GameMenu класата ги содржи следниве променливи, објекти: -
player
: објект од типPlayer
-
gameScreen
: инстанца од класаgameScreen
-
customize
: инстанца од класаCustomize
-
helpScreen
: инстанца од класаHelpScreen
public Player player;
private SoundPlayer sound = new SoundPlayer(Properties.Resources.Start);
private GameScreen gameScreen;
private Customize customize;
private HelpScreen helpScreen;
public GameMenu()
{
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
sound.PlayLooping();
player = new Player();
UpdateLabel();
}
Методи: btnPlay_Click, createGame, UpdateLabel, ShowAgain, btnCustomize, btnExit_Click, DisableMenu, EnableMenu, lblHelp_MouseEnter, lblHelp_MouseLeave, lblHelp_Click
Ги содржи сите променливи, објекти кои се потребни за една игра односно:
-
evilBlob
: објект од типEvilBlob
-
maze
: инстанца од класаMaze
-
cat
: инстанца од класаCat
-
sushi
: инстанца од класаSushi
-
gameInfo
: инстанца од класаGameInfo
-
menu
: инстанца од класаGameMenu
-
g
: инстанца од класаGрaphics
, се користи за цртање на лавиринтот -
timer
: инстанца од класаTimer
, се користи за цртање на лавиринтот -
loadedMaze
: bool променлива која е true доколку лавиринтот е нацртан -
gameOver
: инстанца од класаGameOverScreen
, форма која се прикажува кога е крај и се губи во играта -
gameWin
: инстанца од класаWinnerScreen
, форма која се прикажува кога е крај и се победува во играта -
newCat
: променлива која укажува дали е отклучена нова мачка како Achievement
//game elements
public EvilBlob evilBlob;
public Maze maze;
public Cat cat;
public Sushi sushi;
public GameInfo gameInfo;
public GameMenu menu;
//used for drawing the maze
private Graphics g;
private Timer timer = new Timer();
private bool loadedMaze = false;
//win and game over forms
private GameOverScreen gameOver;
private WinnerScreen gameWin;
public int newCat;
public GameScreen(GameMenu menu)
{
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
this.menu = menu;
DoubleBuffered = true;
newCat = menu.player.UpdatePlayed();
//these are used for maze loading
g = this.CreateGraphics();//od sega
timer.Interval = 1000;
timer.Start();
timer.Tick += new EventHandler(timerT);
}
Методи: timerT, SetupGame, OnKeyDown, GameOver, WinGame, GoBackClick, StopGame, goBack_MouseEnter, goBack_MouseLeave, CheckForCollision
Екран за пресонализација
private GameMenu menu;
public int selected { set; get; }
private bool grayUnlocked;
private bool pinkUnlocked;
private bool yellowUnlocked;
public Customize(GameMenu menu)
{
InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.menu = menu;
selected = (int)Settings.Default["CatIndex"];
grayUnlocked = (bool)Settings.Default["GrayUnlocked"];
pinkUnlocked = (bool)Settings.Default["PinkUnlocked"];
yellowUnlocked = (bool)Settings.Default["YellowUnlocked"];
menu.DisableMenu();
UpdateColors();
UpdateLabel(selected);
}