Программа игры "Кости"

Разработка программы, моделирующей игру "Кости". Использование в программе генератора псевдослучайных чисел. Схема иерархии модулей. Описание работы программы. Регистрация игрока, окно программы. Определение языка программирования, основные операторы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 29.07.2010
Размер файла 3,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

2

Министерство науки и образования РФ

Федеральное агентство по образованию

Государственное образовательное учреждение

Профессионального высшего образования

Иркутский государственный технический университет

Факультет кибернетики

Кафедра вычислительной техники

Отчет

О курсовой работе

Игра "Кости"

По дисциплине "Программирование на языке высокого уровня"

Выполнил:

Студент гр. ЭВМ-08-2

Григорьев Д.Е.

Проверила:

Егорова Н.Н.

Иркутск 2010

Оглавление

  • Постановка задачи
    • Спецификации модулей
    • Описание работы программы
    • Сравнение языков - Паскаль и С++
    • Листинг программы Delphi
    • Заключение
    • Использованная литература

Постановка задачи

Разработать программу, моделирующую игру "Кости". Играющий называет любое число от 2 до 12 и ставку, которую он делает в этот ход. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока. Программа работает с использованием генератора псевдослучайных чисел.

Таблица внешних спецификаций

Имя

Тип

Назначение

Одз

1

a,b

Integer

Значения бросков кубиков

[1. .6]

2

X

Integer

Задуманное число

[2. .12]

4

Ns

Integer

Текущий счет

[0…1000]

5

st

Integer

ставка

[1. ns]

6

Sum

Integer

Сумма броска

[2. .12]

7

K

Integer

Всего игр

[0. .2147483647]

8

v

Integer

Количество выигрышей

[0. .2147483647]

9

P

integer

Количество проигрышей

[0. .2147483647]

10

Name

Ansistring

Имя игрока

Все символы

Cхема иерархии модулей

2

Спецификации модулей

Имя

Назначение

Параметры

1

Form1

Модуль программы для регистрации игрока

-

2

Form2

Модуль программы для игры

-

3

Main

Menu

Меню программы

Файл: Новая игра; Выход.

Справка: О программе; Правила игры

4

Прием ставки

Принимает ставку игрока

St-ставка, x-задуманное число, ns-ограничение ставки

5

Бросок костей

Бросает игральные кости и выводит результат

A,b-значение броска, sum-сумма броска, k-количество бросков, v-количество выигрышей, p-количество проигрышей, ns-текущий счет.

6

Сброс результатов

Возвращает исходное значение переменных p,v,k,ns

I, v, l, ns

7

Новая игра

Начинает новую игру

I, v, l, ns.

8

Выход

Выход из игры

-

9

Form4

О программе

-

10

Form5

Правила игры

-

11

Form3

Игра проиграна

-

Таблица тестов

Входные данные

Результат

Комментарии

name

x

st

1

Name

3

10

Первый кубик = 3; Второй кубик = 1;

Сумма кубиков = 4; Вы проиграли!! =)

Количество поражений: 1 Количество побед: 0

Соотношение побед и поражений: 0 к 1

-

2

Name

5

5

Первый кубик = 4; Второй кубик = 1;

Сумма кубиков = 5; Вы проиграли!! =)

Вы выйграли! Ваш выигрышь увеличин в 4 раза =)

Количество поражений: 1 Количество побед: 1

Соотношение побед и поражений: 1 к 1

-

3

Name

7

15

Первый кубик = 4; Второй кубик = 2;

Сумма кубиков = 6; Вы выиграли! = (

Количество поражений: 1 Количество побед: 2

Соотношение побед и поражений: 2 к 1

-

4

Name

0

12

Проверьте введенные данные

-

5

Name

15

21

Проверьте введенные данные

-

6

Name

2

Проверьте введенные данные

7

Name

3

Проверьте введенные данные

8

Name

4

50

Проверьте введенные данные

При текущем счете меньшем чем ставка

9

-

-

Введите имя игрока

Описание работы программы

При запуске программы появляется окно регистрации игрока (рис.1).

Рис.1 Регистрация игрока

По нажатию кнопки "Начать игру" появляется основное окно программы (рис.2).

Рис.2 Основное окно программы

Для начала игры необходимо сделать ставку, не превышающую текущий счет и задумать число от 2 до 12. После заполнения полей "Ставка" и "Число" нажимаем кнопку "Принять". После чего активируется кнопка "Бросить кубики" (Рис.4)

Рис.4 "Бросить кубики"

После броска кубиков программа считает их сумму и выводит результат в поле расположенное справа от кнопки, в случае если сумма кубиков меньше задуманного числа вы выигрываете, и ваша ставка прибавляется к текущему счету (рис.5).

Если сумма кубиков равна задуманному числу, то ваша ставка умножается на 4 и так же прибавляется к текущему счету (Рис.6).

В случае если сумма кубиков больше задуманного числа Вы проигрываете и ваша ставка отнимается от текущего счета (рис.7). Если у вас закончились очки появится диалоговое окно, в котором вам будут предложены следующие действия (рис.8).:

"Повторить" - начинает игру заново.

"Выход" - выходит из игры.

Рис.5 Сумма кубиков меньше задуманного числа

Рис.6 Сумма кубиков равна ставке

Рис.7 Сумма кубиков больше задуманного числа.

Рис.6 Вы проиграли!

Для очистки результатов нажмите кнопку "Очистить результаты".

Чтобы ознакомится с правилами игры, нажмите: "Справка" - > "Правила игры".

Для начала новой игры зайдите в меню "файл"->"Новая Игра", для выхода "файл"-> "Выход".

Сравнение языков - Паскаль и С++

Определение языка программирования.

Язык программирования - формальная знаковая система, предназначенная для записи программ, задающих алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.

Типы данных и их описание

Pascal

Диапазон значений

Размер

C++

Типы, имеющие одинаковый диапазон значений

Shortint

-128. .127

1 байт

Char

Byte

0. .255

1 байт

Unsigned char

Word

0. .65535

2 байта

Unsigned short

Integer

-32767. .32768

2 байта

Short int

Longint

-2147483648…2147483647

4/2 байта

Long int

Extended

3.4E-4932. .1.1E+4932

10 байт

Long Double

Типы, имеющие разный диапазон значений

Integer

-32767. .32768

2 байта

-

Real

2.9E-39. .1.7E+38

6 байт

-

Single

1.5E-45…3.4E+38

4 байта

-

Double

5.0E-324...1.7E+308

8 байт

-

Comp

-9.2E+18…9.2E+18

8 байт

-

-

Зависит от реализации

2/4 байта

Int

-

Зависит от реализации

2/4 байта

Unsigned int

-

0. .4294967295

4 байта

Unsigned longint

-

+- (3.4E-38…3.4E+38)

4 байта

Float

-

+- (1.7E-308…1.7E+308)

8 байт

Double

-

+- (3.4E-4932…1.1E+4932)

10 байт

Long double

Описание основных операторов

Pascal

C++

Структурный оператор

Begin

End;

{

}

Условные операторы

If <условие> then <действие>

if <условие> <действие> или

<условие?: действие>

If <условие> then <действие>

Else <действие>

if <условие> <действие>

else <действие> или

<условие?: действие: действие>

Case <переменная> of

<значение>: действие;

<значение>: действие;

End;

Switch

{

Case <значение>:

{

}

Case <значение>^

{

}

Циклические операторы

For <переменная>: =<значение1> to <значение2> do …

for (<переменная>=<значение1>;

<переменная> <><значение2>;

<переменная>++ (--);)

{

}

While <условие> do …

While <условие>

{

}

Repeat

<действие>

Until <условие>

Do

{

}

While <условие>

Операторы ввода-вывода

Read ();

Cin>>;

Write ();

Cout<<;

Логические операторы

Not<переменная>

! =<переменная>

<переменная1> and <переменная2>

<переменная1> & <переменная2>

<переменная1> or <переменная2>

<переменная1> || <переменная2>

Листинг программы С++

Form1

// ---------------------------------------------------------------------------

#include <vcl. h>

#pragma hdrstop

#include "Unit1. h"

#include "Unit2. h"

// ---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource "*. dfm"

TForm1 *Form1;

AnsiString name;

// ---------------------------------------------------------------------------

__fastcall TForm1:: TForm1 (TComponent* Owner)

: TForm (Owner)

{

Image3->Visible=false;

}

// ---------------------------------------------------------------------------

void __fastcall TForm1:: Animate1Close (TObject *Sender)

{

Edit1->Text=2;

}

// ---------------------------------------------------------------------------

void __fastcall TForm1:: Image2MouseMove (TObject *Sender, TShiftState Shift,

int X, int Y)

{

Image3->Visible=true;

}

// ---------------------------------------------------------------------------

void __fastcall TForm1:: Image2MouseDown (TObject *Sender,

TMouseButton Button, TShiftState Shift, int X, int Y)

{

Image3->Show ();

}

// ---------------------------------------------------------------------------

void __fastcall TForm1:: Image2MouseUp (TObject *Sender, TMouseButton Button,

TShiftState Shift, int X, int Y)

{

Image3->Hide ();

name=Edit1->Text;

if ( (name! ="") && (name! =" ")) {

Form2->Show ();

Form2->Label4->Caption=name;

Form1->Hide (); }

else

{ShowMessage ("Введите имя"); }

}

// ---------------------------------------------------------------------------

Form2

// ---------------------------------------------------------------------------

#include <vcl. h>

#pragma hdrstop

#include "Unit1. h"

#include "Unit2. h"

#include "Unit4. h"

#include "Unit3. h"

#include "Unit1. h"

#include "Unit5. h"

// ---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource "*. dfm"

TForm2 *Form2;

int i=0;

int v=0;

int l=0;

int a,b,sum=0;

int h,x,st,ns;

// ---------------------------------------------------------------------------

__fastcall TForm2:: TForm2 (TComponent* Owner)

: TForm (Owner)

{

Form2->Caption = ("Кости " + DateToStr (Now ()));

Button2->Enabled=false;

Button3->Enabled=false;

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: N4Click (TObject *Sender)

{

Form1->Close ();

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Button2Click (TObject *Sender)

{

Button3->Enabled=true;

a=random (6) +1;

b=random (6) +1;

i=i+1;

Memo1->Lines->Add ("Игрок " + Label4->Caption);

Memo1->Lines->Add ("Бросок № " + IntToStr (i));

Memo1->Lines->Add ("Первый кубик = " + IntToStr (a));

Memo1->Lines->Add ("Второй кубик = " + IntToStr (b));

switch (a)

{

case 1: Image2->Picture->LoadFromFile ("1. jpg"); break;

case 2: Image2->Picture->LoadFromFile ("2. jpg"); break;

case 3: Image2->Picture->LoadFromFile ("3. jpg"); break;

case 4: Image2->Picture->LoadFromFile ("4. jpg"); break;

case 5: Image2->Picture->LoadFromFile ("5. jpg"); break;

case 6: Image2->Picture->LoadFromFile ("6. jpg"); break;

}

switch (b)

{

case 1: Image3->Picture->LoadFromFile ("1. jpg"); break;

case 2: Image3->Picture->LoadFromFile ("2. jpg"); break;

case 3: Image3->Picture->LoadFromFile ("3. jpg"); break;

case 4: Image3->Picture->LoadFromFile ("4. jpg"); break;

case 5: Image3->Picture->LoadFromFile ("5. jpg"); break;

case 6: Image3->Picture->LoadFromFile ("6. jpg"); break;

}

sum=a+b;

Memo1->Lines->Add ("Сумма кубиков = " + IntToStr (sum));

if (sum == x)

{

Memo1->Lines->Add ("Вы выиграли! Ваш выйгрышь увеличин = (");

ns=ns+st*4;

Animate1->Visible=true;

Animate1->FileName= ("win. avi");

Animate1->Play (1,60,10000);

v=v+1;

Memo1->Lines->Add ("Количество побед: "+IntToStr (v));

Memo1->Lines->Add ("Количество поражений: "+IntToStr (l));

}

else

{

if (sum < x)

{

Memo1->Lines->Add ("Вы выиграли!! = (");

ns=ns+st;

Animate1->Visible=true;

Animate1->FileName= ("win. avi");

Animate1->Play (1,60,10000);

v=v+1;

Memo1->Lines->Add ("Количество побед: "+IntToStr (v));

Memo1->Lines->Add ("Количество поражений: "+IntToStr (l));

}

}

if (sum > x)

{

Memo1->Lines->Add ("Вы проиграли!! =)");

ns=ns-st;

Animate1->Visible=true;

Animate1->FileName= ("loose. avi");

Animate1->Play (1,60,10000);

l=l+1;

Memo1->Lines->Add ("Количество поражений: "+IntToStr (l));

Memo1->Lines->Add ("Количество побед: "+IntToStr (v));

}

Edit1->Text=IntToStr (ns);

if (ns<=0) {

Form3->ShowModal ();

}

Memo1->Lines->Add ("Соотношение побед и поражений: "+IntToStr (v) +" к "+IntToStr (l));

Button2->Enabled=true;

Button3->Enabled=true;

// Button4->Enabled=true;

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: FormClose (TObject *Sender, TCloseAction &Action)

{

Form1->Close ();

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Button1Click (TObject *Sender)

{

if ( (Edit2->Text! ="") && (Edit3->Text! ="")) {

ns=StrToInt (Edit1->Text);

st=StrToInt (Edit2->Text);

x=StrToInt (Edit3->Text);

if ( (x<2) || (x>12) || (st>ns)) {ShowMessage ("Проверьте правильность ввода"); }

else

Button2->Enabled=true;

}

else

{ShowMessage ("Одно из полей не заполнено!"); }

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Edit2Change (TObject *Sender)

{

Button2->Enabled=false;

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Edit3Change (TObject *Sender)

{

Button2->Enabled=false;

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Edit2KeyPress (TObject *Sender, char &Key)

{

if ( (Key >= '0') && (Key <= '9') || (Key == 8)) {} // цифры

else

{

Key = 0; // не цифра

}

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Edit3KeyPress (TObject *Sender, char &Key)

{

if ( (Key >= '0') && (Key <= '9') || (Key == 8)) {} // цифры

else

{

Key = 0; // не цифра

}

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Image1MouseMove (TObject *Sender, TShiftState Shift,

int X, int Y)

{

Label5->Caption = TimeToStr (Now ());

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: N3Click (TObject *Sender)

{

Form2->Hide ();

Form1->Show ();

Edit1->Text=100;

Edit2->Text="2";

Edit3->Text="3";

i,v,l=0;

Button2->Enabled=false;

Button3->Enabled=false;

Form1->Edit1->Text="";

Memo1->Clear ();

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: Button3Click (TObject *Sender)

{

Memo1->Clear ();

i,v,l=0;

Edit1->Text=100;

Button3->Enabled=false;

Animate1->Visible=false;

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: N5Click (TObject *Sender)

{

Form4->Show ();

}

// ---------------------------------------------------------------------------

void __fastcall TForm2:: N6Click (TObject *Sender)

{

Form5->Show ();

}

// ---------------------------------------------------------------------------

Form3

// ---------------------------------------------------------------------------

#include <vcl. h>

#pragma hdrstop

#include "Unit3. h"

#include "Unit2. h"

// ---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource "*. dfm"

TForm3 *Form3;

// ---------------------------------------------------------------------------

__fastcall TForm3:: TForm3 (TComponent* Owner)

: TForm (Owner)

{

}

// ---------------------------------------------------------------------------

void __fastcall TForm3:: Button1Click (TObject *Sender)

{

Form2->N3->Click ();

Form3->Close ();

}

// ---------------------------------------------------------------------------

void __fastcall TForm3:: Button2Click (TObject *Sender)

{

Form2->Close ();

}

// ---------------------------------------------------------------------------

Листинг программы Delphi

Form2

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus, jpeg, ExtCtrls, ComCtrls;

type

TForm2 = class (TForm)

Image1: TImage;

Label1: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Button1: TButton;

Edit3: TEdit;

Label4: TLabel;

Button2: TButton;

Memo1: TMemo;

Image2: TImage;

Image3: TImage;

Animate1: TAnimate;

Button3: TButton;

Label5: TLabel;

procedure Button1Click (Sender: TObject);

procedure FormClose (Sender: TObject; var Action: TCloseAction);

procedure N3Click (Sender: TObject);

procedure Edit2Change (Sender: TObject);

procedure Edit1Change (Sender: TObject);

procedure Edit1KeyPress (Sender: TObject; var Key: Char);

procedure Edit2KeyPress (Sender: TObject; var Key: Char);

procedure Button2Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure Image1MouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

k,v,p,a,b,ns,st,x: integer;

prov1, prov2: string;

implementation

uses Unit1, Unit3, Unit4, Unit5;

{$R *. dfm}

procedure TForm2. Button1Click (Sender: TObject);

begin

prov1: =Edit1. Text;

prov2: =Edit2. Text;

if ( (prov1<>'') or (prov2<>'')) then begin

x: =Strtoint (Edit2. Text);

st: =Strtoint (Edit1. Text);

ns: =Strtoint (Edit3. Text);

if ( (x<2) or (x>12) or (st>ns)) then

begin

ShowMessage ('Проверьте правильность вводимых данных');

end

else

begin

button2. Enabled: =true;

end;

end

else begin

ShowMessage ('Проверьте правильность вводимых данных'); end;

end;

procedure TForm2. FormClose (Sender: TObject; var Action: TCloseAction);

begin

Form1. close;

end;

procedure TForm2. N3Click (Sender: TObject);

begin

form1. close;

end;

procedure TForm2. Edit2Change (Sender: TObject);

begin

Button2. Enabled: =false;

end;

procedure TForm2. Edit1Change (Sender: TObject);

begin

Button2. Enabled: =false;

end;

procedure TForm2. Edit1KeyPress (Sender: TObject; var Key: Char);

begin

if ( (Key >= '0') and (Key <= '9') or (Key = #8)) then begin end // цифры

else

Key: = #0; // не цифра

end;

procedure TForm2. Edit2KeyPress (Sender: TObject; var Key: Char);

begin

if ( (Key >= '0') and (Key <= '9') or (Key = #8)) then begin end // цифры

else

Key: = #0; // не цифра

end;

procedure TForm2. Button2Click (Sender: TObject);

var

sum: integer;

begin

button3. Enabled: =true;

ns: =Strtoint (Edit3. Text);

k: =1+k;

a: =0;

b: =0;

Memo1. Lines. Add ('');

Memo1. Lines. Add ('Игрок: '+ Label1. Caption);

a: =random (6) +1;

Memo1. Lines. Add ('Первый кубик = ' +inttostr (a));

b: =random (6) +1;

Memo1. Lines. Add ('Второй кубик = ' +inttostr (b));

case (a) of

1: Image2. Picture. LoadFromFile ('1. jpg');

2: Image2. Picture. LoadFromFile ('2. jpg');

3: Image2. Picture. LoadFromFile ('3. jpg');

4: Image2. Picture. LoadFromFile ('4. jpg');

5: Image2. Picture. LoadFromFile ('5. jpg');

6: Image2. Picture. LoadFromFile ('6. jpg');

end;

case (b) of

1: Image3. Picture. LoadFromFile ('1. jpg');

2: Image3. Picture. LoadFromFile ('2. jpg');

3: Image3. Picture. LoadFromFile ('3. jpg');

4: Image3. Picture. LoadFromFile ('4. jpg');

5: Image3. Picture. LoadFromFile ('5. jpg');

6: Image3. Picture. LoadFromFile ('6. jpg');

end;

sum: =a+b;

Memo1. Lines. Add ('Сумма кубиков = ' +inttostr (sum));

if (sum=x) then

begin

ns: =ns+st*4;

Memo1. Lines. Add ('Вы выиграли! Ваш выигрыш увеличин в 4 раза! =) ');

Animate1. Visible: =true;

Animate1. FileName: = ('win. avi');

Edit3. Text: =inttostr (ns);

v: =v+1;

end;

if (sum>x) then begin

ns: =ns-st;

Memo1. Lines. Add ('Вы проиграли! = (');

Animate1. Visible: =true;

Animate1. FileName: = ('loose. avi');

Edit3. Text: =inttostr (ns);

p: =p+1;

end;

if (sum<x) then begin

ns: =ns+st;

Memo1. Lines. Add ('Вы выиграли! =) ');

Animate1. Visible: =true;

Animate1. FileName: = ('win. avi');

Edit3. Text: =inttostr (ns);

v: =v+1;

end;

Memo1. Lines. add ('Всего бросков: ' + Inttostr (k));

Memo1. Lines. add ('Из них выигрышей/проигрышей: ' + Inttostr (v) + ' / '+Inttostr (p));

if ns<=0 then

begin

form3. Showmodal;

end;

end;

procedure TForm2. N2Click (Sender: TObject);

begin

Form2. Hide;

form1. Show;

Button2. Enabled: =false;

Button2. Enabled: =false;

Memo1. Clear;

Edit3. Text: = ('100');

Edit1. text: = ('32');

Edit2. text: = ('6');

k: =0;

p: =0;

v: =0;

form1. Edit1. Text: = ('');

end;

procedure TForm2. Button3Click (Sender: TObject);

begin

k: =0;

p: =0;

v: =0;

memo1. Clear;

Edit3. Text: = ('100');

end;

procedure TForm2. N5Click (Sender: TObject);

begin

form4. show;

end;

procedure TForm2. N6Click (Sender: TObject);

begin

Form5. show;

end;

procedure TForm2. Image1MouseMove (Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Label5. Caption: = TimeToStr (Now ());

end;

end.

Form1

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TForm1 = class (TForm)

Image1: TImage;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Image2: TImage;

Image3: TImage;

procedure Image2MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Image2MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2;

$R *. dfm}

procedure TForm1. Image2MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Image3. Visible: =true;

end;

procedure TForm1. Image2MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

name: string;

begin

Image3. Visible: =false;

name: =Edit1. Text;

if ( (name = '') or (name = ' ')) then

begin

ShowMessage ('Введите имя');

end

else

begin

Form2. Show;

Form1. Hide;

Form2. Label1. Caption: =name;

end;

end;

end.

Form3

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TForm3 = class (TForm)

Image2: TImage;

Button1: TButton;

Button2: TButton;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit2, Unit1;

{$R *. dfm}

procedure TForm3. Button1Click (Sender: TObject);

begin

Form2. N2. click;

Form3. Close;

end;

procedure TForm3. Button2Click (Sender: TObject);

begin

Form1. Close;

end;

end.

Заключение

Оба языка обладают своими преимуществами и недостатками. И нельзя строго о превосходстве одного над другим - все зависит от того, какую задачу ставит перед собой программист. Так например Pascal более удобен для изучения, является более наглядным для новичков. (И первоначально он был создан как раз для обучения) Но С++ в свою очередь является более компактным, быстрее компилируется. За счет этого на С++ удобнее писать большие и более сложные программы, тогда как Pascal лучше предназначен для обучения и выполнения не самых сложных алгоритмов.

Использованная литература

1. А. Гусева. Учимся программировать: Pascal 7.0.

2. Фаронов В.В. Turbo Pascal. Учебный курс

3. Бьерн Страустрап. Введение в С++

4. Липман. С++ для начинающих

5. Эккель Б. Философия С++

6. http://ru. wikipedia.org/wiki/C++

7. http://ru. wikipedia.org/wiki/Pascal


Подобные документы

  • Разработка эскизного и технического проектов программы, моделирующей игру "Кости". Постановка задачи, описание алгоритма; написание программы, организация входных и выходных данных; выбор программных средств; спецификация, текст, условия выполнения.

    курсовая работа [93,8 K], добавлен 11.02.2012

  • Разработка Windows-приложения, представляющего собой компьютерную игру "Кости". Организация входных и выходных данных. Минимальные требования. Выбор состава технических и программных средств. Спецификация программы, ее описание и внедрение, тестирование.

    курсовая работа [475,8 K], добавлен 18.07.2012

  • Входные и выходные данные программы. Выбор языка программирования. Рабочая среда Delphi 7. Правила игры "Кости". Разработка пользовательского интерфейса. Экономическое обоснование программного продукта. Расчет расходов на содержание и эксплуатацию.

    дипломная работа [960,6 K], добавлен 07.02.2016

  • Разработка эскизного и технического проектов компьютерной игры "Скачки". Назначение и область применения программы. Выбор состава технических и программных средств. Составление текста программы, ее спецификация, тестирование и условия выполнения.

    курсовая работа [681,4 K], добавлен 18.10.2014

  • Область применения данной программы. Распределение ставок средствами визуального программирования. Сообщения оператору. Текст программы. Графическое отображение передвижения наездников на экране. Возможность случайного распределения номеров наездников.

    курсовая работа [57,0 K], добавлен 20.11.2013

  • Теория чисел как одно из направлений математики, изучающее свойства натуральных чисел. Разработка программы-калькулятора CalcKurs на языке программирования Pascal. Основные функции, реализованные в программе. Интерфейс программы, описание процедур.

    курсовая работа [1,9 M], добавлен 03.06.2010

  • Организация вычислительных процессов и программирования на алгоритмическом языке. Создание программы "Калькулятор". Выбор языка и среды программирования. Функциональная схема работы программы, описание разработанных алгоритмов. Способы устранения ошибок.

    курсовая работа [434,1 K], добавлен 27.08.2012

  • Методы обработки информации при решении прикладных задач. Математическая модель задачи. Блок-схема алгоритма программы. Компоненты, которые используются для работы в программе: элементы интерфейса; процедуры; операторы. Текст программы с пояснениями.

    курсовая работа [954,0 K], добавлен 07.01.2011

  • Описание принципа развивающей игры в слова "Виселица". Разработка программы, реализующей задачу данной игры на языке Delphi. Обоснование выбора среды программирования, листинг файла, результаты отладки и тестирования, руководство для пользователя.

    курсовая работа [572,7 K], добавлен 14.07.2012

  • Разработка игровой программы "Frag the monster", которая осуществляет вывод на экран случайным образом врагов, основного игрока и дополнительных объектов (оружия). Обоснование выбора языка программирования - С++. Интерфейс и принцип работы программы.

    курсовая работа [3,2 M], добавлен 27.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.