Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
8 мая 2024
15:10
Вход Регистрация Забыли пароль ?

webinformatic - Список уроков на тему создания flash приложений и игр
Список уроков на тему создания flash приложений и игр Как я осваивал Flash - шаг 1 - урок знакомит с основами создания и изменения свойств объектов, а также описывает соз
подробнее...

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

Mad Mix 2 | ZX Spectrum | maze game | Topo Soft, 1990

Fat Worm Blows a Sparky | ZX Spectrum | maze game | Durell Software Ltd, 1986

Ant Attack | ZX Spectrum | maze game | Quicksilva Ltd, 1983

Dingo | ZX Spectrum | maze game | Tardis Remakes, 2011

Cheril of the Bosque | ZX Spectrum | maze game | Ubhres Productions, 2010

Pac-Mania | ZX Spectrum | maze game | Grandslam Entertainments Ltd, 1988

Boulder Dash | ZX Spectrum | maze game | Front Runner, 1984

Ms. Pac-Man | ZX Spectrum | maze game | Atarisoft, 1984

Pi-In'Ere | ZX Spectrum | maze game | Automata UK Ltd, 1984

Forest Raider Cherry | ZX Spectrum | maze game | Timmy, 2010

Mine Worker | ZX Spectrum | maze game | Firestarter, 2010

Go Bear Go! | ZX Spectrum | maze game | Sinclair User, 1988

Flash Beer Trilogy | ZX Spectrum | maze game | Weird Science Software, 2003

Pacman | ZX Spectrum | maze game | SuperSoft [2], 2000

Fast Food | ZX Spectrum | maze game | Code Masters Ltd, 1989

In The Walls of Eryx | ZX Spectrum | maze game | Monster's Legs Productions, 2016

Rockford | ZX Spectrum | maze game | Mastertronic Added Dimension, 1987

Tantalus | ZX Spectrum | maze game | Quicksilva Ltd, 1986

Gauntlet II | ZX Spectrum | maze game | US Gold Ltd, 1988

Maze Mania | ZX Spectrum | maze game | Hewson Consultants Ltd, 1989

Nonterraqueous | ZX Spectrum | maze game | Mastertronic Ltd, 1985

Mission Omega | ZX Spectrum | maze game | Mind Games, 1986

Gauntlet III: The Final Quest | ZX Spectrum | maze game | US Gold Ltd, 1991

Final Matrix, The | ZX Spectrum | maze game | Gremlin Graphics Software Ltd, 1987

Pacman's Revenge | ZX Spectrum | maze game | Idem Soft, 1988

игры онлайн | games online | play online | zx-spectrum games

игры онлайн | games online | play online | zx-spectrum games

Dynatron Mission | ZX Spectrum | maze game | Mastertronic Ltd, 1987

Moggy Adventure | ZX Spectrum | maze game | Ubhres Productions, 2010

FLAPPY BIRD | arcade | MULTIPLAYER | flaapio

Pencil Paper and the Ball | logic arcade | MULTIPLAYER | megainformatic

Micro Mouse | ZX Spectrum | maze game | Mastertronic Plus, 1989

Well 2, The | ZX Spectrum | maze game | Beyker Soft, 2006

Ninja Massacre | ZX Spectrum | maze game | Code Masters Ltd, 1989

Starblastio | arcade | MULTIPLAYER | ARENA - ASTEROIDS - BATTLE

Cut The Rope | Phisics | Zeptolab

Christmas Girl Dressup | Dressup

Panda Hair Do | Dressup | Funny House Games

Marble Smash | match 3

Two Cars | arcade

Spider Solitaire | card game

Simonmemory | memory trainer | Code This Lab

Tap the Frog | point and click

Tap the Frog | point and click

Fruit Pop | link objects

Farm Pets | swap objects

Blow Fish | point and click

Bug Match | swap objects & match 3

Froggee | point and click

Molecule Man | ZX Spectrum | maze game | Mastertronic Ltd, 1986

Cybex | ZX Spectrum | maze game | Pirate Software Ltd, 1987

Gobbleman | ZX Spectrum | maze game | Artic Computing Ltd, 1982

Muncher Compo, The | ZX Spectrum | maze game | Sinclair User, 1988

Titan | ZX Spectrum | maze game | Titus, 1989

Kolobok Zoom 2: In The Unfair World | ZX Spectrum | arcade game | Asphyxia (Беларусь), Fatality (Беларусь), 1998

Batty | ZX Spectrum | arcade game | Hit-Pak, 1987

 

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Урок 1 Основные операторы языка C++

 
     
     
     
 

Данный небольшой урок является введением в программирование на C++ в MSVS 2008

Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал)

 
     
  [назад] [далее] [к содержанию]  
     
  Мы рассматриваем основные конструкции языка C++ на примере работы в Microsoft Visual Studio 2008  
     
  В предыдущем уроке мы создали небольшой калькулятор. Этот урок позволил нам бегло познакомиться с некоторыми из конструкций языка C++ и некоторыми функциями.  
     
 

Теперь пришло время начать освещение основных базовых конструкций языка C++ на конкретных примерах

Основные операторы (statements) языка - этой теме посвящен следующий раздел MSVS 2008 Documentation (далее просто Help) - Development Tools and Languages > Visual Studio > Visual C++ > Reference > C/C++ Languages

- использование операторов помеченных меткой;

- построение выражений;

- пустой оператор;

- операторы наполнения (логические скобки);

- операторы выбора (ветвлений);

- операторы организации циклов;

- операторы перехода (передачи управления);

- операторы объявления переменных;

- операторы обработки исключений;

 
     
 

- использование операторов помеченных меткой;

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

Пример из MSVS 2008 Help

// labels_with_goto.cpp
// compile with: /EHsc
#include <iostream>
int main() {
using namespace std;
goto Test2;

cout << "testing" << endl;

Test2:
cerr << "At Test2 label." << endl;
}

 
     
 

данный пример рассчитан на консольное приложение. Как видим в отличие от delphi метка не требует предварительного объявления. Достаточно лишь указать допустимый идентификатор метки (Слово начинающееся с буквы) и закончить его двоеточием указав в нужном месте программы. Метка всегда указывает на исполнимый оператор! Даже если в этом месте будет записана строка комментария например так -

Test2:

//
cerr << "At Test2 label." << endl;

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

 
     
 

- построение выражений;

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

Выражение должно завершаться точкой с запятой.

Примеры выражений:

coord_x = coord_x + 10 * MoveSpeed * TimeCounter;

absc2 = sqrt( abs ( c1 ) );

 
     
 

- пустой оператор;

Это строка содержащая лишь точку с запятой, т.е.

;

 
     
 

- операторы наполнения (логические скобки);

это пара фигурных скобок { и }. Применяется как блок операторов там, где вместо одного оператора нужно использовать целую группу. Блок может не содержать ни одного оператора вообще, тогда это просто пустой блок.

Пример:

if( Amount > 100 )
{

cout << "Amount was too large to handle\n";
Alert();

}
else

Balance -= Amount;

Все переменные объявленные внутри блока без префикса static являются локальными для данного блока.

 
     
 

- операторы выбора (ветвлений);

оператор switch - оператор ветвлений

мы уже сталкивались с этим оператором в предыдущем уроке, когда писали пример простейшего калькулятора

форма записи этого оператора

switch ( expression )
case constant-expression : statement
[default : statement]

выражение в скобках должно давать целочисленный результат

каждый оператор case позволяет выполнять заданный блок кода в зависимости от указанного целочисленного значения

блок кода при default выполняется когда значению выражения не соответствует ни одна строка с оператором case

Пример:

// switch_statement2.cpp
// C2360 expected
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
switch( tolower( *argv[1] ) )
{
// Error. Unreachable declaration.
char szChEntered[] = "Character entered was: ";

case 'a' :
{
// Declaration of szChEntered OK. Local scope.
char szChEntered[] = "Character entered was: ";
cout << szChEntered << "a\n";
}
break;

case 'b' :
// Value of szChEntered undefined.
cout << szChEntered << "b\n";
break;

default:
// Value of szChEntered undefined.
cout << szChEntered << "neither a nor b\n";
break;
}
}


заметьте, что в каждом блоке кода оператора case, а также в блок default применяется оператор break. Он позволяет закончить исполнение оператора switch, в противном случае может быть дополнительно выполнен блок кода в ветви default. Если это действительно требуется, то оператор break не нужен, в противном случае его нужно применять всегда!

Если Вы программировали на Delphi, то заметите, что аналогом оператора switch в delphi является оператор case. Т.е. switch в C++ и case в Delphi это одно и то же. Отличия состоят в синтаксисе, наличие строки default (в C++) и применении оператора break (в C++).

к операторам выбора также относится оператор условия if

if ( expression )
statement1
[else
statement2]

как видим он похож на использование оператора if в delphi, с тем лишь отличием, что слово then не используется.

Пример:

// if_else_statement.cpp
#include <stdio.h>

int main() {
int x = 0;
if ( 1 ) // if statement #1
// {
if ( !x ) // if statement #2
printf_s("!x\n");
else // paired with if statement #2
printf_s("x\n");
// }
}

существенное отличие оператора if в C++ состоит в том, что выражение при if может принимать не логические значения (тип boolean), а целые - 0 и 1. Нулю соответствует логический FALSE (ложь), единице TRUE - истина.

Поэтому в C++ аналогом delphi-конструкции

if SomeObject <> nil then {...}

else {...};

будет являться

if SomeObject

{

}

else

{

}

 
     
 

- операторы организации циклов;

служат для выполнения одной и той же группы операторов итеративно.

Различают циклы с предусловием while, пост условием do и цикл с заданным количеством итераций for

while ( expression )
statement

в цикле while группа операторов statement выполняется пока значение выражения expression не достигнет нуля

Пример:

кусок кода на delphi7

aCurrentCharnum := 0;
SomeParamStr = 'param1; param2;';
ParamDelimeter = ';';
ParamStr := '';
while aCurrentStr[aCurrentCharnum] <> ParamDelimeter do begin
ParamStr := ParamStr + aCurrentStr[aCurrentCharNum];
Inc(aCurrentCharNum);
end;

при условии, что требуемые переменные объявлены, на C++ будет выглядеть так

int aCurrentCharnum = 0;
String^ SomeParamStr = L"param1; param2;";
Char ParamDelimeter = ';';
String^ ParamStr = L"";
String^ aCurrentStr = SomeParamStr;
while (aCurrentStr[aCurrentCharnum] != ParamDelimeter)
{
ParamStr = ParamStr + aCurrentStr[aCurrentCharnum];
aCurrentCharnum++;
}

 
     
  Обязательно напишите и проверьте работу этого кода в приложении наподобие HelloWorldCLR  
     
 

оператор цикла с пост-условием do

do
statement
while ( expression ) ;

оператор do является аналогом цикла repeat..until в delphi

Пример:

int i = 0;
String^ SomeStr = L"";

do
{
SomeStr = SomeStr + Convert::ToString(i);
i++;
} while (i < 3);
button1->Text = SomeStr;

по нажатию на кнопку на ее поверхности выводится 012

 
     
 

цикл for

for ( init-expression ; cond-expression ; loop-expression )
statement

про цикл for в документации по MSVS рассказано много интересных вещей, так что за подробностями обратитесь к ней.

Кратко же использование цикла for выглядит так -

Пример:

String^ SomeStr = L"";

for (int i = 0; i<5; i++)
{
SomeStr = SomeStr + Convert::ToString(i);
}
button1->Text = SomeStr;

на поверхности кнопки появляется текст 01234

 
     
 

- операторы перехода (передачи управления);

к операторам перехода относятся операторы изменяющие обычный последовательный ход исполнения программы -

break, continue, return, goto

оператор break аналогичен оператору break в delphi - служит для немедленного выхода из цикла for, while и do, кроме того используется для выхода из ветви оператора switch (в delphi для этих целей не применяется)

оператор continue аналогичен оператору continue в delphi - служит для немедленного перехода к следующей итерации цикла for, while и do

оператор return

return [expression]

служит для возврата из функции или процедуры. Если выполняется возврат из функции, то значение выражения expression возвращается в качестве результата. Для функций void (процедур) никакого результата не возвращается.

Для возврата из процедуры (функция с результатом void) специального вызова return не требуется. Выполнение процедуры будет закончено там, где кончаются ее логические скобки.

оператор goto служит для безусловной передачи управления на указанную метку -

goto identifier ;

Примеры:

для корректного выполнения примера в приложении Windows Forms добавьте на форму поле ввода textBox1

int somenum = Convert::ToInt32(textBox1->Text);

for (int i = somenum; i < (somenum+3); i++)
{
if (i == (somenum+1))
{
textBox1->Text = Convert::ToString(i);
break;
}
}

данный код добавьте в обработчик нажатия на кнопку button1 размещенную на форме Form1

по нажатию на кнопку в поле textBox1 вместо введенного значения появляется значение на 1 большее

в случае когда поля textBox1 пусто вырабатывается исключительная ситуация. Ее можно избежать, если для свойства Text у textBox1 задать любое числовое значение, которое будет значением по умолчанию

// continue_statement.cpp
#include <stdio.h>
int main()
{
int i = 0;
do
{
i++;
printf_s("before the continue\n");
continue;
printf("after the continue, should never print\n");
} while (i < 3);

printf_s("after the do loop\n");
}

пример с использованием continue показывает как строка after the continue, should never print никогда не будет выведена на консоль

// return_statement2.cpp
#include <stdio.h>

int max ( int a, int b )
{
return ( a > b ? a : b );
}

int main()
{
int nOne = 5;
int nTwo = 7;

printf_s("\n%d is bigger\n", max( nOne, nTwo ));
}

пример функции выбора максимального числа из двух заданных

// goto_statement.cpp
#include <stdio.h>
int main()
{
int i, j;

for ( i = 0; i < 10; i++ )
{
printf_s( "Outer loop executing. i = %d\n", i );
for ( j = 0; j < 2; j++ )
{
printf_s( " Inner loop executing. j = %d\n", j );
if ( i == 3 )
goto stop;
}
}

// This message does not print:
printf_s( "Loop exited. i = %d\n", i );

stop:
printf_s( "Jumped to stop. i = %d\n", i );
}

а это был пример использования оператора goto

 
     
  в следующем уроке мы рассмотрим операторы объявления переменных и обработки исключений  
     
  [назад] [далее] [к содержанию]  
 

Оставленные комментарии



Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
Время загрузки: 0,4086