Compare commits

..

10 commits

Author SHA1 Message Date
Andrey
643ad9d28e
Update README.md 2022-05-10 10:39:55 +03:00
Andrey
a14a618a22
Update README.md 2022-05-09 17:39:22 +03:00
74e54e1d38 v.1.3 2022-04-24 11:24:27 +03:00
d0af8bdabc v.1.1 2022-04-24 10:05:54 +03:00
a3705bffc2 v.1.0 2022-04-23 23:27:37 +03:00
3868c88ae1 v.0.9 2022-04-23 22:49:09 +03:00
d995c5f2b7 v.0.8 2022-04-23 22:26:39 +03:00
e607085e72 v.0.7 Server WORKS!!!!!!! 2022-04-23 20:07:14 +03:00
632b6b154e v.0.6 2022-04-23 18:12:13 +03:00
480b3d44ca v.0.5 2022-04-23 17:57:11 +03:00
90 changed files with 592 additions and 68 deletions

Binary file not shown.

Binary file not shown.

View file

@ -14,7 +14,7 @@ namespace Bowling.Classes
public string Name { get; set; }
[JsonProperty("score")]
public List<int> Score { get; set; }
public List<int> Score { get; set; } = new List<int>();
public string Serialize()

View file

@ -44,6 +44,7 @@
this.NameTB.Name = "NameTB";
this.NameTB.Size = new System.Drawing.Size(224, 27);
this.NameTB.TabIndex = 0;
this.NameTB.Text = "test";
//
// IPTB
//
@ -51,6 +52,7 @@
this.IPTB.Name = "IPTB";
this.IPTB.Size = new System.Drawing.Size(224, 27);
this.IPTB.TabIndex = 1;
this.IPTB.Text = "127.0.0.1";
//
// PortTB
//
@ -58,6 +60,7 @@
this.PortTB.Name = "PortTB";
this.PortTB.Size = new System.Drawing.Size(224, 27);
this.PortTB.TabIndex = 2;
this.PortTB.Text = "7632";
//
// label1
//
@ -121,6 +124,7 @@
this.Controls.Add(this.NameTB);
this.Name = "Connect";
this.Text = "Launcher";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Connect_FormClosing);
this.ResumeLayout(false);
this.PerformLayout();

View file

@ -39,5 +39,9 @@ namespace Bowling
private void ExitBtn_Click(object sender, EventArgs e)
{
}
private void Connect_FormClosing(object sender, FormClosingEventArgs e)
{
}
}
}

View file

@ -63,6 +63,18 @@
/processorParam:TextureFormat=Color
/build:keggle.png
#begin line.png
/importer:TextureImporter
/processor:TextureProcessor
/processorParam:ColorKeyColor=255,0,255,255
/processorParam:ColorKeyEnabled=True
/processorParam:GenerateMipmaps=False
/processorParam:PremultiplyAlpha=True
/processorParam:ResizeToPowerOfTwo=False
/processorParam:MakeSquare=False
/processorParam:TextureFormat=Color
/build:line.png
#begin logo.png
/importer:TextureImporter
/processor:TextureProcessor

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 980 B

BIN
Bowling/Content/line.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View file

@ -9,6 +9,7 @@
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont.spritefont</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont2.spritefont</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/keggle.png</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/line.png</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/logo.png</File>
</SourceFiles>
<DestFiles>
@ -18,5 +19,6 @@
<File xsi:nil="true" />
<File xsi:nil="true" />
<File xsi:nil="true" />
<File xsi:nil="true" />
</DestFiles>
</SourceFileCollection>

View file

@ -1,7 +1,2 @@
Source File,Dest File,Processor Type,Content Type,Source File Size,Dest File Size,Build Seconds
"C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/arrow.png","C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/arrow.xnb","TextureProcessor","Texture2DContent",365,2725,0,1815462
"C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/ball.png","C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/ball.xnb","TextureProcessor","Texture2DContent",652,10085,0,0060204
"C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont.spritefont","C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/gameFont.xnb","FontDescriptionProcessor","SpriteFontContent",2069,70690,0,1249094
"C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont2.spritefont","C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/gameFont2.xnb","FontDescriptionProcessor","SpriteFontContent",2069,136226,0,0442164
"C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/keggle.png","C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/keggle.xnb","TextureProcessor","Texture2DContent",276,4181,0,0052916
"C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/logo.png","C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/logo.xnb","TextureProcessor","Texture2DContent",28661,504373,0,0264658
"C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/keggle.png","C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/keggle.xnb","TextureProcessor","Texture2DContent",980,6485,0,2016653

View file

@ -9,6 +9,7 @@
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont.spritefont</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont2.spritefont</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/keggle.png</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/line.png</File>
<File>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/logo.png</File>
</SourceFiles>
<DestFiles>
@ -18,5 +19,6 @@
<File xsi:nil="true" />
<File xsi:nil="true" />
<File xsi:nil="true" />
<File xsi:nil="true" />
</DestFiles>
</SourceFileCollection>

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/keggle.png</SourceFile>
<SourceTime>2022-04-23T00:12:43.2915834+03:00</SourceTime>
<SourceTime>2022-04-23T21:52:30+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/Content/keggle.xnb</DestFile>
<DestTime>2022-04-23T14:37:54.0070101+03:00</DestTime>
<DestTime>2022-04-23T23:52:18.2788162+03:00</DestTime>
<Importer>TextureImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>TextureProcessor</Processor>

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/line.png</SourceFile>
<SourceTime>2022-04-23T21:42:16+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/Content/line.xnb</DestFile>
<DestTime>2022-04-23T23:12:17.00168+03:00</DestTime>
<Importer>TextureImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>TextureProcessor</Processor>
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
<Parameters>
<Key>ColorKeyColor</Key>
<Value>255,0,255,255</Value>
</Parameters>
<Parameters>
<Key>ColorKeyEnabled</Key>
<Value>True</Value>
</Parameters>
<Parameters>
<Key>GenerateMipmaps</Key>
<Value>False</Value>
</Parameters>
<Parameters>
<Key>PremultiplyAlpha</Key>
<Value>True</Value>
</Parameters>
<Parameters>
<Key>ResizeToPowerOfTwo</Key>
<Value>False</Value>
</Parameters>
<Parameters>
<Key>MakeSquare</Key>
<Value>False</Value>
</Parameters>
<Parameters>
<Key>TextureFormat</Key>
<Value>Color</Value>
</Parameters>
<Dependencies />
<BuildAsset />
<BuildOutput />
</PipelineBuildEvent>

View file

@ -3,7 +3,7 @@
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/arrow.png</SourceFile>
<SourceTime>2022-04-23T00:23:58+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/arrow.xnb</DestFile>
<DestTime>2022-04-23T16:59:29.6382629+03:00</DestTime>
<DestTime>2022-04-23T23:12:15.2356036+03:00</DestTime>
<Importer>TextureImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>TextureProcessor</Processor>

View file

@ -3,7 +3,7 @@
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/ball.png</SourceFile>
<SourceTime>2021-05-04T12:20:30+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/ball.xnb</DestFile>
<DestTime>2022-04-23T16:59:29.6552207+03:00</DestTime>
<DestTime>2022-04-23T23:12:15.2505626+03:00</DestTime>
<Importer>TextureImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>TextureProcessor</Processor>

View file

@ -3,7 +3,7 @@
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont.spritefont</SourceFile>
<SourceTime>2011-04-01T09:42:38+04:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/gameFont.xnb</DestFile>
<DestTime>2022-04-23T16:59:29.7826428+03:00</DestTime>
<DestTime>2022-04-23T23:12:15.4045547+03:00</DestTime>
<Importer>FontDescriptionImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>FontDescriptionProcessor</Processor>

View file

@ -3,7 +3,7 @@
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/gameFont2.spritefont</SourceFile>
<SourceTime>2022-04-23T14:47:06+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/gameFont2.xnb</DestFile>
<DestTime>2022-04-23T16:59:29.8289166+03:00</DestTime>
<DestTime>2022-04-23T23:12:15.4534544+03:00</DestTime>
<Importer>FontDescriptionImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>FontDescriptionProcessor</Processor>

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/keggle.png</SourceFile>
<SourceTime>2022-04-23T00:12:43.2915834+03:00</SourceTime>
<SourceTime>2022-04-23T21:52:30+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/keggle.xnb</DestFile>
<DestTime>2022-04-23T16:59:29.8349009+03:00</DestTime>
<DestTime>2022-04-23T23:34:45.4964315+03:00</DestTime>
<Importer>TextureImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>TextureProcessor</Processor>

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<PipelineBuildEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/line.png</SourceFile>
<SourceTime>2022-04-23T21:42:16+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/line.xnb</DestFile>
<DestTime>2022-04-23T23:12:15.4773594+03:00</DestTime>
<Importer>TextureImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>TextureProcessor</Processor>
<ProcessorTime>2020-08-10T16:17:54+03:00</ProcessorTime>
<Parameters>
<Key>ColorKeyColor</Key>
<Value>255,0,255,255</Value>
</Parameters>
<Parameters>
<Key>ColorKeyEnabled</Key>
<Value>True</Value>
</Parameters>
<Parameters>
<Key>GenerateMipmaps</Key>
<Value>False</Value>
</Parameters>
<Parameters>
<Key>PremultiplyAlpha</Key>
<Value>True</Value>
</Parameters>
<Parameters>
<Key>ResizeToPowerOfTwo</Key>
<Value>False</Value>
</Parameters>
<Parameters>
<Key>MakeSquare</Key>
<Value>False</Value>
</Parameters>
<Parameters>
<Key>TextureFormat</Key>
<Value>Color</Value>
</Parameters>
<Dependencies />
<BuildAsset />
<BuildOutput />
</PipelineBuildEvent>

View file

@ -3,7 +3,7 @@
<SourceFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/logo.png</SourceFile>
<SourceTime>2022-04-23T11:30:44.0139383+03:00</SourceTime>
<DestFile>C:/Users/Semejkin_AV/Documents/Github_repos/ProgtimeHack2022_Bowling/Bowling/Content/bin/Windows/logo.xnb</DestFile>
<DestTime>2022-04-23T16:59:29.8628251+03:00</DestTime>
<DestTime>2022-04-23T23:12:15.5052868+03:00</DestTime>
<Importer>TextureImporter</Importer>
<ImporterTime>2020-08-10T16:17:54+03:00</ImporterTime>
<Processor>TextureProcessor</Processor>

View file

@ -7,15 +7,18 @@ using System.Collections.Generic;
using System.Windows.Forms;
using NetLib;
using System.Threading;
using System.Text;
using System;
namespace Bowling
{
public enum GameState
{
Menu, Game, Exit, Connect_to_server, EndGame
Menu, Game, Exit, Connect_to_server, PauseGame, EndGame
}
public class Game1 : Game
{
private Color[] colors = { Color.White/*, Color.Red, Color.Black, Color.DeepSkyBlue, Color.DeepPink*/ };
private GraphicsDeviceManager _graphics;
private SpriteBatch _spriteBatch;
private static int gutter_height;
@ -33,8 +36,9 @@ namespace Bowling
private Vector2 ballStartPosition;
private List<Classes.UI.Label> tableLabels;
private int intermediateScore;
private Classes.UI.Label lblCountP1;
private Classes.UI.Label lblCountP2;
private int counter;
private Texture2D line_texture;
private Random random;
private List<Pin> pins = new List<Pin>();
@ -52,6 +56,7 @@ namespace Bowling
_graphics.PreferredBackBufferHeight = 1000;
Content.RootDirectory = "Content";
IsMouseVisible = true;
Window.Title = "Bowling";
}
protected override void Initialize()
@ -61,7 +66,8 @@ namespace Bowling
gutter_bottom_y = _graphics.PreferredBackBufferHeight - 100;
gutter_height = 50;
ballStartPosition = new Vector2(10, gutter_top_y + (gutter_bottom_y - gutter_top_y) / 2 - 25);
ball = new Ball(ballStartPosition, Vector2.Zero, Color.Blue, Gutter_top_y, gutter_bottom_y, gutter_height, _graphics.PreferredBackBufferWidth);
random = new Random();
ball = new Ball(ballStartPosition, Vector2.Zero, Color.White, Gutter_top_y, gutter_bottom_y, gutter_height, _graphics.PreferredBackBufferWidth);
menu = new Menu();
player2 = new Player();
rowWidth = 80;
@ -70,6 +76,7 @@ namespace Bowling
tableMarginLeft = 20;
tableLabels = new List<Classes.UI.Label>();
intermediateScore = 0;
counter = 0;
base.Initialize();
}
@ -86,7 +93,7 @@ namespace Bowling
{
for (int j = 0; j < count; j++)
{
pins.Add(new Pin(keggle_texture, new Vector2(_graphics.PreferredBackBufferWidth - 150 * modifier + i * keggle_texture.Width * modifier, j * keggle_texture.Height * modifier + gutter_top_y - keggle_texture.Height * count / 2 * modifier + keggle_texture.Height * 6 + 30)));
pins.Add(new Pin(keggle_texture, new Vector2(_graphics.PreferredBackBufferWidth - 150 * modifier + i * keggle_texture.Width * modifier, j * keggle_texture.Height * modifier + gutter_top_y - keggle_texture.Height * count / 2 * modifier + keggle_texture.Height * 5 + 40)));
}
count += 1;
}
@ -94,6 +101,7 @@ namespace Bowling
whiteRectangle = new Texture2D(GraphicsDevice, 1, 1);
whiteRectangle.SetData(new[] { Color.White });
menu.LoadContent(Content);
line_texture = Content.Load<Texture2D>("line");
}
protected override void Update(GameTime gameTime)
@ -115,20 +123,48 @@ namespace Bowling
if (connect.ShowDialog() == DialogResult.OK)
{
gameState = GameState.Menu;
gameState = GameState.Menu;
player1 = new Player() { Name = connect.Name, Score = new List<int>() };
player1 = new Player() { Name = connect.name, Score = new List<int>() };
NetLib.NetLib.IP = connect.IP;
NetLib.NetLib.port = connect.Port;
NetLib.NetLib.Connect();
SendPlayerData(player1);
player2.Deserialize(NetLib.NetLib.Receive());
Thread thread = new Thread(() =>
{
player2.Deserialize(NetLib.NetLib.Receive());
while (true)
{
string msg = NetLib.NetLib.Receive();
if (msg == "11")
{
ResetAll();
}
else if (msg == "12")
{
Exit();
}
else
{
player2.Deserialize(msg);
}
}
});
thread.Start();
}
else { gameState = GameState.Exit; }
break;
case GameState.EndGame:
counter++;
if (counter >= 300)
{
gameState = GameState.Menu;
counter = 0;
NetLib.NetLib.Send("11");
}
break;
case GameState.PauseGame:
if (player2.Score.Count == 21 || (player2.Score.Count == 20 && player2.Score[18] + player2.Score[19] != 10)) gameState = GameState.EndGame;
if (tableLabels.Count >= 77) gameState = GameState.EndGame;
break;
}
base.Update(gameTime);
}
@ -143,8 +179,9 @@ namespace Bowling
{
case GameState.Game:
DrawGrid();
_spriteBatch.Draw(whiteRectangle, new Rectangle(0, gutter_top_y - gutter_height, 10000, gutter_height), Color.Aquamarine);
_spriteBatch.Draw(whiteRectangle, new Rectangle(0, gutter_bottom_y, 10000, gutter_height), Color.Aquamarine);
_spriteBatch.Draw(whiteRectangle, new Rectangle(0, gutter_top_y - gutter_height, 10000, gutter_height), Color.Gray);
_spriteBatch.Draw(whiteRectangle, new Rectangle(0, gutter_bottom_y, 10000, gutter_height), Color.Gray);
_spriteBatch.Draw(line_texture, new Rectangle(0, gutter_top_y, _graphics.PreferredBackBufferWidth, gutter_bottom_y - gutter_top_y), Color.White);
for (int i = 0; i < pins.Count; i++)
{
pins[i].Draw(_spriteBatch);
@ -158,6 +195,20 @@ namespace Bowling
case GameState.Menu:
menu.Draw(_spriteBatch);
break;
case GameState.EndGame:
DrawGrid();
foreach (Classes.UI.Label lbl in tableLabels)
{
lbl.Draw(_spriteBatch);
}
break;
case GameState.PauseGame:
DrawGrid();
foreach (Classes.UI.Label lbl in tableLabels)
{
lbl.Draw(_spriteBatch);
}
break;
}
base.Draw(gameTime);
@ -177,7 +228,7 @@ namespace Bowling
{
player1.Score.Add(intermediateScore);
intermediateScore = 0;
ball = new Ball(ballStartPosition, Vector2.Zero, Color.Blue, Gutter_top_y, gutter_bottom_y, gutter_height, _graphics.PreferredBackBufferWidth);
ball = new Ball(ballStartPosition, Vector2.Zero, Color.White, Gutter_top_y, gutter_bottom_y, gutter_height, _graphics.PreferredBackBufferWidth);
ball.LoadContent(Content);
if (player1.Score.Count <= 20 && player1.Score.Count % 2 == 0)
{
@ -187,9 +238,10 @@ namespace Bowling
{
if (player1.Score[18] + player1.Score[19] == 10) NewMove();
}
if (player1.Score.Count == 20 && player1.Score[18] + player1.Score[19] != 10)
if (player1.Score.Count == 21 || (player1.Score.Count == 20 && player1.Score[18] + player1.Score[19] != 10))
{
gameState = GameState.EndGame;
gameState = GameState.PauseGame;
if (player2.Score.Count == 21 || (player2.Score.Count == 20 && player2.Score[18] + player2.Score[19] != 10)) gameState = GameState.EndGame;
}
SendPlayerData(player1);
}
@ -198,6 +250,9 @@ namespace Bowling
private void DrawGrid()
{
tableLabels.Clear();
_spriteBatch.Draw(whiteRectangle, new Rectangle(tableMarginLeft, tableMarginTop, rowWidth * 13, rowHeight * 7), Color.RoyalBlue);
_spriteBatch.Draw(whiteRectangle, new Rectangle(tableMarginLeft + rowWidth, tableMarginTop + rowHeight, rowWidth * 12, rowHeight * 6),
Color.SkyBlue);
int currentRow = 0;
int currentColumn = 0;
for (int i = 0; i < 6; i++)
@ -215,11 +270,11 @@ namespace Bowling
for (int i = 1; i < 11; i++)
{
int shift = (i == 10) ? tableMarginLeft - 5 + rowWidth * i + rowWidth : tableMarginLeft - 5 + rowWidth * i + rowWidth / 2;
Classes.UI.Label lbl = new Classes.UI.Label(i.ToString(), new Vector2(shift, tableMarginTop + 2), Color.Red);
Classes.UI.Label lbl = new Classes.UI.Label(i.ToString(), new Vector2(shift, tableMarginTop + 2), Color.White);
lbl.LoadContent(Content);
tableLabels.Add(lbl);
}
Classes.UI.Label label = new Classes.UI.Label("TTL", new Vector2(tableMarginLeft + currentColumn - 2 * rowWidth + 10, tableMarginTop + 5), Color.Red);
Classes.UI.Label label = new Classes.UI.Label("TTL", new Vector2(tableMarginLeft + currentColumn - 2 * rowWidth + 10, tableMarginTop + 5), Color.MonoGameOrange);
label.LoadContent(Content);
tableLabels.Add(label);
for (int i = 0; i < player1.Score.Count; i++)
@ -227,15 +282,15 @@ namespace Bowling
string score = (player1.Score[i] == 0) ? "-" : player1.Score[i].ToString();
if (i != 0 && i % 2 == 1) score = (player1.Score[i] + player1.Score[i - 1] == 10) ? "/" : score;
Classes.UI.Label lbl = new Classes.UI.Label(score, new Vector2(tableMarginLeft + rowWidth + i * (rowWidth / 2) + 10, tableMarginTop + rowHeight + 5),
Color.Fuchsia);
Color.White);
lbl.LoadContent(Content);
tableLabels.Add(lbl);
}
for (int i = 0; i < player1.Score.Count / 2; i++)
{
int score = player1.Score[i * 2] + player1.Score[i * 2 + 1];
Classes.UI.Label lbl = new Classes.UI.Label(score.ToString(), new Vector2(tableMarginLeft + rowWidth + i * rowWidth + 30, tableMarginTop + 2 * rowHeight + 25)
, Color.Fuchsia);
Classes.UI.Label lbl = new Classes.UI.Label(score.ToString(), new Vector2(tableMarginLeft + rowWidth + i * rowWidth + 30, tableMarginTop + 2 * rowHeight + 25),
Color.White);
lbl.FontName = "gameFont2";
lbl.LoadContent(Content);
tableLabels.Add(lbl);
@ -247,8 +302,9 @@ namespace Bowling
if (i % 2 == 0) score = 0;
else if (i == 1) score = Sum(player1.Score);
else score = Sum(player2.Score);
Classes.UI.Label lbl = new Classes.UI.Label(score.ToString(), new Vector2(tableMarginLeft + rowWidth * 12 + rowWidth / 2, tableMarginTop + countRows + rowHeight + 5),
Color.Fuchsia);
Classes.UI.Label lbl = new Classes.UI.Label(score.ToString(), new Vector2(tableMarginLeft + rowWidth * 12 + rowWidth / 2 - 15, tableMarginTop + countRows + rowHeight + ((i % 2 == 1) ? 15 : 5)),
Color.White);
if (i % 2 == 1) lbl.FontName = "gameFont2";
lbl.LoadContent(Content);
tableLabels.Add(lbl);
countRows += (i != 0 && i % 2 == 1) ? 2 * rowHeight : rowHeight;
@ -258,19 +314,28 @@ namespace Bowling
string score = (player2.Score[i] == 0) ? "-" : player2.Score[i].ToString();
if (i != 0 && i % 2 == 1) score = (player2.Score[i] + player2.Score[i - 1] == 10) ? "/" : score;
Classes.UI.Label lbl = new Classes.UI.Label(score, new Vector2(tableMarginLeft + rowWidth + i * (rowWidth / 2) + 10, tableMarginTop + rowHeight * 4 + 5),
Color.Fuchsia);
Color.White);
lbl.LoadContent(Content);
tableLabels.Add(lbl);
}
for (int i = 0; i < player2.Score.Count / 2; i++)
{
int score = player2.Score[i * 2] + player2.Score[i * 2 + 1];
Classes.UI.Label lbl = new Classes.UI.Label(score.ToString(), new Vector2(tableMarginLeft + rowWidth + i * rowWidth + 30, tableMarginTop + 5 * rowHeight + 25)
, Color.Fuchsia);
Classes.UI.Label lbl = new Classes.UI.Label(score.ToString(), new Vector2(tableMarginLeft + rowWidth + i * rowWidth + 30, tableMarginTop + 5 * rowHeight + 25),
Color.White);
lbl.FontName = "gameFont2";
lbl.LoadContent(Content);
tableLabels.Add(lbl);
}
Classes.UI.Label label_p1_name = new Classes.UI.Label(player1.Name[0].ToString(), new Vector2(tableMarginLeft + 5, tableMarginTop + rowHeight),
Color.White);
label_p1_name.LoadContent(Content);
tableLabels.Add(label_p1_name);
Classes.UI.Label label_p2_name = new Classes.UI.Label(player2.Name[0].ToString(), new Vector2(tableMarginLeft + 5, tableMarginTop + 4 * rowHeight),
Color.White);
label_p2_name.LoadContent(Content);
tableLabels.Add(label_p2_name);
}
private void NewMove()
@ -282,9 +347,9 @@ namespace Bowling
private int Sum(List<int> score)
{
int sum = 0;
foreach (int a in score)
for (int i = 0; i < score.Count; i++)
{
sum += a;
sum += score[i];
}
return sum;
}
@ -293,5 +358,23 @@ namespace Bowling
{
NetLib.NetLib.Send(player.Serialize());
}
private void ResetAll()
{
ball = new Ball(ballStartPosition, Vector2.Zero, Color.White, Gutter_top_y, gutter_bottom_y, gutter_height, _graphics.PreferredBackBufferWidth);
menu = new Menu();
player1.Score.Clear();
player2.Score.Clear();
rowWidth = 80;
rowHeight = 50;
tableMarginTop = 20;
tableMarginLeft = 20;
tableLabels = new List<Classes.UI.Label>();
intermediateScore = 0;
counter = 0;
gameState = GameState.Menu;
pins.Clear();
LoadContent();
}
}
}

Binary file not shown.

Binary file not shown.

View file

@ -93,3 +93,4 @@ C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Bowling\obj
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Bowling\obj\Debug\netcoreapp3.1\Bowling.pdb
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Bowling\obj\Debug\netcoreapp3.1\Bowling.genruntimeconfig.cache
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Bowling\bin\Debug\netcoreapp3.1\Content\gameFont2.xnb
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Bowling\bin\Debug\netcoreapp3.1\Content\line.xnb

View file

@ -15,7 +15,7 @@ namespace NetLib
public static void Connect()
{
IPAddress ip = IPAddress.Parse(IP);
IPAddress ip = Dns.GetHostAddresses(IP)[0];
IPEndPoint ipe = new IPEndPoint(ip, port);
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(ipe);

View file

@ -15,7 +15,7 @@ namespace Bowling_Server.Classes
public List<int> Score { get; set; }
[NonSerialized]
public Socket socket;
public Socket Socket;
public string Serialize()

View file

@ -1,11 +1,10 @@
using System;
using Bowling_Server.Classes;
using System;
using System.Collections.Generic;
using Bowling_Server.Classes;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using NetLib;
using System.Text;
using System.Threading;
namespace Bowling_Server
{
@ -13,7 +12,6 @@ namespace Bowling_Server
{
static List<Player> players = new List<Player>();
private static Socket socket;
public static Random random;
static void Main(string[] args)
{
@ -34,7 +32,7 @@ namespace Bowling_Server
}
StartGame(group);
}
Thread.Sleep(1000);
Thread.Sleep(500);
}
});
matchmakingThread.Start();
@ -49,7 +47,7 @@ namespace Bowling_Server
string json = Encoding.ASCII.GetString(data, 0, recv);
Player player = new Player();
player.Deserialize(json);
player.socket = client;
player.Socket = client;
players.Add(player);
});
thread.Start();
@ -62,13 +60,17 @@ namespace Bowling_Server
IPEndPoint ipe = new IPEndPoint(ip, port);
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(ipe);
socket.Listen(2);
socket.Listen(100);
}
public static void Send(string message, Socket client)
{
try
{
byte[] data = Encoding.ASCII.GetBytes(message);
client.Send(data);
}
catch { }
}
static void CastOpponents(List<Player> group)
{
foreach (Player player in group)
@ -77,7 +79,7 @@ namespace Bowling_Server
{
if (opponent != player)
{
Send(opponent.Serialize(), player.socket);
Send(opponent.Serialize(), player.Socket);
}
}
}
@ -85,6 +87,7 @@ namespace Bowling_Server
static void StartGame(List<Player> group)
{
Console.WriteLine("OK");
CastOpponents(group);
foreach (var player in group)
@ -92,15 +95,53 @@ namespace Bowling_Server
Thread thread = new Thread(() =>
{
byte[] data = new byte[1024];
player.Socket.ReceiveTimeout = 60000;
try
{
while (true)
{
int dataLength = player.socket.Receive(data);
int dataLength = player.Socket.Receive(data);
string json = Encoding.ASCII.GetString(data, 0, dataLength);
if (json == "11")
{
foreach (var player in group)
{
player.Socket.Send(Encoding.ASCII.GetBytes("11"));
player.Score = new List<int>();
players.Add(player);
}
break;
}
player.Deserialize(json);
CastOpponents(group);
}
}
);
catch
{
try
{
Console.WriteLine("Player disconnected");
if (group.IndexOf(player) == 1)
{
group[1].Socket.Send(Encoding.ASCII.GetBytes("12"));
group[0].Socket.Send(Encoding.ASCII.GetBytes("11"));
group[0].Score = new List<int>();
players.Add(group[0]);
}
else
{
group[0].Socket.Send(Encoding.ASCII.GetBytes("12"));
group[1].Socket.Send(Encoding.ASCII.GetBytes("11"));
group[1].Score = new List<int>();
players.Add(group[1]);
}
}
catch (Exception e)
{
Console.WriteLine("Players disconnected. Can't process disconnection. Game ended.");
}
}
});
thread.Start();
}
}

View file

@ -1 +1,21 @@
# ProgtimeHack2022_Bowling
Bowling game writeen in ProgTime 2022 hackathon/
# Server setup
Install dotnet: <br/>
Windows: https://dotnet.microsoft.com/en-us/download <br/>
Linux: https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu <br/>
Compile and run server: <br/>
```
cd Bowling_Server
dotnet run
```
In the console that opens, enter server IP (``0.0.0.0`` if you want to listen from all available IP) and the port(ex. 7632) on which the game server will be launched.
The server must have as least one static IP.
# Game
Compile the game for the desired operating system and send it to users. At startup, enter the IP and port on which the server is running. <br/>
If there are enough players(2), the game will start **immediately**.

13
Test/Program.cs Normal file
View file

@ -0,0 +1,13 @@
using System;
using System.Net;
namespace Test
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(Dns.GetHostAddresses("mootfrost.ru")[0]);
}
}
}

8
Test/Test.csproj Normal file
View file

@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>

View file

@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.1",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.1": {
"Test/1.0.0": {
"runtime": {
"Test.dll": {}
}
}
}
},
"libraries": {
"Test/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,8 @@
{
"runtimeOptions": {
"additionalProbingPaths": [
"C:\\Users\\Semejkin_AV\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\Semejkin_AV\\.nuget\\packages"
]
}
}

View file

@ -0,0 +1,9 @@
{
"runtimeOptions": {
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "3.1.0"
}
}
}

View file

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]

View file

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Test")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Test")]
[assembly: System.Reflection.AssemblyTitleAttribute("Test")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Создано классом WriteCodeFragment MSBuild.

View file

@ -0,0 +1 @@
f6533ec0c338906e0f581238a326c04606b3059f

View file

@ -0,0 +1,3 @@
is_global = true
build_property.RootNamespace = Test
build_property.ProjectDir = C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\

Binary file not shown.

View file

@ -0,0 +1 @@
888bf9d461a4b4d8262376cf6b207220f62a1b4f

View file

@ -0,0 +1,14 @@
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\bin\Debug\netcoreapp3.1\Test.exe
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\bin\Debug\netcoreapp3.1\Test.deps.json
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\bin\Debug\netcoreapp3.1\Test.runtimeconfig.json
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\bin\Debug\netcoreapp3.1\Test.runtimeconfig.dev.json
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\bin\Debug\netcoreapp3.1\Test.dll
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\bin\Debug\netcoreapp3.1\Test.pdb
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.csproj.AssemblyReference.cache
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.AssemblyInfoInputs.cache
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.AssemblyInfo.cs
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.csproj.CoreCompileInputs.cache
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.dll
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.pdb
C:\Users\Semejkin_AV\Documents\Github_repos\ProgtimeHack2022_Bowling\Test\obj\Debug\netcoreapp3.1\Test.genruntimeconfig.cache

Binary file not shown.

View file

@ -0,0 +1 @@
cf6a809174eb713435eea0664134528a06d2b76a

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,68 @@
{
"format": 1,
"restore": {
"C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\Test.csproj": {}
},
"projects": {
"C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\Test.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\Test.csproj",
"projectName": "Test",
"projectPath": "C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\Test.csproj",
"packagesPath": "C:\\Users\\Semejkin_AV\\.nuget\\packages\\",
"outputPath": "C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\Semejkin_AV\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netcoreapp3.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.NETCore.App.Host.win-x64",
"version": "[3.1.23, 3.1.23]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.300-preview.22204.3\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(ExcludeRestorePackageImports)' != 'true'">
<RestoreSuccess Condition="'$(RestoreSuccess)' == ''">True</RestoreSuccess>
<RestoreTool Condition="'$(RestoreTool)' == ''">NuGet</RestoreTool>
<ProjectAssetsFile Condition="'$(ProjectAssetsFile)' == ''">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition="'$(NuGetPackageRoot)' == ''">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition="'$(NuGetPackageFolders)' == ''">C:\Users\Semejkin_AV\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition="'$(NuGetProjectStyle)' == ''">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition="'$(NuGetToolVersion)' == ''">6.2.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition="'$(ExcludeRestorePackageImports)' != 'true'">
<SourceRoot Include="C:\Users\Semejkin_AV\.nuget\packages\" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View file

@ -0,0 +1,73 @@
{
"version": 3,
"targets": {
".NETCoreApp,Version=v3.1": {}
},
"libraries": {},
"projectFileDependencyGroups": {
".NETCoreApp,Version=v3.1": []
},
"packageFolders": {
"C:\\Users\\Semejkin_AV\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\Test.csproj",
"projectName": "Test",
"projectPath": "C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\Test.csproj",
"packagesPath": "C:\\Users\\Semejkin_AV\\.nuget\\packages\\",
"outputPath": "C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\Semejkin_AV\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netcoreapp3.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"netcoreapp3.1": {
"targetAlias": "netcoreapp3.1",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.NETCore.App.Host.win-x64",
"version": "[3.1.23, 3.1.23]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.300-preview.22204.3\\RuntimeIdentifierGraph.json"
}
}
}
}

View file

@ -0,0 +1,10 @@
{
"version": 2,
"dgSpecHash": "BEh5d9qXk9PtQezdq/2nEVWFOsPSR1oVjwUhtMfugQxH0a54MUMI06CPnCdjxEKu0guIGIy/EiGQCb1zqwwuWw==",
"success": true,
"projectFilePath": "C:\\Users\\Semejkin_AV\\Documents\\Github_repos\\ProgtimeHack2022_Bowling\\Test\\Test.csproj",
"expectedPackageFiles": [
"C:\\Users\\Semejkin_AV\\.nuget\\packages\\microsoft.netcore.app.host.win-x64\\3.1.23\\microsoft.netcore.app.host.win-x64.3.1.23.nupkg.sha512"
],
"logs": []
}