Browse Source
new file: compile.cmd new file: game.cs new file: game.exe new file: gameCore.cs new file: gameModel.cs new file: share.jpgmaster
George
2 years ago
commit
e66c6a1c0e
6 changed files with 247 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||||||
|
@echo off |
||||||
|
set CSC=C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe |
||||||
|
|
||||||
|
%CSC% game.cs gameCore.cs gameModel.cs |
||||||
|
|
||||||
|
pause |
@ -0,0 +1,78 @@ |
|||||||
|
using System; |
||||||
|
using TEC.Model; |
||||||
|
using System.Windows.Forms; |
||||||
|
|
||||||
|
namespace TEC |
||||||
|
{ |
||||||
|
public class Program |
||||||
|
{ |
||||||
|
public static void Main() |
||||||
|
{ |
||||||
|
Player[] players = new Player[2]; |
||||||
|
|
||||||
|
Human player1 = new Human(); |
||||||
|
Alien player2 = new Alien(); |
||||||
|
|
||||||
|
player1.SetPosition(3, 3); |
||||||
|
player2.SetPosition(55, 3); |
||||||
|
|
||||||
|
players[0] = player1; |
||||||
|
players[1] = player2; |
||||||
|
|
||||||
|
Game g = new Game(players); |
||||||
|
g.eventPlayersOnSamePoint += OnRaise_eventPlayersOnSamePoint; |
||||||
|
|
||||||
|
g.PrintField(); |
||||||
|
|
||||||
|
ConsoleKeyInfo key; |
||||||
|
bool isReadingKeys = true; |
||||||
|
while (isReadingKeys) |
||||||
|
{ |
||||||
|
key = Console.ReadKey(); |
||||||
|
|
||||||
|
if (key.Key == ConsoleKey.Q) |
||||||
|
{ |
||||||
|
isReadingKeys = false; |
||||||
|
} |
||||||
|
|
||||||
|
if (key.Key == ConsoleKey.RightArrow) |
||||||
|
{ |
||||||
|
g.MoveMainPlayer(Game.Movement.Forward); |
||||||
|
} |
||||||
|
if (key.Key == ConsoleKey.LeftArrow) |
||||||
|
{ |
||||||
|
g.MoveMainPlayer(Game.Movement.Backward); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
static void OnRaise_eventPlayersOnSamePoint() |
||||||
|
{ |
||||||
|
//Console.WriteLine("BOOM"); |
||||||
|
Console.Beep(); |
||||||
|
|
||||||
|
MessageBox.Show( |
||||||
|
"BOOM", |
||||||
|
"Что-то случилось", |
||||||
|
System.Windows.Forms.MessageBoxButtons.YesNo, |
||||||
|
System.Windows.Forms.MessageBoxIcon.Warning, |
||||||
|
System.Windows.Forms.MessageBoxDefaultButton.Button2); |
||||||
|
|
||||||
|
System.Windows.Forms.Form frm = new System.Windows.Forms.Form(); |
||||||
|
frm.FormBorderStyle = FormBorderStyle.FixedDialog; |
||||||
|
frm.MaximizeBox = false; |
||||||
|
frm.MinimizeBox = false; |
||||||
|
frm.StartPosition = FormStartPosition.CenterScreen; |
||||||
|
|
||||||
|
System.Windows.Forms.Button btn1 = new System.Windows.Forms.Button(); |
||||||
|
btn1.Width = 80; |
||||||
|
btn1.Height = 30; |
||||||
|
btn1.Location = new System.Drawing.Point(10, 10); |
||||||
|
btn1.Text = "test"; |
||||||
|
|
||||||
|
frm.Controls.Add(btn1); |
||||||
|
|
||||||
|
frm.ShowDialog(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Binary file not shown.
@ -0,0 +1,105 @@ |
|||||||
|
using System; |
||||||
|
using TEC.Model; |
||||||
|
|
||||||
|
namespace TEC |
||||||
|
{ |
||||||
|
public class Game |
||||||
|
{ |
||||||
|
private Player[] players; |
||||||
|
|
||||||
|
public Game(Player[] inputPlayers) |
||||||
|
{ |
||||||
|
this.players = inputPlayers; |
||||||
|
} |
||||||
|
|
||||||
|
public enum Movement |
||||||
|
{ |
||||||
|
Up = 1, |
||||||
|
Down = 2, |
||||||
|
Forward = 3, |
||||||
|
Backward = 4 |
||||||
|
} |
||||||
|
|
||||||
|
public void MoveMainPlayer(Movement move) |
||||||
|
{ |
||||||
|
if (this.players.Length <= 0) { return; } |
||||||
|
|
||||||
|
int lastPosX = this.players[0].GetPositionX(); |
||||||
|
int lastPosY = this.players[0].GetPositionY(); |
||||||
|
|
||||||
|
if (move == Movement.Forward) |
||||||
|
{ |
||||||
|
this.players[0].SetPosition(lastPosX + 1, lastPosY); |
||||||
|
} |
||||||
|
|
||||||
|
if (move == Movement.Backward) |
||||||
|
{ |
||||||
|
this.players[0].SetPosition(lastPosX - 1, lastPosY); |
||||||
|
} |
||||||
|
|
||||||
|
CheckConditions(); |
||||||
|
PrintField(); |
||||||
|
} |
||||||
|
|
||||||
|
public delegate void eventPlayersOnSamePointDelegate(); |
||||||
|
public event eventPlayersOnSamePointDelegate eventPlayersOnSamePoint; |
||||||
|
|
||||||
|
public void CheckConditions() |
||||||
|
{ |
||||||
|
if (this.players.Length > 1) |
||||||
|
{ |
||||||
|
if (this.players[0].GetPositionX() == this.players[1].GetPositionX() && |
||||||
|
this.players[0].GetPositionY() == this.players[1].GetPositionY() ) |
||||||
|
{ |
||||||
|
if (this.eventPlayersOnSamePoint != null) |
||||||
|
{ |
||||||
|
this.eventPlayersOnSamePoint(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public void PrintField() |
||||||
|
{ |
||||||
|
Console.Clear(); |
||||||
|
|
||||||
|
string[] lines = new string[20]; |
||||||
|
|
||||||
|
for (int i = 0; i < 20; i++) |
||||||
|
{ |
||||||
|
string line = string.Empty; |
||||||
|
|
||||||
|
for (int j = 0; j < 75; j++) |
||||||
|
{ |
||||||
|
string c = "."; |
||||||
|
|
||||||
|
foreach(Player player in players) |
||||||
|
{ |
||||||
|
if (player.GetPositionX() == j && player.GetPositionY() == i) |
||||||
|
{ |
||||||
|
c = "#"; |
||||||
|
if (player is Alien) |
||||||
|
{ |
||||||
|
c = "@"; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
line = line + c; |
||||||
|
} |
||||||
|
|
||||||
|
lines[i] = line; |
||||||
|
} |
||||||
|
|
||||||
|
for (int i = lines.Length - 1; i >= 0; i--) |
||||||
|
{ |
||||||
|
Console.WriteLine(lines[i]); |
||||||
|
} |
||||||
|
|
||||||
|
for(int p = 0; p < players.Length; p++) |
||||||
|
{ |
||||||
|
Console.WriteLine("Игрок №" + (p+1) + " - " + players[p].name); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,58 @@ |
|||||||
|
using System; |
||||||
|
|
||||||
|
namespace TEC.Model |
||||||
|
{ |
||||||
|
public class Human : Player |
||||||
|
{ |
||||||
|
public Human() |
||||||
|
{ |
||||||
|
base.name = "Человек"; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class Alien : Player |
||||||
|
{ |
||||||
|
public Alien() |
||||||
|
{ |
||||||
|
base.name = "Пришелец"; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class Player : Ability |
||||||
|
{ |
||||||
|
public string name; |
||||||
|
int health; |
||||||
|
int score; |
||||||
|
|
||||||
|
int positionX; |
||||||
|
int positionY; |
||||||
|
|
||||||
|
public int GetPositionX() { return positionX; } |
||||||
|
public int GetPositionY() { return positionY; } |
||||||
|
|
||||||
|
public void SetPosition(int x, int y) |
||||||
|
{ |
||||||
|
positionX = x; |
||||||
|
positionY = y; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public class Ability |
||||||
|
{ |
||||||
|
bool canMoveForward; |
||||||
|
bool canMoveBackward; |
||||||
|
bool canFly; |
||||||
|
|
||||||
|
public Ability() |
||||||
|
{ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public Ability(bool canMoveForward, bool canMoveBackward, bool canFly) |
||||||
|
{ |
||||||
|
this.canMoveForward = canMoveForward; |
||||||
|
this.canMoveBackward = canMoveBackward; |
||||||
|
this.canFly = canFly; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 16 KiB |
Loading…
Reference in new issue