93 lines
2.4 KiB
C#
Raw Normal View History

2021-09-14 12:31:36 +12:00
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
2021-09-16 17:55:28 +12:00
using DuckModel;
2021-09-14 12:31:36 +12:00
namespace Duck_Simulator
{
public partial class Form1 : Form
{
2021-09-16 17:55:28 +12:00
private DuckTypes _selectedDuck = DuckTypes.Default;
private DuckBehaviour _duck;
2021-09-14 12:31:36 +12:00
public Form1()
{
InitializeComponent();
2021-09-16 17:55:28 +12:00
}
void test()
{
radioButton1.Checked = true;
}
private void button1_Click(object sender, EventArgs e)
{
switch (_selectedDuck)
{
case DuckTypes.Mallard:
if (!(_duck is MallardDuck))
{
_duck = new MallardDuck();
}
break;
case DuckTypes.Redhead:
if (!(_duck is RedheadDuck))
{
_duck = new RedheadDuck();
}
break;
case DuckTypes.Rubber:
if (!(_duck is RubberDucky))
{
_duck = new RubberDucky();
}
break;
case DuckTypes.Decoy:
if (!(_duck is DecoyDuck))
{
_duck = new DecoyDuck();
}
break;
default:
// Show msg box
MessageBox.Show("Not a valid duck");
return;
}
string msg = _duck.PerformQuack();
MessageBox.Show(msg);
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
if ((sender as RadioButton).Checked)
_selectedDuck = DuckTypes.Mallard;
}
private void radioButton4_CheckedChanged(object sender, EventArgs e)
{
_selectedDuck = DuckTypes.Decoy;
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
_selectedDuck = DuckTypes.Rubber;
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
_selectedDuck = DuckTypes.Redhead;
2021-09-14 12:31:36 +12:00
}
}
}