.


:




:

































 

 

 

 


, .

, . , : , - . - , .

- , , . , , . , .

, .

, , .

, , .

, , . - : Null .

 

, , , , . . , .

, . , , . . , : 1, 2, 3, 4, 5. , -, , : 4, 1, 5, 3, 2. , : 5, 4, 3, 2, 1.

, , , , null ( ). - - , , () , , (.1). .

( ) . : , . : , .

 
 

 

 


:

struct _ {

;

1;

2;

};

, , ;
1 , , ;
2 , , .

. , , . , (- : - ). .

, , . , , . VAR RECORD .

, .

, , . , . . , WHILE DO REPEATUNTIL FOR.

( , )

First N Last

:

1. First ;

2. Last - ;

3. N - ;

 

. 1.

:

struct _ {

;

1;

2;

};

, , ;
1 , , ;
2 , , .

, , . , . . , WHILE DO REPEATUNTIL FOR.

( , )

First N Last

:

- First ;

- Last - ;

- N - ;

 

:

 

 

, . ++. , , . , - .

. :

i, j ,

k

true/false boolean ,

, , . , .

 

, , 4 :

- New game ( )

- Options ()

- Bomb number ( )

- Color ( )

- Red ()

- Green ()

-Blue ()

- Difficulty ()

- 55

- 99

-Back ( )

-Developers ()

-Exit ()

, Enter. Esk. ( ). .

. 5 5 9 9, . . , ( ). , () ().

 

, . , ( ). .

, . : 23 (20 - ), .

20 , -.

, .

:
.. , ..

. ++

: C++

http://www.vr-online.ru/content/s-dvusvjaznye-spiski-3085 - ++, .

http://www.rsdn.ru/forum/src/2261478.1.aspx ++,

http://comp-science.narod.ru/Progr/Dynamic.htm - ,

 

#include "StdAfx.h"

#include "a2b2c2.h"

#include "stdafx.h"

#include <iostream>

#include <conio.h>

#include <string>

 

using namespace std;

 

 

void list::Add_element(int str, int stb, int num, bool bomb)

{

element *new_element = new element;

if (head == NULL) //first elem

{

new_element->prev = new_element;

new_element->next = new_element;

head = new_element;

tail = new_element;

}

 

new_element->bomb = bomb;

new_element->num = num;

new_element->str = str;

new_element->stb = stb;

tail->next = new_element;//

head->prev = new_element;//

new_element->next = head;

new_element->prev = tail;

tail = new_element;

count_element++;

};

 

void list::Print_list()

{

element *new_element = head;

if (head == NULL)

cout << "Empty list\n";

else

{

cout << endl;

for (int i=0; i<count_element; i++)

{

if (new_element->bomb == true)

cout << "bomb " << ": [" << new_element->str << ";" << new_element->stb << "]\n";

//else

// cout << "box number " << new_element->num << ": [" << new_element->str << ";" << new_element->stb << "]\n";

new_element = new_element->next;

}

/*

cout << endl << "List <-:";

 

new_element = tail;

for (int i=0; i < count_element; i++)

{

cout << new_element->data + ' ';

new_element = new_element->prev;

}*/

}

};

 

void list::Del_element(int str, int stb, int level)

{

element *new_element = head;

 

{

for(int i=0; i<level; i++) //,

{

new_element = new_element->next;

if ((new_element->str==str) && (new_element->stb == stb))

break;

}

 

 

if (new_element == head) //

{

if (count_element == 1) //

{

head = NULL;

tail = NULL;

}

else // ,

{

head = new_element->next;//head

new_element->next = NULL;

new_element->prev = NULL;//

head->prev = tail;//->

tail->next = head;//->

}

 

cout << "\nbomb number"<<new_element->num<< ": [" << str<< ";"<<stb << "] is found ";

delete new_element;

count_element--;

return;

}

}

 

if (new_element == tail) //

{

tail = new_element->prev;

new_element->next = NULL;

new_element->prev = NULL;

tail->next = head;

head->prev = tail;

cout << "\nbomb number"<<new_element->num<< ": [" << str<< ";"<<stb << "] is found ";

delete new_element;

count_element--;

}

 

//

if ((new_element!= head) && (new_element!= tail))

{

//new_element

new_element->prev->next = new_element->next; //

new_element->next->prev = new_element->prev; //

cout << "\nbomb number"<<new_element->num<< ": [" << str<< ";"<<stb << "] is found ";

delete new_element;

count_element--;

return;

}

};

 

void list::Del_list()

{

if (head!= NULL)

for (int i=0; i < count_element; i++)

{

element *new_element = head;

head = head->next;

new_element->next = NULL;

new_element->prev = NULL;

delete new_element;

}

count_element = 0;

head = NULL;

tail = NULL;

};

 

void KillBomb(int level)

{

bool fl=true;

 

for (int i=0; i<level; i++)

for (int j=0; j<level; j++)

if ((a[i][j]==20) && (b[i][j]==1))

{

new_element = bomb_list.head;

int ttl =0;

bool usf_elem = true;

while (usf_elem)

{

new_element = new_element->next;

ttl++;

if (((new_element->str == i) && (new_element->stb == j)) || (ttl>level*level+1))

usf_elem=false;

}

 

if (new_element == bomb_list.head)

if (bomb_list.count_element == 1)

bomb_list.head = NULL;

else

bomb_list.head = new_element->next;

if (new_element == bomb_list.tail)

if (bomb_list.count_element == 1)

bomb_list.tail = NULL;

else

bomb_list.tail = new_element->prev;

 

new_element->prev->next = new_element->next;//

new_element->next->prev = new_element->prev;//

bomb_list.count_element--;

if(game_list.head == NULL)

{

game_list.head = new_element;

game_list.tail = new_element;

new_element->next = new_element;

new_element->prev = new_element;

}

else

{

game_list.tail->next = new_element;

new_element->prev = game_list.tail;

game_list.head->prev = new_element;

new_element->next = game_list.head;

 

game_list.tail = new_element;

}

game_list.count_element++;

}

 

cout <<"\nBombs left: ";

bomb_list.Print_list();

cout <<"\nBombs found: ";

game_list.Print_list();

bomb_list.Del_list();

game_list.Del_list();};



<== | ==>
Place: Ak. Pavlov, str., 271, Radmir Expohall, Kharkov, Ukraine. www.radmir-expohall.com.ua | : , , . . , 271, . www.radmir-expohall.com.ua
:


: 2017-02-11; !; : 383 |


:

:

, , .
==> ...

820 - | 780 -


© 2015-2024 lektsii.org - -

: 0.113 .