using System;
using System.Windows.Forms;
namespace Shotgunna
{
public partial class Form1 : Form
{
int playerShots = 0;
int computerShots = 0;
Random random = new Random();
public Form1()
{
InitializeComponent();
}
private void PlayRound(int playerChoice)
{
// Slumpmässigt val för datorn (0 för load, 1 för shot, 2 för block)
int computerChoice = random.Next(3);
// Kolla om spelaren har skott innan de kan skjuta
if (playerChoice == 1 && playerShots == 0)
{
MessageBox.Show("Spelaren kan inte skjuta, de har inga skott kvar.");
return;
}
// Kolla om datorn har skott innan den kan skjuta
if (computerChoice == 1 && computerShots == 0)
{
MessageBox.Show("Datorn kan inte skjuta, den har inga skott kvar.");
return;
}
// Utför valen och uppdatera antalet laddade skott (om spelaren laddar)
if (playerChoice == 0)
{
playerShots++;
UpdateShotsCounts();
}
if (computerChoice == 0)
{
computerShots++;
UpdateShotsCounts();
}
// Skjuta mot ladda regeln (spelaren vinner om de skjuter)
if (playerChoice == 1 && computerChoice == 0)
{
MessageBox.Show("Spelaren vinner genom att skjuta mot ladda!");
ResetGame();
}
if (computerChoice == 1 && playerChoice == 0)
{
MessageBox.Show("Datorn vinner genom att skjuta mot ladda!");
ResetGame();
}
// Skjuta mot blocka (block) regeln
if (playerChoice == 1 && computerChoice == 2)
{
MessageBox.Show("Spelaren förlorar ett skott genom att skjuta mot block!");
playerShots--; // Spelaren förlorar ett skott
UpdateShotsCounts();
}
if (computerChoice == 1 && playerChoice == 2)
{
MessageBox.Show("Datorn förlorar ett skott genom att skjuta mot block!");
computerShots--; // Datorn förlorar ett skott
UpdateShotsCounts();
}
// Ladda mot blocka regeln (den som laddar får ett skott om den andra blockar)
if (playerChoice == 0 && computerChoice == 2)
{
MessageBox.Show("Spelaren får ett skott eftersom datorn blockade.");
playerShots++;
UpdateShotsCounts();
}
else if (computerChoice == 0 && playerChoice == 2)
{
MessageBox.Show("Datorn får ett skott eftersom spelaren blockade.");
computerShots++;
UpdateShotsCounts();
}
// Skjuta mot skjuta regeln (båda förlorar ett skott om de båda skjuter)
if (playerChoice == 1 && computerChoice == 1)
{
MessageBox.Show("Båda förlorar ett skott genom att skjuta mot skjuta!");
playerShots--;
computerShots--;
UpdateShotsCounts();
}
// Kolla om någon vinner med "shotgun" (spelaren vinner om de har 3 skott och skjuter)
if (playerShots >= 3 && playerChoice == 1)
{
MessageBox.Show("Spelaren vinner med shotgun!");
ResetGame();
}
else if (computerShots >= 3 && computerChoice == 1)
{
MessageBox.Show("Datorn vinner med shotgun!");
ResetGame();
}
}
private void ResetGame()
{
playerShots = 0;
computerShots = 0;
UpdateShotsCounts();
}
private void UpdateShotsCounts()
{
playerShotsLabel.Text = "Player Shots: " + playerShots;
computerShotsLabel.Text = "Computer Shots: " + computerShots;
}
private void ShootBtn_Click(object sender, EventArgs e)
{
int playerChoice = 1; // Spelaren väljer "Shoot"
PlayRound(playerChoice);
}
private void BlockBtn_Click(object sender, EventArgs e)
{
int playerChoice = 2; // Spelaren väljer "Block"
PlayRound(playerChoice);
}
private void ReloadBtn_Click(object sender, EventArgs e)
{
int playerChoice = 0; // Spelaren väljer "Reload"
PlayRound(playerChoice);
}
}
}