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.jpg
master
George 1 year ago
commit
e66c6a1c0e
  1. 6
      compile.cmd
  2. 78
      game.cs
  3. BIN
      game.exe
  4. 105
      gameCore.cs
  5. 58
      gameModel.cs
  6. BIN
      share.jpg

6
compile.cmd

@ -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

78
game.cs

@ -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();
}
}
}

BIN
game.exe

Binary file not shown.

105
gameCore.cs

@ -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);
}
}
}
}

58
gameModel.cs

@ -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;
}
}
}

BIN
share.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Loading…
Cancel
Save