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

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

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

Студворк — интернет-сервис помощи студентам
Суть. Писал сапёра,для рандомной расстановки мин использовал фунцию rand(). Ну всё работает. Ну это только,когда я запустил первый раз,в последующие разы мины расставлялись также. Как исправить?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2014, 09:44
Ответы с готовыми решениями:

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

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

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

9
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
06.05.2014, 09:47
C++
1
srand(time(NULL));
1
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
06.05.2014, 09:47
Лучший ответ Сообщение было отмечено Игорюня как решение

Решение

C++
1
2
3
4
#include <cstdlib>
#include <ctime>
//в начале main или где-то там:
srand ( time ( 0 ) ) ; //Можете явно типы привести
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
06.05.2014, 09:49
В самом начале
C++
1
srand(time(NULL));
http://www.cplusplus.com/reference/cstdlib/srand/
1
Заблокирован
06.05.2014, 10:49
Есть у кого - то линк на инфу, как именно генерит числа rand()? Имеется ввиду сам алгоритм ...
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
06.05.2014, 11:07
Цитата Сообщение от 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
Croessmah, что то я разочарован, думал там какой то хитрый алгоритм на прерываниях
Проще самому в пару строк писать свой генератор
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
06.05.2014, 11:28
Цитата Сообщение от newbie666 Посмотреть сообщение
Проще самому в пару строк писать свой генератор
для этого в плюсах есть свои генераторы
Цитата Сообщение от newbie666 Посмотреть сообщение
думал там какой то хитрый алгоритм на прерываниях
кто Вам такое сказал? Этот генератор простейший, наверное
0
Заблокирован
06.05.2014, 11:32
Цитата Сообщение от Croessmah Посмотреть сообщение
для этого в плюсах есть свои генераторы
в смысле в std есть уже что то встроенное и не для псевдо, а для реально случайных?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
06.05.2014, 11:41
Цитата Сообщение от newbie666 Посмотреть сообщение
в смысле в std есть уже что то встроенное и не для псевдо, а для реально случайных?
Вот небольшая статья: Новые генераторы случайных чисел(ГСЧ) из С++11
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.05.2014, 11:41
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru