Лотерея «Спортлото»
В игре «Спортлото» существует две распространенные тактики:
1. Зачеркивать в билетах одну и ту же комбинацию из «счастливых чисел»;
2. Бросать кубик из количества точек на верхней грани составлять набор чисел.
Смоделируйте серию игр «5 из 36», организовав эксперименты и с одной и с другой тактикой. Сделайте выводы.
Цель моделирования : Создать модель игры спортлото.
Информационная модель:
1. В игре «Спортлото» существует две распространенные тактики:
А). Зачеркивать в билетах одну и ту же комбинацию из «счастливых чисел»;
Б). Бросать кубик из количества точек на верхней грани составлять набор чисел;
В). Имеются 6 игральных костей, 36 цифр в лотерее и 5 «счастливых чисел»
2. Результат: Смоделировать серию игр «5 из 36», организовав эксперименты и с одной и с другой тактикой.
3. алг. Создания модели игры спортлото.
Шаг1. Создание кнопок, Вставка рисунков
Шаг2. Описание типа переменных
Шаг3. Настройка кнопки «Выход»
Шаг4. Описание программы
- Набор случайных чисел для каждого числа
- Присваивание рисунку свое название
- Вычисление суммы чисел каждой кости
- Настройка кнопки «Бросить кубик»
- Настройка игрового поля «Лотерея»
- Настройка кнопки «Компьютер»
- Настройка окна вывода результатов
Шаг5.Вывод программы
Шаг6. Настройка дизайна, устранение недостатков программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
Button1: TButton;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
CheckBox18: TCheckBox;
CheckBox17: TCheckBox;
CheckBox16: TCheckBox;
CheckBox15: TCheckBox;
CheckBox14: TCheckBox;
CheckBox13: TCheckBox;
CheckBox12: TCheckBox;
CheckBox9: TCheckBox;
CheckBox11: TCheckBox;
CheckBox21: TCheckBox;
CheckBox22: TCheckBox;
CheckBox24: TCheckBox;
CheckBox25: TCheckBox;
CheckBox26: TCheckBox;
CheckBox27: TCheckBox;
CheckBox28: TCheckBox;
CheckBox29: TCheckBox;
CheckBox30: TCheckBox;
CheckBox20: TCheckBox;
CheckBox19: TCheckBox;
CheckBox10: TCheckBox;
CheckBox35: TCheckBox;
CheckBox36: TCheckBox;
CheckBox34: TCheckBox;
CheckBox33: TCheckBox;
CheckBox32: TCheckBox;
CheckBox31: TCheckBox;
Button2: TButton;
Button3: TButton;
GroupBox7: TGroupBox;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
CheckBox23: TCheckBox;
Image7: TImage;
Label1: TLabel;
Image1: TImage;
Image2: TImage;
Image5: TImage;
Image3: TImage;
Image4: TImage;
Image6: TImage;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
A,B,C,D,E,F,S,K:integer;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
A:=random(6);
B:=random(6);
C:=random(6);
D:=random(6);
E:=random(6);
F:=random(6);
case a of
0:image1.Picture.LoadFromFile('ноль.bmp');
1:image1.Picture.LoadFromFile('один.bmp');
2:image1.Picture.LoadFromFile('два.bmp');
3:image1.Picture.LoadFromFile('три.bmp');
4:image1.Picture.LoadFromFile('четыре.bmp');
5:image1.Picture.LoadFromFile('пять.bmp');
end;
case b of
0:image2.Picture.LoadFromFile('ноль.bmp');
1:image2.Picture.LoadFromFile('один.bmp');
2:image2.Picture.LoadFromFile('два.bmp');
3:image2.Picture.LoadFromFile('три.bmp');
4:image2.Picture.LoadFromFile('четыре.bmp');
5:image2.Picture.LoadFromFile('пять.bmp');
end;
case c of
0:image3.Picture.LoadFromFile('ноль.bmp');
1:image3.Picture.LoadFromFile('один.bmp');
2:image3.Picture.LoadFromFile('два.bmp');
3:image3.Picture.LoadFromFile('три.bmp');
4:image3.Picture.LoadFromFile('четыре.bmp');
5:image3.Picture.LoadFromFile('пять.bmp');
end;
case d of
0:image4.Picture.LoadFromFile('ноль.bmp');
1:image4.Picture.LoadFromFile('один.bmp');
2:image4.Picture.LoadFromFile('два.bmp');
3:image4.Picture.LoadFromFile('три.bmp');
4:image4.Picture.LoadFromFile('четыре.bmp');
5:image4.Picture.LoadFromFile('пять.bmp');
end;
case e of
0:image5.Picture.LoadFromFile('ноль.bmp');
1:image5.Picture.LoadFromFile('один.bmp');
2:image5.Picture.LoadFromFile('два.bmp');
3:image5.Picture.LoadFromFile('три.bmp');
4:image5.Picture.LoadFromFile('четыре.bmp');
5:image5.Picture.LoadFromFile('пять.bmp');
end;
case f of
0:image6.Picture.LoadFromFile('ноль.bmp');
1:image6.Picture.LoadFromFile('один.bmp');
2:image6.Picture.LoadFromFile('два.bmp');
3:image6.Picture.LoadFromFile('три.bmp');
4:image6.Picture.LoadFromFile('четыре.bmp');
5:image6.Picture.LoadFromFile('пять.bmp');
end;
S:=A+B+C+D+E+F+1;
edit1.Text:=inttostr(s);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
K:=0;
randomize;
A:=random(36+1)+1;
B:=random(36+1)+1;
while a=b do B:=random(36+1)+1;
C:=random(36+1)+1;
while (a=c) or (b=c) do C:=random(36+1)+1;
D:=random(36+1)+1;
E:=random(36+1)+1;
F:=random(36+1)+1;
edit2.Text:=inttostr(A);
edit3.Text:=inttostr(B);
edit4.Text:=inttostr(C);
edit5.Text:=inttostr(D);
edit6.Text:=inttostr(E);
If checkbox1.Checked=true then
if (checkbox1.Caption=edit2.Text) or (checkbox1.Caption=edit3.Text)
or (checkbox1.Caption=edit4.Text) or
(checkbox1.Caption=edit5.Text) or (checkbox1.Caption=edit6.Text)
then k:=k+1;
If checkbox2.Checked=true then
if (checkbox2.Caption=edit2.Text) or (checkbox2.Caption=edit3.Text)
or (checkbox2.Caption=edit4.Text) or
(checkbox2.Caption=edit5.Text) or (checkbox2.Caption=edit6.Text)
then k:=k+1;
If checkbox3.Checked=true then
if (checkbox3.Caption=edit2.Text) or (checkbox3.Caption=edit3.Text)
or (checkbox3.Caption=edit4.Text) or
(checkbox3.Caption=edit5.Text) or (checkbox3.Caption=edit6.Text)
then k:=k+1;
If checkbox4.Checked=true then
if (checkbox4.Caption=edit2.Text) or (checkbox4.Caption=edit3.Text)
or (checkbox4.Caption=edit4.Text) or
(checkbox4.Caption=edit5.Text) or (checkbox4.Caption=edit6.Text)
then k:=k+1;
If checkbox5.Checked=true then
if (checkbox5.Caption=edit2.Text) or (checkbox5.Caption=edit3.Text)
or (checkbox5.Caption=edit4.Text) or
(checkbox5.Caption=edit5.Text) or (checkbox5.Caption=edit6.Text)
then k:=k+1;
If checkbox6.Checked=true then
if (checkbox6.Caption=edit2.Text) or (checkbox6.Caption=edit3.Text)
or (checkbox6.Caption=edit4.Text) or
(checkbox6.Caption=edit5.Text) or (checkbox6.Caption=edit6.Text)
then k:=k+1;
If checkbox7.Checked=true then
if (checkbox7.Caption=edit2.Text) or (checkbox7.Caption=edit3.Text)
or (checkbox7.Caption=edit4.Text) or
(checkbox7.Caption=edit5.Text) or (checkbox7.Caption=edit6.Text)
then k:=k+1;
If checkbox8.Checked=true then
if (checkbox8.Caption=edit2.Text) or (checkbox8.Caption=edit3.Text)
or (checkbox8.Caption=edit4.Text) or
(checkbox8.Caption=edit5.Text) or (checkbox8.Caption=edit6.Text)
then k:=k+1;
If checkbox9.Checked=true then
if (checkbox9.Caption=edit2.Text) or (checkbox9.Caption=edit3.Text)
or (checkbox9.Caption=edit4.Text) or
(checkbox9.Caption=edit5.Text) or (checkbox9.Caption=edit6.Text)
then k:=k+1;
If checkbox10.Checked=true then
if (checkbox10.Caption=edit2.Text) or (checkbox10.Caption=edit3.Text)
or (checkbox10.Caption=edit4.Text) or
(checkbox10.Caption=edit5.Text) or (checkbox10.Caption=edit6.Text)
then k:=k+1;
If checkbox11.Checked=true then
if (checkbox11.Caption=edit2.Text) or (checkbox11.Caption=edit3.Text)
or (checkbox11.Caption=edit4.Text) or
(checkbox11.Caption=edit5.Text) or (checkbox11.Caption=edit6.Text)
then k:=k+1;
If checkbox12.Checked=true then
if (checkbox12.Caption=edit2.Text) or (checkbox12.Caption=edit3.Text)
or (checkbox12.Caption=edit4.Text) or
(checkbox12.Caption=edit5.Text) or (checkbox12.Caption=edit6.Text)
then k:=k+1;
If checkbox13.Checked=true then
if (checkbox13.Caption=edit2.Text) or (checkbox13.Caption=edit3.Text)
or (checkbox13.Caption=edit4.Text) or
(checkbox13.Caption=edit5.Text) or (checkbox13.Caption=edit6.Text)
then k:=k+1;
If checkbox14.Checked=true then
if (checkbox14.Caption=edit2.Text) or (checkbox14.Caption=edit3.Text)
or (checkbox14.Caption=edit4.Text) or
(checkbox14.Caption=edit5.Text) or (checkbox14.Caption=edit6.Text)
then k:=k+1;
If checkbox15.Checked=true then
if (checkbox15.Caption=edit2.Text) or (checkbox15.Caption=edit3.Text)
or (checkbox15.Caption=edit4.Text) or
(checkbox15.Caption=edit5.Text) or (checkbox15.Caption=edit6.Text)
then k:=k+1;
If checkbox16.Checked=true then
if (checkbox16.Caption=edit2.Text) or (checkbox16.Caption=edit3.Text)
or (checkbox16.Caption=edit4.Text) or
(checkbox16.Caption=edit5.Text) or (checkbox16.Caption=edit6.Text)
then k:=k+1;
If checkbox17.Checked=true then
if (checkbox17.Caption=edit2.Text) or (checkbox17.Caption=edit3.Text)
or (checkbox17.Caption=edit4.Text) or
(checkbox17.Caption=edit5.Text) or (checkbox17.Caption=edit6.Text)
then k:=k+1;
If checkbox18.Checked=true then
if (checkbox18.Caption=edit2.Text) or (checkbox18.Caption=edit3.Text)
or (checkbox18.Caption=edit4.Text) or
(checkbox18.Caption=edit5.Text) or (checkbox18.Caption=edit6.Text)
then k:=k+1;
If checkbox19.Checked=true then
if (checkbox19.Caption=edit2.Text) or (checkbox19.Caption=edit3.Text)
or (checkbox19.Caption=edit4.Text) or
(checkbox19.Caption=edit5.Text) or (checkbox19.Caption=edit6.Text)
then k:=k+1;
If checkbox20.Checked=true then
if (checkbox20.Caption=edit2.Text) or (checkbox20.Caption=edit3.Text)
or (checkbox20.Caption=edit4.Text) or
(checkbox20.Caption=edit5.Text) or (checkbox20.Caption=edit6.Text)
then k:=k+1;
If checkbox21.Checked=true then
if (checkbox21.Caption=edit2.Text) or (checkbox21.Caption=edit3.Text)
or (checkbox21.Caption=edit4.Text) or
(checkbox21.Caption=edit5.Text) or (checkbox21.Caption=edit6.Text)
then k:=k+1;
If checkbox22.Checked=true then
if (checkbox22.Caption=edit2.Text) or (checkbox22.Caption=edit3.Text)
or (checkbox22.Caption=edit4.Text) or
(checkbox22.Caption=edit5.Text) or (checkbox22.Caption=edit6.Text)
then k:=k+1;
If checkbox23.Checked=true then
if (checkbox23.Caption=edit2.Text) or (checkbox23.Caption=edit3.Text)
or (checkbox23.Caption=edit4.Text) or
(checkbox23.Caption=edit5.Text) or (checkbox23.Caption=edit6.Text)
then k:=k+1;
If checkbox24.Checked=true then
if (checkbox24.Caption=edit2.Text) or (checkbox24.Caption=edit3.Text)
or (checkbox24.Caption=edit4.Text) or
(checkbox24.Caption=edit5.Text) or (checkbox24.Caption=edit6.Text)
then k:=k+1;
If checkbox25.Checked=true then
if (checkbox25.Caption=edit2.Text) or (checkbox25.Caption=edit3.Text)
or (checkbox25.Caption=edit4.Text) or
(checkbox25.Caption=edit5.Text) or (checkbox25.Caption=edit6.Text)
then k:=k+1;
If checkbox26.Checked=true then
if (checkbox26.Caption=edit2.Text) or (checkbox26.Caption=edit3.Text)
or (checkbox26.Caption=edit4.Text) or
(checkbox26.Caption=edit5.Text) or (checkbox26.Caption=edit6.Text)
then k:=k+1;
If checkbox27.Checked=true then
if (checkbox27.Caption=edit2.Text) or (checkbox27.Caption=edit3.Text)
or (checkbox27.Caption=edit4.Text) or
(checkbox27.Caption=edit5.Text) or (checkbox27.Caption=edit6.Text)
then k:=k+1;
If checkbox28.Checked=true then
if (checkbox28.Caption=edit2.Text) or (checkbox28.Caption=edit3.Text)
or (checkbox28.Caption=edit4.Text) or
(checkbox28.Caption=edit5.Text) or (checkbox28.Caption=edit6.Text)
then k:=k+1;
If checkbox29.Checked=true then
if (checkbox29.Caption=edit2.Text) or (checkbox29.Caption=edit3.Text)
or (checkbox29.Caption=edit4.Text) or
(checkbox29.Caption=edit5.Text) or (checkbox29.Caption=edit6.Text)
then k:=k+1;
If checkbox30.Checked=true then
if (checkbox30.Caption=edit2.Text) or (checkbox30.Caption=edit3.Text)
or (checkbox30.Caption=edit4.Text) or
(checkbox30.Caption=edit5.Text) or (checkbox30.Caption=edit6.Text)
then k:=k+1;
If checkbox31.Checked=true then
if (checkbox31.Caption=edit2.Text) or (checkbox31.Caption=edit3.Text)
or (checkbox31.Caption=edit4.Text) or
(checkbox1.Caption=edit5.Text) or (checkbox31.Caption=edit6.Text)
then k:=k+1;
If checkbox32.Checked=true then
if (checkbox32.Caption=edit2.Text) or (checkbox32.Caption=edit3.Text)
or (checkbox32.Caption=edit4.Text) or
(checkbox32.Caption=edit5.Text) or (checkbox32.Caption=edit6.Text)
then k:=k+1;
If checkbox33.Checked=true then
if (checkbox33.Caption=edit2.Text) or (checkbox33.Caption=edit3.Text)
or (checkbox33.Caption=edit4.Text) or
(checkbox33.Caption=edit5.Text) or (checkbox33.Caption=edit6.Text)
then k:=k+1;
If checkbox34.Checked=true then
if (checkbox34.Caption=edit2.Text) or (checkbox34.Caption=edit3.Text)
or (checkbox34.Caption=edit4.Text) or
(checkbox34.Caption=edit5.Text) or (checkbox34.Caption=edit6.Text)
then k:=k+1;
If checkbox35.Checked=true then
if (checkbox35.Caption=edit2.Text) or (checkbox35.Caption=edit3.Text)
or (checkbox35.Caption=edit4.Text) or
(checkbox35.Caption=edit5.Text) or (checkbox35.Caption=edit6.Text)
then k:=k+1;
If checkbox36.Checked=true then
if (checkbox36.Caption=edit2.Text) or (checkbox36.Caption=edit3.Text)
or (checkbox36.Caption=edit4.Text) or
(checkbox36.Caption=edit5.Text) or (checkbox36.Caption=edit6.Text)
then k:=k+1;
Label10.Caption:='У вас совпало '+inttostr(k)+'чисел';
if k=0 then showmessage('Ты проиграл лузер');
if k=1 then showmessage('Ваш выйгрыш 1000 рублей');
if k=2 then showmessage('Ваш выйгрыш 2000 рублей');
if k=3 then showmessage('Ваш выйгрыш 3000 рублей');
if k=4 then showmessage('Ваш выйгрыш 4000 рублей');
if k=5 then showmessage('Ваш выйгрыш 5000 рублей');
end;
end.
Инструкция для лузера
Для начала игры нужно кинуть игральную кость. Если ты увидишь квадратики с точками, ты смог нажать на эту кнопку. Таких кубиков 6 они все состоят из точек либо отсутствуют.
В окошечке «Ваше число» выйдет сумма чисел полученных игральных костей. Запомни это число и отметь его в лотерее.
Когда отметишь 5 чисел (каждый раз нужно кидать кубик), нажми кнопку «Компьютер».
Под словом Компьютер в окошечке выйдут 5 чисел от компьютера – это «счастливые цифры», если они совпадут с твоими, то ты выиграл.
Все зависит от совпадения «счастливых чисел»: если 5, то выигрыш составил 5000; если 4, то выигрыш составил 4000; если 3, то выигрыш составил 3000; если 2, то выигрыш составил 2000; если 1, то выигрыш составил 1000; ну, а если 0, то ты лузер.
Когда выйдет окошечко с твоим выигрышем, ты не теряйся, просто нажми «ОК».
Для выхода из игры нажми кнопку «Выход».
Мы желаем удачи!!!!!!!
Анализ задачи : Для решения этой задачи потребовалось очень много времени, сил и терпения, но мы ни сколько не жалеем. Нам понравилось составлять программу для решения этой задачи, но больше играть в нее. Мы считаем, что выполнили программу на «ОТЛИЧНО» и поэтому можем смело сказать о всех недостатках нашей программы. Их не было бы вообще, если бы все вместе не забыли, как настраивать масштаб рисунка, и именно это является единственным недостатком нашей программы. Огромное СПАСИБО хотелось бы сказать нашему любимому преподавателю ТАТЬЯНЕ ГЕНАДЬЕВНЕ. Ведь именно она научила нас работать в этой программе и помогла выполнить этот проект.
СПАСИБО ЗА ВНИМАНИЕ!!!!!!!!!!!!!!!!!!!!
(нам тоже очень понравилось)
8