Четверг, 28 Марта 2024, 17:10

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Что ещё надо?
Что ещё надо?
YuliaДата: Среда, 31 Января 2018, 21:12 | Сообщение # 1
был не раз
Сейчас нет на сайте
Я изучаю c++ и JavaScript. Они очень похожи, только на JavaScript не нашла в чём писать, пишу в блокноте в html-файл.

Сейчас дам пару примеров своих работ и хочу кое-что спросить. И пока не забыла, хочу спросить, в чём можно писать JavaScript ?

Добавлено (31 Января 2018, 21:02)
---------------------------------------------
Игра "быки и коровы", компьютер загадывает четыре цифры, человек отгадывает. Только надо, чтобы цифры были все разные, а они пока что одинаковые.

headers.h

Код
int rasklad(int x, int a[4]){
    a[3] = x%10;
    a[2] = (x%100 - x%10)/10;
    a[1] = (x%1000 - x%100)/100;
    a[0] = (x%10000 - x%1000)/1000;

    return 0;
}


main.cpp

Код
#include <iostream>
#include<cstdlib>
#include<ctime>
#include"headers.h"

int main(){
    setlocale(LC_ALL, "Russian");

    // загадываем случайное 4х значное число
    // !!! пока что возможны повторения
    std::srand(time(NULL));
    int x = rand()%9999;
    int y = x;

    // раскладываем число на 4 цифры:
    int a[4], b[4];
    rasklad(x, a);
    int byki, korovy;
    bool flag;
    do{
        // выводим запрос игроку
        std::cout << "Ваш ход:\n";
        std::cin >> x;

        // составляем ответ игроку
        byki = 0;
        korovy = 0;
        rasklad(x, b);

        for(int n=0; n<4; n++)
        {
            flag = false;
            for(int m=0; m<4; m++)
            {
                if(b[n] == a[m]) flag = true;
            }

            if(flag && b[n] == a[n]) byki++;
            else if(flag) korovy++;
        }

        // выводим ответ
        std::cout << "Быков = "<<byki<<" Коров = "<<korovy<<"\n";
    }
    while(byki<4);

    std::cout << "Поздравляю!!!\n";
    std::cin >> x;

    // проверяем на завершение

}

Добавлено (31 Января 2018, 21:03)
---------------------------------------------
Склеилось почему-то.

Добавлено (31 Января 2018, 21:04)
---------------------------------------------
Ну и ладно, сейчас дам что-нибудь маленькое на джаваскрипт.

Добавлено (31 Января 2018, 21:06)
---------------------------------------------
функция invertCase меняет в строке регистр каждой буквы на противоположный: маленькие буквы становятся большими, а большие- маленькими.

Код
<meta charset="utf-8">
<script>
  const invertCase = (str) => {
    const l = str.length;
    let c = 0;    
    let out = "";

    while(c<l)
    {
      let s = str[c];

      if( s !== s.toUpperCase()) s = s.toUpperCase();
      else
      if( s !== s.toLowerCase()) s = s.toLowerCase();


      out = out +s;  
      c += 1;    
    }

    return str + ' => ' + out;
  }

  alert(invertCase(' Hello, World! ')); // hELLO, wORLD!
  alert(invertCase(' I loVe JS ')); // i LOvE js

</script>

Добавлено (31 Января 2018, 21:07)
---------------------------------------------
Блин, как сделать, чтоб не склеивалось? А то до моих вопросов никто не дочитает.

Добавлено (31 Января 2018, 21:10)
---------------------------------------------
Ну и ладно. Вот мои вопросы:

что ещё нужно, чтобы сделать 2D игру? Нужен не конструктор и даже не движок, а что-то вроде библиотеки или фреймворк(вроде так это называется), чтобы можно было делать что угодно. И что ещё нужно, чтобы сделать 3D игру? Про 3D игру где-то читала, сейчас уже не найду, что всё можно найти готовое. И модели и всё-всё-всё. Только мне тоже нужен не конструктор, а чтобы можно было всё по-своему сделать. Например, порталы как в Portal.

Добавлено (31 Января 2018, 21:12)
---------------------------------------------
про 3D читала, что можно найти уже не только модели, а вообще всё. Как бы готовую игру, что ли. Не знаю.

_DOOMer_Дата: Среда, 31 Января 2018, 21:33 | Сообщение # 2
был не раз
Сейчас нет на сайте
Yulia
Цитата
и даже не движок, а что-то вроде библиотеки или фреймворк(вроде так это называется)

Если разработчик движка предоставляет его исходный код, то и с чужим движком можно сделать "все что хочешь", подправив его под свои нужды.

Если писать свою 2D игру с нуля, то да, можно (и нужно) использовать библиотеку - например для С++ очень неплоха в этом плане SFML (сам сейчас пишу пару небольших игр на нём). Но тут все упирается в уровень вашего знания С++.

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

Про 3D - тут многие берут Unity3D и пишут игру используя этот движок. Но там С# а не С++. Для любителей С++ есть Unreal Engine 4, штука мощная ноне самая простая в освоении. Но пилить 3D игру в одиночку - ИМО, очень не простая задача. Даже с использованием готовых текстур, моделей и прочих звуков.

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


Вертексы должны образовывать конвексный браш...
drcrackДата: Среда, 31 Января 2018, 23:49 | Сообщение # 3
старожил
Сейчас нет на сайте
Цитата
И пока не забыла, хочу спросить, в чём можно писать JavaScript ?

WebStorm это лучшее из всего что сейчас есть
YuliaДата: Суббота, 03 Февраля 2018, 12:07 | Сообщение # 4
был не раз
Сейчас нет на сайте
Цитата drcrack ()
WebStorm это лучшее из всего что сейчас есть


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

Цитата _DOOMer_ ()
сам сейчас пишу пару небольших игр на нём


А ты уже сделал хоть одну игру?

Цитата _DOOMer_ ()
Но пилить 3D игру в одиночку - ИМО, очень не простая задача. Даже с использованием готовых текстур, моделей и прочих звуков.

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


У меня нет амбиций потрясти вселенную геймдева. Я даже не собираюсь делать коммерческий продукт, так что можно всё спиратить. Я хорошо подумала и решила, что хочу 3D с видом из глаз.

Для начала нужно вот что: в файле записаны параметры a1, b1, h1, a2, b2, h2. Прога должна их прочитать и создать две соприкасающиеся комнаты соответствующего размера. Чтобы можно было ходить из одной комнаты в другую. Модель персонажа и текстуры стен пусть будут какие-нибудь стандартные.

Вот, наверное, пойду позадаю этот вопрос в разделах про разные движки, посмотрим, что ответят.
_DOOMer_Дата: Суббота, 03 Февраля 2018, 14:54 | Сообщение # 5
был не раз
Сейчас нет на сайте
Цитата
А ты уже сделал хоть одну игру?

На связке С++ & SFML одна почти готова (но не ффакт чо буду релизить), вторая на ранней стадии разработки.

Цитата
Для начала нужно вот что: в файле записаны параметры a1, b1, h1, a2, b2, h2. Прога должна их прочитать и создать две соприкасающиеся комнаты соответствующего размера. Чтобы можно было ходить из одной комнаты в другую. Модель персонажа и текстуры стен пусть будут какие-нибудь стандартные.

Почему именно такой вариант хранения игрового уровня?

Вобще если использовать готовые 3д-движки, типа Юнити, Анриала и иже с ними - у каждого уже имеется свой формат хранения уровней + редактор для создания эти самых уровней. И при разработке игрыне требуется писать "низкоуровневый" код загрузки карты (типа открываем файл, читаем изнего его содержимое и распарсиваем байты по нужным структурам данных) - только вызов уже готовой функциизагрузки карты\сцены в ответ на то или иное игровое событие.

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


Вертексы должны образовывать конвексный браш...
YuliaДата: Суббота, 03 Февраля 2018, 22:16 | Сообщение # 6
был не раз
Сейчас нет на сайте
Цитата _DOOMer_ ()
одна почти готова


То есть, пока ничего не сделал (((

Цитата _DOOMer_ ()
Почему именно такой вариант хранения игрового уровня?


Конкретный вариант не важен. Важно понять "от корней", как делать уровни. Полностью прорисовывать каждый уровень вручную что-то не хочется. Подробнее ответила уже здесь.
JackNazaryanДата: Вторник, 06 Февраля 2018, 04:32 | Сообщение # 7
старожил
Сейчас нет на сайте
Цитата Yulia ()
И пока не забыла, хочу спросить, в чём можно писать JavaScript ?

Notepad++

Если без сложных разветвлённых систем - подсветки синтаксиса хватит с головой.
drcrackДата: Вторник, 06 Февраля 2018, 05:05 | Сообщение # 8
старожил
Сейчас нет на сайте
Цитата
Notepad++
Если без сложных разветвлённых систем - подсветки синтаксиса хватит с головой.

Зачем страдать, если есть нормальные IDE?

Странные вообще эти советы, писать код в блокноте, пусть даже с подсветкой синтаксиса
Почему-то на C# или какой-нибудь Java никто не пишет в блокноте, даже в голову не приходит
А JS/PHP видимо такие убогие что даже IDE не достойны, или какая логика стоит за этими советами? :D


Сообщение отредактировал drcrack - Вторник, 06 Февраля 2018, 05:34
YuliaДата: Воскресенье, 11 Февраля 2018, 10:03 | Сообщение # 9
был не раз
Сейчас нет на сайте
Цитата drcrack ()
WebStorm это лучшее из всего что сейчас есть


Но он платный (((

Цитата JackNazaryan ()
Notepad++


Вопрос: как сделать, чтобы подключались библиотеки? А то у меня не работает:

Код
import { length } from './strings';
length('welcome'); // 7
Форум игроделов » Программирование » C/C++ » Что ещё надо?
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг