Jaka ksiązka/kurs?

0

Witam znacie jakieś dobre książki i kursy?

Mam zamiar używać kurs darmowy pana Mirosława Zelenta oraz książke Symfonia c++

2

Symfonia to klasyka, od Zelenta uciekaj.

1

C++. Poradnik dla początkujących. Polecam. Dzięki niej ogarnąłem WIELE spraw jakimi są wskaźniki itd.

A od Mirosława Zelenta uciekaj, bo uczy starych praktyk i uczy tak, że trudno cokolwiek zrozumieć.

1

Jeśli angielski to nie problem:
,,C++ primer" Stanley Lippman - 5 edycja.
Ksiażka bardzo dobrze napisana, praktyczna i dość aktualna (chyba c++ 14 jeśli mnie pamięć nie mysli).

1

Od siebie proponuje "C++ Szkoła programowania"

https://helion.pl/ksiazki/jezyk-c-szkola-programowania-wydanie-vi-stephen-prata,cppri6.htm

Bardzo dobrze napisana, autor wszystko bardzo dobrze tłumaczy.

1

Bierz najnowszą Grębosza, co jak co ale uczy najlepiej. On nie pokazuje patrzcie jaki jestem mądry, tylko patrzcie jakie to proste. Szkoda, że inne języki programowania nie mają takich nauczycieli. Te goście od Javy są bardzo przemądrzałe.

1

Ze swojej strony polecę Programowanie. Teoria i praktyka z wykorzystaniem C++. Jeśli chodzi o Grębosza, to jeśli, to tylko najnowsza. Starsze wydania są oparte na zbyt starym standardzie, by miało to jakikolwiek sens.

2

Zelent uczy złych nawyków, więc lepiej trzymać się z daleka. Na dodatek używa C++ Builder, co jest już przestarzałe (ostatnie dobre wydanie było 15 lat temu).
Tu masz długą listę: https://4programmers.net/Forum/C_i_C++/140817-Materialy_dostepne_w_sieci

1

Ja tylko dodam, że sama książka / kurs nic nie da ;) Wyznacz sobie jakieś zadanie np. napisz snejka ;)
Polecam też: tutorialspoint_cpp

0

Napisałem w C# grę rpg konsolową bardzo prostą z minimalistycznym AI. Nie wiem czy to starczy do tego Kompedium wiedzy c++..

Co do: https://helion.pl/ksiazki/programowanie-teoria-i-praktyka-z-wykorzystaniem-c-bjarne-stroustrup,pcpptp.htm#format/d To nie ma standardu c++11 ;/

Kod gry:

using System;

namespace Gra_RPG
{
	class Program
	{
		public static void Main(string[] args)
		{
			//Podstawa
			int gold;
			
			gold = 0;
			
			int exp;
			
			exp = 100;
			
			int lvl;
			
			lvl = 1;
			
			//Staty
			//int str; // 1 punkt = +10 do życia i +5 do ataku
			//str = 1;
			//int dex; // ?? (Statystyka nieużywana);
			//dex = 1;
			//int inta; // 1 punkt = +10 do many i +1 do ataku
			//inta = 1;
			
			//Dodatkowe Staty
			int hp;
			
			hp = 100;
			
			int dmgBroni;
			
			dmgBroni = 0;
			int dmg;
			
			dmg = 10;
			
			int mana;
			
			mana = 100;
			//----------------- OTHER
			string Klasa = null;
			
			//-----Itemy-----//
			string weapon = null;
			string armor = null;
			string artifacts = null;
			string ring = null;
			string CrystalOfPower = null;
			string helmet = null;
			string essence = null;
			//--------------//
			string[] Ekwipunek = new string[7];
			//-----------------
			//-----------------
			int zdrowieGladiatora;
			
			zdrowieGladiatora = 100;
			
			int dmgGladiatora;
			
			dmgGladiatora  = 666666666;
			
			//Start
			Console.WriteLine("-----------------");
			Console.WriteLine("Witaj w grze RPG!");
			Console.WriteLine("-----------------");
			System.Threading.Thread.Sleep(1000);
			Console.Clear();
			//--------------------------------------
			Console.Write("Wpisz swój nick: ");
			string nick = Console.ReadLine();
			//--------------------------------------
			Console.Clear();
			Console.WriteLine("-----------------");
			Console.WriteLine("Twój nick: " + nick);
			Console.WriteLine("-----------------");
			System.Threading.Thread.Sleep(2000);
			Console.Clear();
			//--------------------------------------
			while (Klasa == null){
				Console.WriteLine("Wybierz swoją klase: ");
				Console.WriteLine("1. Wojownik");
				Console.WriteLine("2. Łucznik");
				Console.WriteLine("3. Zabójca");
				Console.WriteLine("4. Mag");
				Console.WriteLine("5. Czarnoksiężnik");
				Console.WriteLine("6. Templariusz");
				Console.WriteLine("7. Wampir");
				Console.WriteLine("8. Łupieżca");
				Console.Write("> ");
			
				string selectClass = Console.ReadLine();
			
			switch (selectClass){
				case "1":
					Klasa = "Wojownik";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Laga";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
				break;
				case "2":
					Klasa = "Łucznik";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Łuk";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
					break;
				case "3":
					Klasa = "Zabójca";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Nóż Kuchenny";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
				break;
				case "4":
					Klasa = "Mag";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Mop";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
				break;
				case "5":
					Klasa = "Czarnoksiężnik";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Kij";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
				break;
				case "6":
					Klasa = "Templariusz";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Drewniana Buława";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
				break;
				case "7":
					Klasa = "Wampir";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Kastet";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
				break;
				case "8":
					Klasa = "Łupieżca";
					Console.WriteLine("Wybrałeś klase: " + Klasa);
					weapon = "Długi kij";
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
				break;
				default:
					Console.WriteLine("Nieprawidłowa komenda.");
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
					break;
					
				}	
			
			}
			Console.WriteLine("Komendy: menu");
			Console.Write("> ");
			//-------------Bronie_Początkowe------------------//
		    if (weapon == "Laga"){//Wojownik
				dmgBroni = 5;
		    }
			//-----------------------------------------------//	
			while(true){
			
				string select = Console.ReadLine();
			
			switch (select){
				case "menu":
					Console.Clear();
					Console.WriteLine("Nick: " + nick + " " + "Złoto: " + gold + " " + "Exp: " + exp + " " + "Poziom: " + lvl + " " + "Klasa: " + Klasa);
					Console.WriteLine("1. Przygoda");
					Console.WriteLine("2. Arena");
					Console.WriteLine("3. Kowal");
					Console.WriteLine("4. Dungeony");
					Console.WriteLine("5. Statystyki");
					Console.WriteLine("6. Ekwipunek");
					Console.WriteLine("7. Sklep");
					Console.Write("> ");
					break;
				
				case "2":
					Console.Clear();
					Console.WriteLine("Walczysz z Gladiatorem Klasa: [Wojownik]");
					Console.WriteLine(" ");
					System.Threading.Thread.Sleep(1000);
					
					for(int i = 1; i <= zdrowieGladiatora; i++){
						Console.WriteLine("<" + nick  + " HP: " + hp + "> " + "Atakuje " + "<" + "Gladiatora"  + " HP: " + zdrowieGladiatora + "> " + " \nZadając: " + dmg + " " + "Obrażenia Broni: " + dmgBroni);
						Console.WriteLine(" ");
						zdrowieGladiatora -= dmg+dmgBroni;
						System.Threading.Thread.Sleep(1000);
						Console.WriteLine("<" + "Gladiator" + " HP: " + zdrowieGladiatora + "> " + "Atakuje " + "<" + nick  + " HP: " + hp + "> " + "\nZadając: " + dmgGladiatora );
						Console.WriteLine(" ");
						hp -= dmgGladiatora;
						System.Threading.Thread.Sleep(1000);
					if (hp <= 0){
						
						Console.WriteLine("Przegrałeś!");
						System.Threading.Thread.Sleep(1000);
						break;
					}if (zdrowieGladiatora <= 0){
						
						Console.WriteLine("Wygrałeś!");
						gold = gold + 5;
						exp = exp + 10;
						System.Threading.Thread.Sleep(1000);
						break;
					}
				}
				
				Console.ReadKey();
				goto case "menu";
				
				default:
					Console.WriteLine("Nieprawidłowa komenda. Powracanie do menu głównego...");
					System.Threading.Thread.Sleep(1000);
					Console.Clear();
					goto case"menu";
				case "5":
					Console.Clear();
					Console.WriteLine("Życie: " + hp + "|" + "Mana: " + mana + "|" + "Obrażenia: " + dmg + "|" + "Obrażenia Broni: " + dmgBroni);
					Console.Write("> ");
					break;
				case "6":
					Console.Clear();
					for (int indeks = 0; indeks < Ekwipunek.Length; indeks++)
				{
						Console.WriteLine(Ekwipunek[indeks]);
				} 
			    Console.WriteLine("Kliknij dowolny klawisz by powrócic do menu głównego");
			    Console.ReadKey();
			    	goto case"menu";
				case "add dmg":
					dmg = dmg+10;
					goto case"5";
				case "add hp":
					hp = hp+10;
					goto case"5";
				case "set weapon null":
					weapon = null;
					goto case"menu";
				}
			Ekwipunek[0] = "Broń: " + weapon;
		    Ekwipunek[1] = "Zbroja: " + armor;
		    Ekwipunek[2] = "Artefakt: " + artifacts;
		    Ekwipunek[3] = "Pierścień: " + ring;
		    Ekwipunek[4] = "Kryształ Mocy: " + CrystalOfPower;
		    Ekwipunek[5] = "Hełm: " + helmet;
		    Ekwipunek[6] = "Esencja: " + essence;
		    if (weapon == null){
				dmgBroni = 0;
		    	}
			}
		}
	}
}
1

Lekko możesz zacząć od zelenta, wiem że wszyscy cię za to z karcą, ale zawsze czegoś się nauczysz.

Wiedząc jak działają sieci neuronowe lepiej mieć więcej doświadczenia niż mniej.

Nawet tego średniego, w końcu dojdziesz do wyższego poziomu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1