Koda in testiranje
Koda v C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace RockPaperScissors
{
public partial class Form1 : Form
{
//kamen je 0
//škarje so 1
//papir je 2
private int izbira;
//števci točk
private int igralec, rac;
public Form1()
{
InitializeComponent();
//osnovna slika
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
}
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
//objekt razreda Random
Random gen = new Random();
int nakljucno;
//igralčeva poteza
//Če je na prvi tretjini slikice(Kamen)
if (e.Location.Y < pictureBox1.Height/3)
{
//Nastavi slikico kamen
pictureBox1.Image = new Bitmap("kamen.bmp");
//zapomne si izbiro, kot cifro
izbira = 0;
//izračuna računalnikovo potezo
nakljucno = gen.Next(3);
}
else if (e.Location.Y > (pictureBox1.Height/3)*2)
{
//Nastavi slikico škarje
pictureBox1.Image = new Bitmap("scissors.bmp");
//zapomne si izbiro, kot cifro
izbira = 1;
//izračuna računalnikovo potezo
nakljucno = gen.Next(3);
}
else
{
//Nastavi slikico papir
pictureBox1.Image = new Bitmap("papir.bmp");
//zapomne si izbiro, kot cifro
izbira = 2;
//izračuna računalnikovo potezo
nakljucno = gen.Next(3);
}
//nakljucno, racunalnik
if (nakljucno == 0)
{
//slikica na računalnikovem polju
pictureBox2.Image = new Bitmap("kamen.bmp");
if (izbira == 2)
{
//Zmaga igralca, slikica ponastavi
MessageBox.Show("Zmagal si!");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
//poveča število zmag za 1
igralec++;
}
else if (izbira == 1)
{
//Zmaga računalnika,slikice ponastavi
MessageBox.Show("Zgubil si!");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
//poveča število zmag za 1
rac++;
}
else
{
//izenačeno
MessageBox.Show("Izenačeno");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
}
}
//če so naključne škarje
else if (nakljucno == 1)
{
//slikica na računalnikovem polju
pictureBox2.Image = new Bitmap("scissors.bmp");
if (izbira == 0)
{
//Zmaga igralca, slikica ponastavi
MessageBox.Show("Zmagal si!");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
//poveča število zmag za 1
igralec++;
}
else if (izbira == 2)
{
//Zmaga računalnika,slikice ponastavi
MessageBox.Show("Zgubil si!");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
//poveča število zmag za 1
rac++;
}
else
{
//izenačeno
MessageBox.Show("Izenačeno");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
}
}
else
{
//slikica na računalnikovem polju
pictureBox2.Image = new Bitmap("papir.bmp");
if (izbira == 0)
{
//Zmaga računalnika,slikice ponastavi
MessageBox.Show("Zgubil si!");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
//poveča število zmag za 1
rac++;
}
else if (izbira == 1)
{
//Zmaga igralca, slikice ponastavi
MessageBox.Show("Zmagal si!");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
//poveča število zmag za 1
igralec++;
}
else
{
//izenačeno
MessageBox.Show("Izenačeno\n");
pictureBox2.Image = null;
pictureBox1.Image = new Bitmap("skarjeKP.bmp");
pictureBox2.Invalidate();
}
}
//izpis rezultata
label1.Text = igralec.ToString();
label2.Text = rac.ToString();
}
}
}
Testiranje: