[C++] Worm Beta v2.2 [Console]
RedPanda_UA Дата: Четверг, 08 Декабря 2011, 01:53 | Сообщение # 1
был не раз
Сейчас нет на сайте
Вот учился в малой академии, ходил ток раз в неделю так чтоб хоть чуть ума набраться (школьник же был) и дошло дело до экзамена я склепал эту... "демку" и сдал экзамен на 11/12 =) Смысл игры в том, что вам нужно насобирать серебра и золота не попав в лаву (блин да в нее нерал. попасть ) В игре 3 уровня сложности, в игре все пишет (на англ. (люблю англ. )) Скажу только про Тяжелый (Hard) там где уже рыл там уже не пройдешь Скрины: Есть пару "НО": 1. Проект как я понял был потерян при перестановки Винды и форматирования всего живого 1.1) Но есть старый проект на ноуте 2. Игра - недо... 2.1) недоделанная 2.2) багнутая 2.3) консольная 3. Код навален на кучу, функции разбросаны и т.д. 3.1) Комментариев к сожалению нету Скачать: C http://www.mediafire.com/ Код (чуть устарелый от игры):
Quote
#include <iostream> #include <stdlib.h> #include <time.h> #include <Windows.h> #include <conio.h> using namespace std; int score=0; int moves=0; int walls=0; int diff; char gold=15, silver=5, dirt=177, stone=176; void input(char**pmas, int size, int size2) { for(char i=0;i<size;i++) { for(int j=0;j<size2;j++) { pmas[i][j]=(char)177; } } } void show(char**pmas, int size, int size2) { for(int i=0;i<size;i++) { for(int j=0;j<size2;j++) { cout<<pmas[i][j]; } cout<<endl; } } void spawnwalls(char**mas, int walls) { char t=176; int a, b; for(int i=0;i<walls;i++) { a=rand()%20; b=rand()%50; mas[a][b]=t; } } void spawngold(char**mas) { char t=15; int a, b; for(int i=0;i<4;i++) { a=rand()%18; b=rand()%48; mas[a][b]=t; } } void spawnsilver(char**mas) { char t=5; int a, b; for(int i=0;i<10;i++) { a=rand()%18; b=rand()%48; mas[a][b]=t; } } void Game(char**mas, int size, int size2) { char worm=2; int a=10, b=25, c; mas[a][b]=worm; cout<<"\t \t \t Score"<<endl<<"\t \t \t \t \t \t \t "<<score<<endl; cout<<"\t \t \t Moves"<<endl<<"\t \t \t \t \t \t \t "<<moves<<endl; show(mas, size, size2); for( ; ; ) { c=getch(); switch© { case 119: a--; if(a!=0) { moves+=1; if(mas[a][b]==stone) a++; if(mas[a][b]==silver) score+=5; moves+=1; if(mas[a][b]==gold) score+=10; moves+=1; mas[a+1][b]=' '; mas[a][b]=worm; } else a++; break; case 115: a++; if(a!=19) { moves+=1; if(mas[a][b]==stone) a--; if(mas[a][b]==silver) score+=5; moves+=1; if(mas[a][b]==gold) score+=10; moves+=1; mas[a-1][b]=' '; mas[a][b]=worm; } else a--; break; case 100: b++; if(b!=49) { moves+=1; if(mas[a][b]==stone) b--; if(mas[a][b]==silver) score+=5; moves+=1; if(mas[a][b]==gold) score+=10; moves+=1; mas[a][b-1]=' '; mas[a][b]=worm; } else b--; break; case 97: b--; if(b!=0) { moves+=1; if(mas[a][b]==stone) b++; if(mas[a][b]==silver) score+=5; moves+=1; if(mas[a][b]==gold) score+=10; moves+=1; mas[a][b+1]=' '; mas[a][b]=worm; } else b++; break; case 101: system("cls"); cout<<"Bye bye see you!"<<endl; break; } system("cls"); cout<<"\t \t \t \t \t \t \t Score"<<endl<<"\t \t \t \t \t \t \t "<<score<<endl; cout<<"\t \t \t \t \t \t \t Moves"<<endl<<"\t \t \t \t \t \t \t "<<moves<<endl; cout<<"Gold: "<<gold<<" +10 score "; cout<<" Silver: "<<silver<<" +5 score"; cout<<" Dirt: "<<dirt<<" +1 score"<<endl<<endl; show(mas, size, size2); } } void main() { int size=20, size2=50; char**field=new char*[size]; for(int i=0;i<size;i++) field[i]=new char[size2]; int s; cout<<"\t \t \t \t Worm Beta v0.2.0"<<endl; cout<<"\t \t \t \t by RedPanda"<<endl; cout<<endl<<endl; cout<<"\t \t \t \t Start Game (Press S)"<<endl; cout<<"\t \t \t \t Exit Game (Press E)"<<endl; s=getch(); switch(s) { case 115: cout<<"\t \t \t Rules:"<<endl<<endl; cout<<"\t \t Try to collect all gold and silver to win"<<endl; cout<<"\t \t \t Gold: "<<gold<<" +10 score"<<endl; cout<<"\t \t \t Silver: "<<silver<<" +5 score"<<endl; cout<<"\t \t \t Dirt: "<<dirt<<" +1 score"<<endl; cout<<"\t \t \t Stone: "<<stone<<" Can't move through it"<<endl; cout<<"\t \t \t Press 'E' while play to exit"<<endl; cout<<endl<<endl; cout<<"Press any key"<<endl<<endl; system("pause"); cout<<"Set difficulty (more walls):"<<endl; cout<<"\t \t \t Easy (E)"<<endl; cout<<"\t \t \t Normal (N)"<<endl; cout<<"\t \t \t Hard (H)"<<endl; diff=getch(); switch(diff) { case 101: walls=50; break; case 110: walls=100; break; case 104: walls=200; break; } input(field, size, size2); spawnwalls(field,walls); spawngold(field); spawnsilver(field); Game(field, size, size2); break; case 101: cout<<"See you next time!"<<endl; break; } if (field!=NULL) { for(int i=0;i<size;i++) { delete[]field[i]; } delete[]field; field=NULL; } }
(Доделывать наверно не буду, код берите кому надо, но он Г я вас предупредил)
Извиняйте за плохой русский сам с Украины =)
Сообщение отредактировал RedPanda_UA - Пятница, 09 Декабря 2011, 22:01
KapitanSBU Дата: Четверг, 08 Декабря 2011, 18:52 | Сообщение # 2
частый гость
Сейчас нет на сайте
Хорошая игра
Скачай мою игру
RedPanda_UA Дата: Четверг, 08 Декабря 2011, 18:59 | Сообщение # 3
был не раз
Сейчас нет на сайте
Quote (KapitanSBU )
Хорошая игра
Пасиб )
Извиняйте за плохой русский сам с Украины =)
KapitanSBU Дата: Четверг, 08 Декабря 2011, 19:10 | Сообщение # 4
частый гость
Сейчас нет на сайте
Сам писал нечто подобное на бейсике лет 10 назад, и вот увидел твою игру и вспомнил...
Скачай мою игру
sk0rpi0n Дата: Четверг, 08 Декабря 2011, 19:33 | Сообщение # 5
Tiberium
Сейчас нет на сайте
Quote
Вот учился в малой академии, ходил ток раз в неделю так чтоб хоть чуть ума набраться (школьник же) и дошло дело до э кзамена я склепал эту... "демку" и с дал э кзамен на 11/12 =) Смысл игры в том, что вам нужно насобирать серебра и золота не попав в лаву (блин да в нее нерал. попасть biggrin ) В игре 3 уровня сложности, в игре все пишет (на англ. (люблю англ. cool )) Скажу только про Тя желый (Hard) там где уже рыл там уже не пройдешь wink
Напиши хоть так, я исправил некоторые ошибки, а то я очень не люблю, когда коверкают русский язык...
Adventures of the Purple Ball - готов. Wanderer - готов.
Сообщение отредактировал sk0rpi0n - Четверг, 08 Декабря 2011, 19:34
RedPanda_UA Дата: Четверг, 08 Декабря 2011, 21:26 | Сообщение # 6
был не раз
Сейчас нет на сайте
Quote (sk0rpi0n )
Напиши хоть так, я исправил некоторые ошибки, а то я очень не люблю, когда коверкают русский язык...
Ок исправлю, просто я с Украины и русским не оч. владею
Извиняйте за плохой русский сам с Украины =)
sk0rpi0n Дата: Четверг, 08 Декабря 2011, 21:34 | Сообщение # 7
Tiberium
Сейчас нет на сайте
Вопрос снят.
Adventures of the Purple Ball - готов. Wanderer - готов.
GECK Дата: Пятница, 09 Декабря 2011, 06:17 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Люблю консольные игры Запустил, но главгера почему-то не увидел. И при нажатии на клавиши консоль просто перерисовывалась, но ничего нового не происходило.Добавлено (09.12.2011, 06:17) --------------------------------------------- Попробовал рулить WASD-ом, заработало Но перерисовывать каждый раз весь экран не есть хорошо.
Всё гениальное просто. И хреново работает.
RedPanda_UA Дата: Пятница, 09 Декабря 2011, 17:54 | Сообщение # 9
был не раз
Сейчас нет на сайте
Quote (GECK )
Но перерисовывать каждый раз весь экран не есть хорошо.
А как в консоли по другому? Кроме как System("Cls"); ничего не знаю
Извиняйте за плохой русский сам с Украины =)