Jump to content

Recommended Posts

Posted

C++

 

Η γλωσσα c++ ειναι μια γλωσαα προγραμματισμου που χρησιμοποιηται παγκωσμιος για δημιουργια διαφορων εφαρμογων. Δημιουργηθηκε απο τον Bjarne Stroustrup και ηταν σαν `αναβαθμηση` της γλωσσας C. Οι δυνατοτητες της ειναι απεριοριστες και μπορει φυσικα να χρησιμοποιηθει στην δημιουργια video games.

 

Τι σχεση εχει η C++ με το lineage?

Το γνωστο σε πολλους L2OFF, που χρησιμοποιηται στην δημιουργια l2 σερβερ ειναι γραμμενο σε C++.

 

Τι χρειαζομαι για να αρχισω να προγραματιζω με την C++?

Χριαζεσαι σε αυτην την περιπτωση εναν compiler. Ενα πολυ γνωστο IDE (περιβαλλον εργασιας) ειναι το CodeBlocks που εχει ενσωματομενο compiler, ειναι free και ευκολο στην εγκατασταση.

 

Τωρα ωρα για καποια basics

 

Δημιουργηστε με το codeblocks ενα καινουργιο project τυπου `Console Application`.

Υστερα πηγαιντε στο main.cpp και ακολουθηστε τα παρακατω.

 

Πρωτα πρεπει να κανουμε include ενα βασικο library που ειναι ιδιαιτερα χρήσιμο.

 

#include <iostream>

 

Υστερα πρεπει να φτιαξουμε το βασικο function main(). Οτι θελουμε να `φαινεται` και να επιδρα στην εφαρμογη μας πρεπει να το γραψουμε μεσα στο main().

 

int main() {

}

 

Τωρα ωρα να αρχισουμε να γραφουμε των κωδικα απο το προγραμμα μας. Θα χρησιμοποιησω την πολυ απλη `εντολη` std::cout. Με αυτην την εντολη θα εμφανιστει καποιο text στο παραθυρο μας.

Οποτε γραψτε μεσα στο main()

 

std::cout << "Hello there!" << std::endl;

 

Οταν το κανετε compile σε debug mode (υπαρχει το debug mode και το release mode) θα εμφανιστει ενα παραθυρο που θα γραφει "Hello there!". Το std::endl παει στην απο κατω γραμμη. Οποτε αν γραψετε κατι στην συνεχεια θα βγει απο κατω.

 

Αν το κανετε compile σε release mode το παραθυρο θα ανοιγο κλεισει. Αυτο διοτι λεμε στο προγραμμα να γραψει κατι αλλα απο τη στιγμη που το κανει και δεν εχει τι αλλο να κανει κλινει.

 

Γι'αυτο παμε στην αρχη, βρισκουμε αυτο:

 

#include <iostream>

 

Και απο κατω βαζουμε αυτο:

 

#include <windows>

 

Τωρα παμε στο τελος του εγγραφου πριν το } και γραφουμε:

 

system("pause");

 

Αυτη η εντολη λεει στην κονσολα να σταματησουν τα παντα μεχρι να πατησεις καποιο κουμπι. Με το που πατησεις καποιο, το παραθυρο θα κλισει.

 

Για οσους ενδιαφερονται να φτιαξουν μικρα παιχνιδακια χωρις γραφικα εχω φτιαξει καποια βιντεο που θα σας βοηθησουν.

 

 

 

Μπορειτε να βρειτε κιαλα στο καναλι μου στο youtube.

http://youtube.com/phpavlos

 

Credits: Me

 

  • 3 months later...
Posted

Πολύ καλός οδηγός! Μπράβο σου!!!

 

Απλά γιατί δεν γράφεις για την αντικειμενοστράφεια? Εξάλλου για αυτό δημιουργήθηκε η C++ :D

  • 2 months later...
  • 1 month later...
  • 6 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • No, the real purpose is cheating and custom  development for games.  I'm building a custom AI moderator specially for checking illegal activity and flag current topica.
    • Hello trying to edit Armorgrp_Classic.dat using L2ClientDat Editor - l2jmobius edition I can normally open a file but can't save, even can't save "clean" version of file (just open and then click save) Other files i can normally open, edit and save. but there is problem with Armorgrp_Classic.dat Anyone find solution, or other Editor for protocol 166 ?   [25/12 15:10:11] --------------------------------------- [25/12 15:10:11] Open file: Armorgrp_Classic.dat [25/12 15:10:11] File Armorgrp_Classic.dat encrypted. Lineage2Ver413 decrypt ... [25/12 15:10:11] Decrypt Armorgrp_Classic.dat file successfully by v413_encdec decrypter. [25/12 15:10:11] Read the file structure ... [25/12 15:10:11] Unpacking [L2GameDataName.dat] [25/12 15:10:11] GameDataName: Load 97534 count. [25/12 15:10:11] Completed. [25/12 15:11:32] Wrong param count for wrapper: fertheia_mesh_add, paramIndex: 1, params: {{{[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11;[none]};{{109;114};{0;-1};{109;114};{0;-1};{109;114}}};{[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None]};[None]} -node: fertheia_mesh_add[WRAPPER][null][null] param: {{{[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11;[none]};{{109;114};{0;-1};{109;114};{0;-1};{109;114}}};{[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None]};[None]} org.l2jmobius.xml.exceptions.PackDataException: Wrong param count for wrapper: fertheia_mesh_add, paramIndex: 1, params: {{{[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11;[none]};{{109;114};{0;-1};{109;114};{0;-1};{109;114}}};{[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None]};[None]} -node: fertheia_mesh_add[WRAPPER][null][null] param: {{{[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11];[None];[LineageAccessory3.fertheia_pvp_Hrm_ad11;[none]};{{109;114};{0;-1};{109;114};{0;-1};{109;114}}};{[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None];[Mantleguild.kingdom.E_elmd_1_t00];[None]};[None]} at org.l2jmobius.xml.DescriptorWriter.packData(DescriptorWriter.java:275) at org.l2jmobius.xml.DescriptorWriter.packData(DescriptorWriter.java:184) at org.l2jmobius.xml.DescriptorWriter.parseData(DescriptorWriter.java:100) at org.l2jmobius.actions.SaveDat.action(SaveDat.java:70) at org.l2jmobius.actions.ActionTask.doInBackground(ActionTask.java:48) at org.l2jmobius.actions.ActionTask.doInBackground(ActionTask.java:27) at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:303) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:340) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) at java.base/java.lang.Thread.run(Thread.java:1447) [25/12 15:11:32] buff == null.  
    • Leave your contact information or write to me on Telegram @dieorditsa
    • Hello everyone, I’m looking for a graphic designer to design a custom logo that will be used in NPC HTML interfaces for Lineage. Please send me a private message if you are interested.
    • ok sounds good sign me up
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock