Понедельник, 25 Августа 2025, 16:21

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
SaiteiДата: Суббота, 05 Января 2013, 15:30 | Сообщение # 901 | Тема: Графика в консоли
старожил
Сейчас нет на сайте
TimKruz, это, как я понял, на чистом iostream пока что нереализуемо?
SaiteiДата: Суббота, 05 Января 2013, 00:47 | Сообщение # 902 | Тема: Вопрос-Ответ (C++)
старожил
Сейчас нет на сайте
Цитата (Edison6)
И вопрос сразу второй мне для моей первой сетевой игры где будут бегать два спрайта необходима кроссплатформенная библотека для работы с сетью какие есть предложения?

Мне вот тоже интересно. Какую-нибудь легенькую и с целой кучей русских уроков...
на WinSock мало что находил (в основном книги).
SaiteiДата: Суббота, 05 Января 2013, 00:18 | Сообщение # 903 | Тема: Вопрос-Ответ (C++)
старожил
Сейчас нет на сайте
Нохчи, извините, совсем не заметил. Спасибо большое за помощь
SaiteiДата: Пятница, 04 Января 2013, 23:59 | Сообщение # 904 | Тема: Вопрос-Ответ (C++)
старожил
Сейчас нет на сайте
Код
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;

char map[6][6] ={"1|2|3",
      "-+-+-",
      "4|5|6",
      "-+-+-",
      "7|8|9"};
int input; bool finished = false;

int main() {
  while(!finished) {
   system("cls");
   for(int i = 0; i < 6; i++) {
    for(int j = 0; j < 6; j++) {
     cout<<map[i][j];
    }
    cout<<'\n';
   }
   input = getch();
   if(input=='1') {
    if(map[0][0]!='O') {
     map[0][0] = 'X';
     input=0;
    }
   }
   if(input=='2') {
    if(map[0][2]!='O') {
     map[0][2] = 'X';
     input=0;
    }
   }
   if(input=='3') {
    if(map[0][4]!='O') {
     map[0][4] = 'X';
     input=0;
    }
   }
   if(map[0][0]=='x' && map[0][2]=='x' && map[0][4] == 'x') {
    finished = true;
   }
  }
  cout<<"YOU WIN!!!";
  getch();
  return 0;
}

сделал так, но из цикла программа не вышла => условие работает некорректно
SaiteiДата: Пятница, 04 Января 2013, 23:50 | Сообщение # 905 | Тема: Вопрос-Ответ (C++)
старожил
Сейчас нет на сайте
ругается на строку:
Код
    if(map[0][0] & map[0][2] & map[0][4] = 'x') {
    finished = true;
   }

почему? как быть? Делаю крестики-нолики
SaiteiДата: Пятница, 04 Января 2013, 16:55 | Сообщение # 906 | Тема: Графика в консоли
старожил
Сейчас нет на сайте
GECK, Блин... А ссылку не могу открыть ("Веб-страница недоступна")...
Можете как-нибудь перезалить, если не сложно? Очень обрадовался, с удовольствием посмотрю! smile

Добавлено (03.01.2013, 22:11)
---------------------------------------------
скачал. Сейчас буду рассматривать)) Вопросы лучше сюда задавать или лично Вам в ЛС? Мне действительно очень интересно. Серьёзно - о написании таких игрушек мечтаю уже довольно давно

Добавлено (04.01.2013, 16:55)
---------------------------------------------
кто-то сделает пример (минимальный, легкий) реализации двухбуфферной отрисовки? У меня сегодня день рождения - сделайте подарок (lol)) )

SaiteiДата: Четверг, 03 Января 2013, 20:59 | Сообщение # 907 | Тема: Графика в консоли
старожил
Сейчас нет на сайте
GECK, спасибо за ссылки, сейчас посмотрю.
Мне действительно очень интересно =) Буквально минуты три назад смог инициализировать и нарисовать двумерный массив. Даже и не подозревал, что такие чудеса творить можно..))
Правда вот как я делаю:
Цитата (Saitei)
Массив перерисовывается\изменяется каждый раз за N

то консоль сама по себе блымает. Ну или при передвижении ГГ (великая честь для символа "Т"...)) ). Это как-нибудь устранить можно? Задержки как таковой четкую я не ставил. Всё идет через чистый while(true)
SaiteiДата: Четверг, 03 Января 2013, 19:26 | Сообщение # 908 | Тема: Графика в консоли
старожил
Сейчас нет на сайте
Привет всем! Может быть я всем уже надоел, но... Кого ещё не сильно задрал - великодушно прошу помочь\подсказать happy
Совсем недавно я загорался желанием переходить на OpenGL, но там возникли свои обстоятельства и не получилось... Поэтому снова возвращаюсь к программированию на консоль. Суть дела такова: уже давно (месяцев эдак три точно прошло) мечтаю попробовать написать консольную игрушку с символьной графикой (вроде это называется "ASCII игры", точно не знаю... Если глупость ляпнул - прошу поправить).
Проблема моя заключается в том, что я не знаю куда смотреть и что учить. Местами понимаю как должен работать алгоритм, но каких-либо функций для реализации я не знаю.
Если вам не сложно - то пожалуйста, помогите, подскажите на что обратить внимание и вообще что учить. Было бы совсем шикарно - если вы показали какой-нибудь легенький пример (как говорится "показали мастер-класс :)").
Классы понимать начал, с массивами уже работал. Типы переменных и циклы тоже знаю. Дело именно в том, что не знаю куда смотреть... Так как мне быть? ПРИМУ ЛЮБУЮ ПОМОЩЬ И СОВЕТЫ

Добавлено (03.01.2013, 19:26)
---------------------------------------------
пока я думаю над таким алгоритмам: вся карта - двумерный массив типа byte. И в зависимости от значения в определенном месте ставится определенный символ (например 1 = "%"). Массив перерисовывается\изменяется каждый раз за N миллисекунд. Но как нарисовать массив в консоли и как "управлять" (т.е. смещать какой-либо объект) массивом - не знаю... Хоть убейте - не знаю. А хочется знать

SaiteiДата: Среда, 02 Января 2013, 15:48 | Сообщение # 909 | Тема: GLUT. Нужна помощь новичку :(
старожил
Сейчас нет на сайте
ну и... чтобы объяснялось практически ВСЁ... Просто какой раз уже сталкиваюсь с "уроками", где вместо полезной информации в голову впихивают пустоту. То есть совсем ничего не объясняют и говорят: "Вставьте код, теперь у вас ...". Я просто человек вредный, страдаю чувством неполноценности. Если вижу что-то непонятное - жутко начинает это беспокоить
SaiteiДата: Среда, 02 Января 2013, 15:31 | Сообщение # 910 | Тема: Вопрос-Ответ (C++)
старожил
Сейчас нет на сайте
Цитата (Tikara)
#include <time.h>
int main(){
clock_t time;
   
time = clock();
/* вызов функции */
time = clock() - time;
return 0;
}

Спасибо большое. Есть немного мелких вопросов (пожалуйста, ответьте, если я вам ещё не сильно надоел)) ):
time = clock(); - это мы "заводим" таймер?
time = clock() - time; - а это мы его останавливаем? Я правильно понимаю?
SaiteiДата: Среда, 02 Января 2013, 15:26 | Сообщение # 911 | Тема: GLUT. Нужна помощь новичку :(
старожил
Сейчас нет на сайте
Цитата (TimKruz)
P.S. Может быть, попробуешь разобраться (хотя бы в теории) с чистым OpenGL, а потом утилиты типа GLUT начнёшь юзать?

Ох... Здесь я на все 100% солидарен... Только есть проблемы - а с чего начинать учить чистый OpenGL? Я книжечки уже искал, но в основном находил справочники (например от книги "OpenGL. Красная книга" я ничего не извлёк, так как там толком ничего не объясняют и, как мне показалось, там всё написано для людей "уже в теме").
Если посоветуете книжку для чайника - буду ОЧЕНЬ благодарен. Ищу уже чёрти-сколько, а никак найти не могу. Я бы купил, но в городе моём таких книг нет. А ждат ьпока придет посылка из интернета - чересчур долго, выдержки не хватит..))
Вообще существуют ли такие книги? Чтобы всё для чайника писалось, с примерами кода, с постановкой и решением определенных задач? И на русском языке?
Я конечно понимаю, знание английского языка - мощное оружие (коим я владею хорошо), но всё равно хочется что-нибудь почитать на родном языке... Вы можете что-нибудь посоветовать?
Просто ищу - а ничего найти не могу. Вот просто книг "С++ с нуля" - море, а вот OpenGL...

SaiteiДата: Вторник, 01 Января 2013, 17:29 | Сообщение # 912 | Тема: Вопрос-Ответ (C++)
старожил
Сейчас нет на сайте
Здавствуйте! Скажите пожалуйста, а как можно засечь время в C++? Сделать что-то вроде таймера. Хочу посмотреть за сколько секунд (или миллисекунд) функция выполняется
SaiteiДата: Вторник, 01 Января 2013, 17:25 | Сообщение # 913 | Тема: GLUT. Нужна помощь новичку :(
старожил
Сейчас нет на сайте
Вообщем я пока что написал вот такой код (согласен, его очень мало. Но сжальтесь над новичком)) ):
Код
#include <glut.h> //OpenGL Utility Toolkit (GLUT)

void Render() {  
  glClear(GL_COLOR_BUFFER_BIT);
  glFlush();
}

void Init() {
  glClearColor(0,0,0,0); //Цвет фона (в формате RGBA)
}

int main(int argc, char** argv) {
  /*Инициализация*/
  glutInit(&argc, argv); //Инициализация GLUT
  glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); //Режим вывода графики на дисплей
  glutInitWindowSize(640, 480); //Размеры создаваемого окна
  glutInitWindowPosition(150,150); //Положение созадваемого окна
  glutCreateWindow("Saitei"); //Создаём окно с определенным заголовком
  /*Регистрация функций*/
  glutDisplayFunc(Render); //Регистрируем цикл рисования
  Init(); //Инициализация
  glutMainLoop(); //Главный цикл GLUT
  return 0;
}

Пожалуйста, обїясните мне конкретнее что делает glClear(GL_COLOR_BUFFER_BIT); glFlush(); и glClearColor(0,0,0,0);? Ну да, комментировал я сам, искал. Но во многих местах я не совсем уверен. Если есть в комментариях кода какие-то неточности - пожалуйста, поправьте меня. Заранее благодарю, обязательно поставлю плюсы
SaiteiДата: Понедельник, 31 Декабря 2012, 22:42 | Сообщение # 914 | Тема: Классы. Как с ними работать?
старожил
Сейчас нет на сайте
Tikara, goldsphere, спасибо большое! А если я напишу delete a; , то объект a вместе с его переменными удалится? Я правильно понимаю? Просто учитель заставил писать программу, используя классы (а я в них ещё не сильно вник..)

Сообщение отредактировал Saitei - Понедельник, 31 Декабря 2012, 22:48
SaiteiДата: Понедельник, 31 Декабря 2012, 19:56 | Сообщение # 915 | Тема: Классы. Как с ними работать?
старожил
Сейчас нет на сайте
Код
#include <iostream>
#include <Windows.h>
using namespace std;

class line_ur{
     public:
     int a, b;
     void ent(){
     cout<<"ax^2=b;"<<'\n';
     cout<<"Пожалуйста, введите значения для a и b"<<'\n';
     cout<<"a:";
     cin>>a;
     cout<<"b:";
     cin>>b;
     }
};

int main(){
setlocale( LC_ALL,"" );
cout<<"Здравствуйте! Пожалуйста, выберите действие из меню:"<<'\n';
cout<<"(1)Линейные уравнения"<<'\n';
cout<<"(2)Квадратные уравнения"<<'\n';
cout<<"(3)Выход"<<'\n';
int choice;
cin>>choice;
if(choice==3){

}
if(choice==2){

}
if(choice==1){
system("cls");
line_ur* a = new line_ur();
a.ent();
}
return 0;
}

ничегошеньки не получается... и не пойму почему
SaiteiДата: Пятница, 28 Декабря 2012, 00:05 | Сообщение # 916 | Тема: Дискриминант. Работает программа некорректно...
старожил
Сейчас нет на сайте
Цитата (Нохчи)
формула b^2-4ac вроде

но pow же вроде B возводит в квадрат... Всё правильно

Добавлено (28.12.2012, 00:04)
---------------------------------------------
Нохчи, ОЙ!!! НЕ ЗАМЕТИЛ, СЕЙЧАС ИСПРАВЛЮ.
Спасибо!

Добавлено (28.12.2012, 00:05)
---------------------------------------------
всё равно работает некорректно...

SaiteiДата: Четверг, 27 Декабря 2012, 23:19 | Сообщение # 917 | Тема: Дискриминант. Работает программа некорректно...
старожил
Сейчас нет на сайте
Код
#include <iostream>
#include <math.h>
using namespace std;

int A,C;
double B;

int main()
{
setlocale(0,"Russian");
while(true)
{
start:
cout<<"Введите значения переменных A, B, C (можно через пробел)"<<'\n';
cout<<"(A>0)"<<'\n';
cin>>A>>B>>C;
     if(A<=0)
     {
     cout<<"Сожалею, но число A("<<A<<") меньше нуля или равно нулю"<<'\n';
     goto start;
     }
double D = pow(B,2)+4*A*C;
     if(D<0)
     {
     cout<<"Решений нет"<<'\n';
     goto start;
     }
     if(D=0)
     {
     cout<<"Один корень. x = "<<-B/2*A<<'\n';
     goto start;
     }
     if(D>0)
     {
     cout<<"Два корня. x1 = "<<(-B-sqrt(D))/2*A<<"; x2 = "<<(-B+sqrt(D))/2*A<<'\n';
     goto start;
     }
}
return 0;
}

ещё было бы круто избавиться от goto, но при этом сильно не изменяя мою программу

Добавлено (27.12.2012, 23:19)
---------------------------------------------
p.s. какие значения я не вводил бы - всё начиналось с начала...

SaiteiДата: Пятница, 14 Декабря 2012, 15:48 | Сообщение # 918 | Тема: Конференция программистов геймдева!
старожил
Сейчас нет на сайте
Snuux, она ещё жива, эта конференция?
SaiteiДата: Пятница, 14 Декабря 2012, 15:39 | Сообщение # 919 | Тема: Графика, выбираю графическую библиотеку (для новичка)
старожил
Сейчас нет на сайте
Snuux,
Code
1>------ Build started: Project: SDL1, Configuration: Debug Win32 ------
1>main.obj : error LNK2019: unresolved external symbol _SDL_Quit referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_FreeSurface referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_Delay referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_Flip referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_UpperBlit referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_LoadBMP_RW referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_RWFromFile referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_SetVideoMode referenced in function _SDL_main
1>main.obj : error LNK2019: unresolved external symbol _SDL_Init referenced in function _SDL_main
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>D:\zadaniya\SDL\SDL1\Debug\SDL1.exe : fatal error LNK1120: 10 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
SaiteiДата: Четверг, 13 Декабря 2012, 23:57 | Сообщение # 920 | Тема: Графика, выбираю графическую библиотеку (для новичка)
старожил
Сейчас нет на сайте
RUNGOGET2THECHOPAH,
Quote
#include <SDL.h>

int main( int argc, char* args[] )
{
SDL_Surface* test = NULL;
SDL_Surface* testscreen = NULL;
//Start SDL
SDL_Init( SDL_INIT_EVERYTHING );

//Set up screen
testscreen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );

//Load image
test = SDL_LoadBMP( "01.bmp" );
//Apply image to screen
SDL_BlitSurface( test, NULL, testscreen, NULL );

//Update Screen
SDL_Flip( testscreen );

//Pause
SDL_Delay( 2000 );
//Free the loaded image
SDL_FreeSurface( test );

//Quit SDL
SDL_Quit();

return 0;

ради интереса попробовал - не запускает...
Поиск:

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