Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244
1

Рандомизация игры "Сапёр"

06.05.2014, 09:44. Показов 2090. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть. Писал сапёра,для рандомной расстановки мин использовал фунцию rand(). Ну всё работает. Ну это только,когда я запустил первый раз,в последующие разы мины расставлялись также. Как исправить?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2014, 09:44
Ответы с готовыми решениями:

Объясните как работает код игры "Сапер"
Здравствуйте, мне дали код игры "Сапера" как пример, а я не понимаю как он работает не мог бы кто...

Доработка игры Сапёр
Привет, есть код игры сапёр, писал по учебнику "КУЛЬТИН Visual C++ в задачах", переписал всё верно,...

Нужен исходник игры Сапер
Нигде не могу найти нормальный исходник игры Сапер 2002. Помогите пожалуйста.

Сетка для игры «Сапер»
Скажите нет ли в WPF какого то совсем простого грида у которого можно было бы просто указать...

9
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
06.05.2014, 09:47 2
C++
1
srand(time(NULL));
1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
06.05.2014, 09:47 3
Лучший ответ Сообщение было отмечено Игорюня как решение

Решение

C++
1
2
3
4
#include <cstdlib>
#include <ctime>
//в начале main или где-то там:
srand ( time ( 0 ) ) ; //Можете явно типы привести
1
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
06.05.2014, 09:49 4
В самом начале
C++
1
srand(time(NULL));
http://www.cplusplus.com/reference/cstdlib/srand/
1
Заблокирован
06.05.2014, 10:49 5
Есть у кого - то линк на инфу, как именно генерит числа rand()? Имеется ввиду сам алгоритм ...
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
06.05.2014, 11:07 6
Цитата Сообщение от newbie666 Посмотреть сообщение
Есть у кого - то линк на инфу, как именно генерит числа rand()? Имеется ввиду сам алгоритм ...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*-
 * Portions Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
 * Copyright (c) 1990, 1993
 *  The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 */
//__FBSDID("$FreeBSD: src/lib/libc/stdlib/rand.c,v 1.17.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $");
#include  <LibConfig.h>
 
#include  <stdlib.h>
 
static UINT32 next = 1;
 
/** Compute a pseudo-random number.
  *
  * Compute x = (7^5 * x) mod (2^31 - 1)
  * without overflowing 31 bits:
  *      (2^31 - 1) = 127773 * (7^5) + 2836
  * From "Random number generators: good ones are hard to find",
  * Park and Miller, Communications of the ACM, vol. 31, no. 10,
  * October 1988, p. 1195.
**/
int
rand()
{
  INT32 hi, lo, x;
 
  /* Can't be initialized with 0, so use another value. */
  if (next == 0)
    next = 123459876;
  hi = next / 127773;
  lo = next % 127773;
  x = 16807 * lo - 2836 * hi;
  if (x < 0)
    x += 0x7fffffff;
  return ((next = x) % ((UINT32)RAND_MAX + 1));
}
 
void
srand(unsigned int seed)
{
  next = (UINT32)seed;
}
1
Заблокирован
06.05.2014, 11:21 7
Croessmah, что то я разочарован, думал там какой то хитрый алгоритм на прерываниях
Проще самому в пару строк писать свой генератор
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
06.05.2014, 11:28 8
Цитата Сообщение от newbie666 Посмотреть сообщение
Проще самому в пару строк писать свой генератор
для этого в плюсах есть свои генераторы
Цитата Сообщение от newbie666 Посмотреть сообщение
думал там какой то хитрый алгоритм на прерываниях
кто Вам такое сказал? Этот генератор простейший, наверное
0
Заблокирован
06.05.2014, 11:32 9
Цитата Сообщение от Croessmah Посмотреть сообщение
для этого в плюсах есть свои генераторы
в смысле в std есть уже что то встроенное и не для псевдо, а для реально случайных?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
06.05.2014, 11:41 10
Цитата Сообщение от newbie666 Посмотреть сообщение
в смысле в std есть уже что то встроенное и не для псевдо, а для реально случайных?
Вот небольшая статья: Новые генераторы случайных чисел(ГСЧ) из С++11
1
06.05.2014, 11:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2014, 11:41
Помогаю со студенческими работами здесь

Сапер (поле для игры)
Начал писать сапер и столкнулся с такой проблемой: когда выбираем уровень сложности то нам нужно...

Диаграммы для игры сапёр
помогите написать диаграмму вариантов использования и модель предметной области для создания игры...

Составить поле для игры в сапер
1)Пастбище представляет собой прямоугольник, разбитый на N x N клеток. В каждой клетке растет...

Написать генератор карт для игры «сапёр».
Написать генератор карт для игры «сапёр». Карта размером NxM. Формат ввода Каждая строка...

Заполнить массив - поле для игры сапер.
Помогите сделать Задание 1.4.32: Буду очень благодарен.

Оптимизация алгоритма по выводу поля игры сапёр
Всем хай! Написал код для решения следующей задачи. Текст задачи: Вам дан размер...

Реализация игры, которая совмещает морской бой и сапер (C++)
Дали курсовую работу написать игру Морской бой+сапер. Подскажите пожалуйста каким образом можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru