ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ"

Transcript

1 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δημιουργία δισδιάστατου βίντεο παιχνιδιού με χρηση αντικειμενοστραφούς C# στο πλαίσιο εργασίας XNA4 (2D video game development with object-oriented C# under XNA4 framework) ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΓΕΡΑΚΑΣ ΓΕΩΡΓΙΟΣ ΗΛΙΑΣ AM: 4929 ΚΑΘΗΓΗΤΗΣ: ΚΩΝΣΤΑΝΤΑΡΑΣ ΑΝΤΩΝΙΟΣ Χανιά, 20/10/2014 1

2 ΠΕΡΙΕΧΟΜΕΝΟ 1) Εξοικείωση με το πρόγραμμα Visual studio Express 2010(Σελίδα 3). 2) Σύντομη εισαγωγή στη C# (Σελίδα 8). 3) Εισαγωγη στη μηχανές παιχνιδιού (Σελίδα 10). 4) Εισαγωγή στη XNA 4.0 (Σελίδα 11). 5) Διάγραμμα ροής για το πως σχετίζονται τα αντικείμενα (Σελίδα 16). 6) Ανάλυση του κώδικα(σελίδα 17). 7) Το περιβάλλον του παιχνιδιού(σελίδα 49) 8) Στάδια βελτίωσης του παιχνιδιού(51) 9) Βιβλιογραφία(Σελίδα 55) 2

3 Εξοικειωση με το προγραμμα Visual studio Express 2010 Στο σημείο 1 που φαίνεται στην εικόνα μπορούμε να δημιουργήσουμε ένα καινούριο project, όπως θα δούμε και στην συνέχεια. [2] New project 3

4 Τα παρακατω αρχεια δημιουργουνται αυτοματα απο την ΧΝΑ οταν κανουμε βίντεο παιχνίδι για Windows ή XBOX. [2] 4

5 Στο σημείο 2 βρίσκονται όλες οι κλάσεις μας και τα αρχεία μας που έχουμε δημιουργήσει [2] Με το πλήκτρο F5 τρέχει το πρόγραμμα(debug) 5

6 Δημιουργια class[2] [1] 6

7 Εισαγωγή αρχείων γραφικών όπως το παρακάτω αρχείο (png). Kάποια απο τα αρχεία είναι στο φάκελο sprites. [2] 7

8 Σύντομη εισαγωγη στη C# [11] Η C# είναι μία ολοκληρωμένη αντικειμενοστραφής γλώσσα προγραμματισμού σχεδιασμένη για τη δημιουργία λογισμικού σε.net Framework. Τα πάντα στη C# είναι αντικείμενα Παρέχει άμεση πρόσβαση σε τεράστιες βιβλιοθήκες κλάσεων του.net Framework & ασφάλεια των τύπων της. Θα δούμε παρακάτω τη σύνταξη και τη δομή ενός απλού προγράμματος (Console Application) στη C# που εμφανίζει το μήνυμα Hello World και θα αναλύσουμε γραμμή γραμμή τα μέρη του: 1. using System; 2. namespace MyNamespace(ονομα του project) class Helloworld static void Main() Console.WriteLine("Hello World"); Console.ReadKey(); 8

9 Σε ένα C# πρόγραμμα χρησιμοποιούμε Namespaces για την οργάνωση του κώδικα μας. [11] Στο παραπάνω πρόγραμμα χρησιμοποιήσαμε την βιβλιοθήκη System (γραμμή 1 του παραδείγματος) μέσο της λέξης κλειδιού using,το οποίο περιλαμβάνει έτοιμες κλάσεις και μεθόδους του.νετ με έτοιμο επαναχρησιμοποιήσιμο κώδικα(συναρτήσεις). Ένα Namespace μπορεί να περιέχει τους εξής τύπους : Namespaces(ονομα του project) Classes(Ετικέτες για να διαχειρίζονται τα αντικείμενα) Delegates(Συναρτήσεις) Enums(Λίστες) Structs(δομές) Interfaces(Διασυνδέσεις) Για τη δημιουργία ενός δικού μας Namespace χρησιμοποιούμε τη δεσμευμένη λέξη-κλειδί namespace (γραμμή 2), έτσι η κλάση Helloworld (γραμμή 4) εμπεριέχεται στο MyNamespace που δημιουργήσαμε. Στη συνέχεια του κώδικα μπορούμε να δούμε πως μπορούμε να εμφανίσουμε στη γραμμή εντολών το μήνυμα "Hello World". Η μέθοδος Main() (γραμμή 6) περιέχει την εντολή Console.WriteLine("Hello World");,η οποία εμφανίζει το τελικό μήνυμα. Η κλάση Console ανήκει στο χώρο ονομάτων System και η WriteLine() είναι μέθοδος της Console. Εάν δεν χρησιμοποιούσαμε την εντολή using System; Η εντολή θα συντασσόταν System.Console.WriteLine("Hello Word"); Χρησιμοποιούμε την τελεία ανάμεσα από Namespaces, κλάσεις και μεθόδους για να δείξουμε τι εμπεριέχεται σε τι. Πχ. Τα σχόλια συντάσσονται χρησιμοποιώντας αυτόν τον συμβολισμό ( // ),εάν επρόκειτο για μία γραμμή σχολίου. //Αυτό είναι ένα σχόλιο 9

10 Εισαγωγη στη μηχανές παιχνιδιού[1] Μια μηχανή παιχνιδιού είναι ένα σύστημα λογισμικού σχεδιασμένο για τη δημιουργία και την ανάπτυξη βιντεο παιχνιδιών. Υπάρχουν πολλές μηχανές παιχνιδιών οι οποίες είναι σχεδιασμένες να δουλεύουν σε κονσόλες βιντεοπαιχνιδιών και λειτουργικά συστήματα επιτραπέζιων υπολογιστών όπως τα Microsoft Windows, το Linux, και το Mac OS X. Η κεντρική λειτουργικότητα που παρέχεται τυπικά από μια μηχανή παιχνιδιού περιλαμβάνει μια μηχανή φωτοαπόδοσης ("renderer") για 2D ή 3D γραφικά, μια μηχανή φυσικής ή εντοπισμού συγκρούσεων(collision detection, καθώς και collision response), ήχο, Scripting(ενα αντικείμενο οταν δέχεται ένα ερέθισμα αλλάζει την κατάστασή του), Animation(οτιδήποτε δεν ειναι ζωντανο, φανταστικο και δεν ειναι απαραιτητο να υπακουει στους νόμους της φυσικής), τεχνητή νοημοσύνη, δικτύωση, Streaming(παιχνίδι σε πραγματικό χρόνο μέσω ίντερνετ), διαχείριση μνήμης, νήματα (threading), υποστήριξη τοπικοποίησης, και ένα γράφο σκηνής (scene graph). Η διαδικασία της ανάπτυξης παιχνιδιού συχνά οικονομικοποιείται με το ότι σε μεγάλο μέρος η ίδια μηχανή παιχνιδιού επαναχρησιμοποιείται για να δημιουργηθούν διαφορετικά παιχνίδια. 10

11 Εισαγωγή στη XNA 4.0 (Χ.Ν.Α. δεν ειναι ακρώνυμα, το Χ σημαινει σε κώδικα Μορς "-..-", και το ΝΑ σημαινει "-..-") [1] Η Microsoft XNA είναι ένα σύνολο εργαλείων με ένα διαχειριζόμενο περιβάλλον εκτέλεσης που διευκολύνει τη δημιουργία βίντεο παιχνιδίων.η XNA τρέχει σε windows,windows phone, XBOX και άλλες πλατφόρμες της Microsoft διότι βασίζεται στο πλαίσιο.net της Microsoft. 11

12 Βασική δομή της ΧΝΑ 4.0: [8] Το αρχείο namespace Το όνομα του project() που περιέχει αρχικοποιήσεις, το graphics device(συσκευη γραφικων: δίνει στο παιχνίδι πρόσβαση στο υλικό του υπολογιστό).οι παρακάτω συναρτήσεις είναι απαραίτητες. Το όνομα του παιχνιδιού() Main class. Initialize() Προετοιμάζει το περιβάλλον του παιχνιδιού π.χ. ορίζει την αρχική κατάσταση των αντικειμένων. LoadContent() Φορτώνει τα αρχεία που χρειάζεται το παιχνίδι π.χ μουσική,φώτογραφιες σε μορφή (.png). Update () Εδώ γίνεται ο έλεγχος των εισόδων του χρήστη (ποντίκι, πληκτρολόγιο) που επηρεάζουν την αντίδραση των αντικειμένων. Ακόμα εδώ περιέχονται ολες οι συναρτήσεις που κάνουν τα αντικείμενα δυναμικά(να κινούνται ή οτι άλλο είναι προγραμματισμένα να κάνουν). Draw()Αυτή η συνάρτηση ειναι υπεύθυνη για την εμφάνιση των αντικειμένων στο περιβάλλον του παιχνιδιού. Αξίζει να σημειωθεί οτι η συνάρτηση Update και Draw εκτελούνται 60 φορές το δευτερόλεπτο. UnloadContent()Εκφορτώνει τους πόρους του παιχνιδιού. 12

13 Sprites(Γραφικά ή Εικονες) [8] Sprites ειναι δισδιάστατες εικόνες που ελέγχονται απο το κώδικα κατά τη διάρκεια του παιχνιδιού. Χρησιμοποιούνται για να ζωγραφιστεί το αντικείμενο στο παιχνίδι. Spritebatch είναι μια λίστα απο εικόνες(sprites). Spritefont είναι ένα αρχείο που χρησιμοποιείται για να ορίσει τον τύπο της γραμματοσειράς που θα εμφανιστεί στο παιχνίδι.το αρχείο Spritefont τοποθετείται στο 2Dgame project AContent( π.χ. στην επόμενη σελίδα τα μηνύματα που εμφανίζονται στο παιχνίδι με πράσινο χρώμα). 13

14 14

15 Διανύσματα & Διαστάσεις(Vector2,Rectangle) [8] Για φορτώσουμε εικόνες με το Spritebatch πρέπει να δημιουργηθεί ενα περιβάλλον (Τexture2D). Στην ΧΝΑ ο χώρος μπορεί να είναι δισδιάστατος ή τρισδιάστατος. Στη συγκεκριμένη εργασία είναι δισδιάστατος. mytexture = Content.Load<Texture2D>("MAO");//ΜΑΟ είναι το ονομα της φωτογραφιας του backround. Για να μπορούμε να φορτώσουμε εικόνες με το Spritebatch χρειάζεται να έχουμε δηλώσει την αρχική θέση του αντικειμένου, αυτο γίνεται με τη συνάρτηση Vector2(x,y) (2D, παίρνει δύο ορίσματα). Το μέγεθος της εικόνας ρυθμίζεται απο τη συνάρτηση Rectangle(). 15

16 ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ MainFuntion.cs BrainssssKiCKer.cs Obj.cs Items.cs Enemy.cs Heli.cs ZombieSpawner.cs Bullets.cs Cursor.cs Wall.cs 16

17 [3] using System; namespace _2Dgame_project_A #if WINDOWS XBOX //Αυτο το Class ειναι δημιουργειται αυτοματα απο το ΧΝΑ, χρειαζεται για να... //... ξεκινησει το παιχνιδι και δεν χρειαζεται επεξεργασια. static class MainFunction static void Main(string[] args) // BrainssssKiCKer ειναι το κεντρικο παιχνιδι using (BrainssssKiCKer game = new BrainssssKiCKer()) game.run();// εντολη για να ξεκινησει το προγραμμα(πιο αναλυτικα αυτο το προγραμμα... //...υπαρχει απο την xna απλα για να ξεκινησει την BrainssssKiCKer ταξη). #endif 17

18 Αντικειμενο: BrainssssKiCKer.cs(Κυρίως Κώδικας) //Απαιτουμενες βιβλιοθηκες[3] using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A // Το κυρίως παιχνιδι // Εδω θα μπορουσα να δημιουργησω ολοκληρο το παιχνιδι αλλα //προτιμησα να δημιουργησω classes (αντικειμενοστραφης προγραμματισμος) για να ειναι οργανωμενος ο κωδικας του παιχνιδιου ως προς τα αντικειμενα. Ετσι καλουμε εδω ολα τα υπολοιπα αντικειμενα(menu, obj, Heli, Enemy, Cursor, Wall, Bullets, Items, ZombieSpawner) ) public class BrainssssKiCKer : Microsoft.Xna.Framework.Game //ΑΡΧΙΚΟΠΟΙΗΣΕΙΣ. GraphicsDeviceManager graphics; //Οριζεται ως Διαχειριστης γραφικων της XNA. SpriteBatch spritebatch; // Menu menu; //Aρχικοποιηση του μενου Texture2D mytexture; //αρχικοποιηση μιας μεταβλητης(εικονας) 2 διαστασεων. Vector2 pos; // αρχικοποιηση της θεσης 2 διαστασεων public static SpriteFont font; // αρχικοποιηση της μεταβλητης ΛΕΞΕΩΝ. public static string Gamestate = "Menu";// static heli heli =new heli(new Vector2(150,150)); //Καλουμε τη ταξη του παικτη. static Cursor cursor = new Cursor(new Vector2(50, 50)); //Καλουμε τη ταξη του στοχου. MouseState mouse; // αρχικοποιηση της καταστασης του ποντικιου. Song song; // αρχικοποιηση μιας μεταβλητης μουσικης. public static Rectangle screen; // αρχικοποιηση της μεταβλητης ΜΕΓΕΘΟΥΣ. public static Rectangle room; // αρχικοποιηση της μεταβλητης ΜΕΓΕΘΟΥΣ. 18

19 public BrainssssKiCKer()//Βασικο αντικειμενο. //Ρυθμιση της αναλυσης της οθονης graphics = new GraphicsDeviceManager(this); graphics.preferredbackbufferwidth = 1600; //(διασταση του πλατους του 'παραθυρου' του παιχνιδιου) graphics.preferredbackbufferheight = 1000; //(διασταση του του υψους του 'παραθυρου' του παιχνιδιου) graphics.applychanges();//η εντολη αυτη εφαρμοζει τη παραπανω αναλυση οθονης. Content.RootDirectory = "Content";// Η διευθυνση των περιεχομενων της ΧΝΑ. //Η συναρτηση Initialize() προετοιμάζει το περιβάλλον του παιχνιδιού π.χ. ορίζει την αρχική κατάσταση των αντικειμένων protected override void Initialize()[6] Items.Initilize(); room = new Rectangle(0, 0, graphics.preferredbackbufferwidth * 4, graphics.preferredbackbufferheight * 4); //Eκχωρει το μεγεθος της οθονης*4 screen = new Rectangle(0, 0, graphics.preferredbackbufferwidth, graphics.preferredbackbufferheight); // Eκχωρει το μεγεθος της οθονης. menu = new Menu();//Καλειται το αντικειμενο μενου. base.initialize();//αρχικοποιηση της βασης δεδομενων. //φορτωνουμε τα αρχεια των αντικειμενων. protected override void LoadContent() // Δημιουργουμε ενα καινουργιο SpriteBatch,η χρηση του ειναι για την εμφανισει //γραφικων. spritebatch = new SpriteBatch(GraphicsDevice); font = Content.Load<SpriteFont>("Grammatoseira");//φορτωνει το αρχειο menu.loadcontent(content); //φορτωνει το αρχειο του μενου mytexture = Content.Load<Texture2D>("MAO");//φορτωνει το αρχειο του //background. pos = new Vector2(10, 10); //Αρχικοποιει τη θεση των αντικειμενων. foreach (obj MYobject in Items.objList) //Για οσα αντικειμενα περιεχονται στη λιστα να φορτωνονται οι εικονες τους. MYobject.LoadContent(this.Content); 19

20 song = Content.Load<Song>("song"); //φορτωνουμε μουσικη. MediaPlayer.Play(song); //Παιζει η μουσικη. MediaPlayer.IsRepeating = true; //Η μουσικη μολις τελειωσει επαναλαμβανεται. cursor.loadcontent(content); //φορτωνει το αρχειο του κερσορα. protected override void UnloadContent() //Εκφορτώνει τους πόρους του παιχνιδιού. // Εδώ γίνεται ο έλεγχος των εισόδων του χρήστη (ποντίκι, πληκτρολόγιο) που επηρεάζουν την αντίδραση των αντικειμένων. Ακόμα εδώ περιέχονται ολες οι συναρτήσεις που κάνουν τα αντικείμενα δυναμικά(να κινούνται ή οτι άλλο είναι προγραμματισμένα να κάνουν) protected override void Update(GameTime gametime) [6] //Η συνάρτηση Update εκτελείται 60 φορές το δευτερόλεπτο. if (Gamestate =="Exit" ) // H εντολη αυτη κλεινει το παιχνιδι απο το κουμπι του μενου EXIT. this.exit(); Window.Title = "Brainssss KiCKer";//O τιτλος πανω στο παραθυρο του παιχνιδιου. 20

21 switch (Gamestate) //Εντολη για την αλλαγη της καταστασης του παιχνιδιου. case "Game": foreach (obj MYobject in Items.objList) //Ενημερωνεται καθε αντικειμενο της λιστας MYobject. MYobject.Update(); break; case "Menu": menu.update(gametime); //Ενημερωνεται το αντικειμενο Menu. break; cursor.update();//ενημερωση της καταστασης του ποντικιου. mouse = Mouse.GetState();//θετει στη μεταβλητη τη κατασταση του ποντικιου. base.update(gametime); //Ενημερωση της βασης δεδομενων. // Εδω ελεγχουμε τι θα εμφανιστει το περιβαλλον του παιχνιδιου protected override void Draw(GameTime gametime) [6] //Η συνάρτηση Draw εκτελείται 60 φορές το δευτερόλεπτο. //Tο χρωμα που θα εχει το φόντο του παιχνιδιου. GraphicsDevice.Clear(Color.Black); switch (Gamestate) //Εντολη για την αλλαγη της καταστασης του παιχνιδιου. case "Game": spritebatch.begin(); //Στην ΧΝΑ για να εμφανιστουν καποια γραφικα στο παιχνιδι με τη συναρτηση draw ειναι απαραιτητο ο κωδικας για την φωτογραφια να μπει αναμεσα στις εντολες spritebatch.begin() και spritebatch.end().[5] 21

22 spritebatch.draw(mytexture, pos, Color.White); //Eμφανιζεται φωτογραφια Background. [6] foreach (obj MYobject in Items.objList) //Εμφανίζεται καθε αντικειμενο της λιστας MYobject. MYobject.Draw(spriteBatch); cursor.draw(spritebatch); // Εμφανίζεται ο κερσορας(στοχος). spritebatch.end(); if (Keyboard.GetState().IsKeyDown(Keys.F1)) graphics.isfullscreen = true; // Εφαρμογη πληρης οθονη οταν πατιεται το F1. graphics.applychanges(); if (Keyboard.GetState().IsKeyDown(Keys.F2)) graphics.isfullscreen = false; // Εφαρμογη παραθυρου οταν πατιεται το F2. graphics.applychanges();//αλλαζει τις ρυθμισεις στις παραπανω. break; case "Menu" : menu.draw(spritebatch); // Εφαρμογη του παιχνιδιου σε πληρη οθονη οταν πατιεται το F1. if (Keyboard.GetState().IsKeyDown(Keys.F1)) graphics.isfullscreen = true; graphics.applychanges(); // Εφαρμογη του παιχνιδιου σε παραθυρο οταν πατιεται το F1. if (Keyboard.GetState().IsKeyDown(Keys.F2)) graphics.isfullscreen = false; graphics.applychanges();//αλλαζει τις ρυθμισεις στις παραπανω. break; base.draw(gametime); //Επιστρεφει στη βαση δεδομενων το gametime. public static Vector2 GetCursorPos() return cursor.position; //επιστρεφει τη θεση του κερσορα. 22

23 //Απαιτουμενες βιβλιοθηκες[3] using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class obj[6] //Η ταξη(class) αυτη,ειναι υπευθυνη για την δημιουργια των αντικειμενων του... //... παιχνιδιου,τα οποια θα ειναι δυναμικα.δηλαδη η κατασταση τους θα αλλαζει //απο καποιους παραγοντες π.χ. πληκτρολογιο,ποντικι,χρονος,συναρτησεις κ.α) //Δημιουργία μεταβλητων. public Vector2 position; //ορίζει τη θεση του 2D αντικειμενου public float rotation = 0.0f; //ορίζει τη περιστροφη του 2D αντικειμενου public Texture2D spriteindex; //μεταβλητη με τη διευθυνση που θα φορτώθουν τα γραφικα. public string spritename = "block";//το μπλοκ ειναι μια εικονα που θα εμφανιζεται στα... //...αντικειμενα που δεν τους εχουμε ορισει καποια αλλη εικονα. public float speed = 0.0f; //Η ταχυτητα του αντικειμενου. public float Scale = 1.0f; //Οριζεται η κλιμακα. public Rectangle area; // //Οι μεταβλητες boolian δεχονται μονο δυο τιμες True False μας χρησιμευει στο να σταματαμε //τη συναρτηση update και draw οταν πεθανει το αντικειμενο. public bool alive = true; //Το αντικειμενο ειναι ζωντανο public bool solid = false; // 23 public obj(vector2 pos) //Συναρτηση obj. position = pos; //θεση αντικειμενου. public virtual void Update() //Οι συναρτησεις που εχουν την εντολη vitual, οπως στη παραπανω συναρτηση //επηρεαζονται...(αλλαζουν τα δεδομενα τους) απο τις συναρτησεις με το ιδιο ονομα των //αλλων αντικειμενων.

24 if (!alive) return; //Αν δεν ειναι ζωντανο το αντικειμενο σταματα ειναι ειναι δυναμικο. [6] pushto(speed, rotation); ////Είναι ένας αλγόριθμος γεωμετρίας των πίξελ της οθόνης ετσι ώστε να προσεγγίζεται η θέση του αντικειμένου στο παιχνίδι γνωρίζοντας τη κλίμακα της ταχύτητας που θα κινείται και θα περιστρέφεται. //Εδω τοποθετειται ενας ελεγχος για το αν ειναι ζωντανο το αντικειμενο. if (heli.hp == 0) // Αν ο παικτης πεθανει, γυρναει το παιχνιδι στο Μενου, μηδενιζει το σκορ και γεμιζει τη ζωη του για να ειναι ζωντανος για να επαναλαβει το γυρο, αμα ο χρηστης πατησει την επιλογη start. BrainssssKiCKer.Gamestate = "Menu"; heli. givehp(); heli.score = 0; UpdateArea();//Ενημερωνει το τη θεση του αντικειμενου. //φορτωνουμε το περιεχομενο του αντικειμενου. public virtual void LoadContent(ContentManager content) //εδω δηλωνεται η διευθυνση που θα περιεχονται τα γραφικα που θα φορτωθουν //στο παιχνιδι, στη περιπτωση αυτη ειναι ο φακελος "sprites\\" spriteindex = content.load<texture2d>("sprites\\" + this.spritename); area = new Rectangle(0, 0,spriteIndex.Width, spriteindex.height ); //Rectangle:Αποθηκεύει ένα σύνολο από τέσσερις ακέραιους που αντιπροσωπεύουν ενα τετραγωνο με το μέγεθος του αντικειμενου μας. [10] 24

25 // Εδω ελεγχουμε τι θα εμφανιστει το περιβαλλον του παιχνιδιου public virtual void Draw(SpriteBatch spritebatch) if (!alive) return; //Δηλωνεται ποιο θα ειναι το κεντρο του αντικειμενου. Vector2 center = new Vector2(spriteIndex.Width/2, spriteindex.height/2); spritebatch.draw(spriteindex, position, null, Color.White, MathHelper.ToRadians(rotation), center, Scale,SpriteEffects.None, 0); //Αυτη η εντολη //χρειαζεται στην ΧΝΑ για ξερει το προγραμμα σε ποιο σημειο, με ποιο μεγεθος,τι //αποχρωση,τι εφε θα εμφανισει τις εικονες του παιχνιδιου. [3] // Η ιδεα του collision ειναι ενα τετραγωνο με το μεγεθος του παικτη (Rectangle) το //οποιο ακολουθει τον παικτη και εντοπιζει αν θα ακουμπισει μελλοντικα το τετραγωνο //απο καποιο αλλο αντικειμενο. Ο παρακατω κωδικας collision εμποδιζει τα αντικειμενα //απο τη λιστα να περασουν απο αλλα αντικειμενα της λιστας που ειναι σταθερα(solid) //π.χ.ο τοιχος. public bool collision(vector2 pos,obj obj) [6] //Δημιουργειται μια καινουργια περιοχη που προσεγγιζει τη θεση του αντικειμενου. Rectangle newarea = new Rectangle(area.X, area.y, area.width, area.height); newarea.x += (int)pos.x; //Η x-συντεταγμένη για την επάνω αριστερή γωνία του //ορθογωνίου. newarea.y += (int)pos.y; //Η y-συντεταγμένη για την επάνω αριστερή γωνία του //ορθογωνίου. foreach (obj MYobject in Items.objList) //Γινεται ελεγχος για το αν καποι αντικειμενο απο τη λιστα ακουμπαει καποιο αλλο //αντικειμενο της λιστα που ειναι στερεο (solid). if (MYobject.GetType() == obj.gettype() && MYobject.solid) if (MYobject.area.Intersects(newArea)) return true; return false; 25

26 [6] //Ο παρακατω κωδικας collision εξαφανιζει τις σφαιρες οταν πεφτουν πανω στον //εχθρο. public obj collision(obj obj) foreach (obj MYobject in Items.objList) if (MYobject.GetType() == obj.gettype() && MYobject.alive) //Το get type παίρνει //τα δεδομενα για την κατασταση των αντικειμενων που περιεχει η λιστα. if (MYobjecto.area.Intersects(area)) return MYobject; return new obj(vector2.zero); public void UpdateArea() //φτιαχνουμε ενα τετραγωνο το οποιο ακολουθει τον παικτη για εντοπισουμε αν //ακουμπαει καποια αλλο αντικειμενο. area.x = (int)position.x - (spriteindex.width/2 ); area.y = (int)position.y - (spriteindex.height/2 ); public virtual void pushto(float pix, float dir) //Είναι ένας αλγόριθμος γεωμετρίας των πίξελ της οθόνης ετσι ώστε να προσεγγίζεται η θέση του αντικειμένου στο παιχνίδι γνωρίζοντας τη κλίμακα της ταχύτητας που θα κινείται και θα περιστρέφεται. float newx = (float)math.cos(mathhelper.toradians(dir)); float newy = (float)math.sin(mathhelper.toradians(dir)); position.x += pix * (float)newx; position.y += pix * (float)newy; 26

27 [3] //Απαιτουμενες βιβλιοθηκες using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class heli : obj //Σε αυτη τη ταξη υπαρχει ο κωδικας για τη κινηση,την περιστροφη,πυροβολισμος του οπλου, //κατασταση πληκτρολογιου. KeyboardState keyboard; KeyboardState prevkeyboard; //κατασταση ποντικιου. MouseState mouse; MouseState prevmouse; public static int a = 0; //Αρχικοποιηση μεταβλητων. [6] public static int giros = 50; public static int d = 10; public static int e = 0; public static int hp = 100; static int hpmax = 100; public static int score = 0; // Ταχυτητα του παικτη. float spd; // Ταχυτητα των σφαιρων. float bspd = 15; const int maxammo = 60; //μεγιστος αριθμος γεμιστηρα int ammo = 60; // αριθμος γεμιστηρα int rate =5; // Ρυθμος πυρος int firingtimer = 0; int reloadtimer = 0; //αρχικοποιηση μεταβλητης int reloadtime = 60; //χρονος για να οπλισει bool reloading = false; //κατασταση οπλισμα οπλου απενεργοποιημενη 27

28 public static heli Heli; public heli(vector2 pos) :base(pos) //βρισκει τη θεση απο τη βαση δεδομενων. position = pos; spd = 5; //Η ταχυτητα κινησης του παικτη. spritename = "player"; Heli = this; public static void givehp()[3] hp = hpmax; //Δινει μεγιστη ζωη public static void RemoveHp() hp -- ; //Μειώνει τη ζωη του παικτη κατα 1 public static Boolean hashp() return hp > 0; //Ελεγχει αν εχει ζωη ο παικτης. public static void increasescore() score+=5; //Αυξανει το σκορ κατα 5 //Η συναρτηση που ειναι override μπορει να ενημερωνει τις τιμες των μεταβλητων σε //συναρτησεις με το ιδιο ονομα που ειναι virtual(πχ στη ταξη obj ) που βρισκονται σε αλλη //ταξη. public override void Update() [7] Heli = this; //κωδικας για τον ελεγχο του οπλου απο το πληκτρολογιο και το ποντικι. keyboard = Keyboard.GetState();//εκχωρει την κατασταση του πληκρολογιου στη //μεταβλητη. mouse = Mouse.GetState();//εκχωρει την κατασταση του ποντικιου. //Κινηση του χαρακτηρα απο τα βελακια if (keyboard.iskeydown(keys.up) &&!collision(new Vector2(0, -spd), new Wall(new Vector2(0, 0)))) //Εαν το πληκτρο ΠΑΝΩ εχει πατηθει ΚΑΙ εαν ο παικτης ΔΕΝ ακουμπαει τον τοιχο //τοτε μειωσε τη θεση του αντικειμενου κατα spd.το ιδιο γινεται για τις παρακατω εντολες //των παρακατω πληκτρων. 28

29 position.y -= spd; [7] if (keyboard.iskeydown(keys.left) &&!collision(new Vector2(-spd, 0), new Wall(new Vector2(0, 0)))) position.x -= spd; if (keyboard.iskeydown(keys.down) &&!collision(new Vector2(0, spd), new Wall(new Vector2(0, 0)))) position.y += spd; if (keyboard.iskeydown(keys.right) &&!collision(new Vector2(spd, 0), new Wall(new Vector2(0, 0)))) position.x += spd; //Κινηση του οπλου απο τα(w.a.s.d) if (keyboard.iskeydown(keys.w) &&!collision(new Vector2(0, -spd), new Wall(new Vector2(0, position.y -= spd; if (keyboard.iskeydown(keys.a) &&!collision(new Vector2(-spd, 0), new Wall(new Vector2(0, position.x -= spd; if (keyboard.iskeydown(keys.s) &&!collision(new Vector2(0, spd), new Wall(new Vector2(0, position.y += spd; if (keyboard.iskeydown(keys.d) &&!collision(new Vector2(spd, 0), new Wall(new Vector2(0, position.x += spd; firingtimer++; //oταν γεμιζε το οπλο δεν πυροβολαει(!reloading)!!! if (mouse.leftbutton == ButtonState.Pressed &&!reloading) CheckShooting();//Οταν ενεργοποιειται η συναρτηση το οπλο πυροβολαει. if (keyboard.iskeydown(keys.space) &&!reloading) CheckShooting();//Οταν ενεργοποιειται η συναρτηση το οπλο πυροβολαει. 29

30 //Εντολη πληκτρολογιου για να γεμισει το οπλο σφαιρες. [7] if (keyboard.iskeydown(keys.r) keyboard.iskeydown(keys.numpad0)) reloading = true; //Εντολη πληκτρολογιου για να γεμισει το οπλο σφαιρες. if (keyboard.iskeydown(keys.rightcontrol) keyboard.iskeydown(keys.leftcontrol)) reloading = true; CheckReload();//Η συναρτηση ελεγχει τον γεμισμα του οπλου. //Εαν ο γεμιστηρας αδειασει γεμισει το οπλο σφαιρες. [6] if (ammo == 0) reloading = true; CheckReload();//Η συναρτηση ελεγχει τον γεμισμα του οπλου. //Συνδεει τη περιστροφη του οπλου με τη θεση του ποντικιου ετσι ωστε το οπλο να //σημαδευει τον κερσορα του ποντικιού. rotation = point_direction(position.x, position.y, mouse.x, mouse.y); prevkeyboard = keyboard; //εκχωρει την προηγουμενη κατασταση του //πληκρολογιου. prevmouse = mouse; //εκχωρει την προηγουμενη κατασταση του ποντικιου. base.update();//ενημερωση της βασης δεδομενων. //Αλλαζει το Gamestate στο Menu για να κανουμε ΠΑΥΣΗ. if (keyboard.iskeydown(keys.p) ) //Παυση με το πληκτρο P BrainssssKiCKer.Gamestate = "Menu"; if (keyboard.iskeydown(keys.back)) //Παυση με το πληκτρο πισω BrainssssKiCKer.Gamestate = "Menu"; if (hp <= 0) //εαν η ζωη το παικτη γινει μηδεν τοτε hp = 0; //εαν ζωη ειναι μηδεν σε περιπτωση που παρει αρνητικη τιμη. alive = false; //το αντικειμενο παυει να ειναι δυναμικο. //Εδω δημιουργουνται τα διαφορετικα σκορ τις καθε πιστας. //Εδω δημιουργω τα διαφορετικα σκορ τις καθε πιστας. for (int z = 0; z < 11; z++)//επαναληψη 10 γυρων. 30

31 if (z == a)//ελεγχει σε ποιο γυρο ειναι το παιχνιδι. [3] if (score == giros)//εαν το σκορ γινει ισο με το γυρο εκτελουνται τα παρακατω. //algorithm for time. BrainssssKiCKer.Gamestate = "Menu";//αλλαζει τη κατασταση του παιχνιδιου //σε κατασταση μενου. d = d - 1;//ποσοι γυροι εχουν μεινει. giros = giros + 200;//algorithm for score. score = 0;//μηδενιζεται το σκορ. a = a + 1;//αυξανετε ο γυρος κατα 1. heli.givehp();//μολις τελιωσει ο γυρος γεμιζει ζωη τον παικτη. foreach (obj MyZombies in Items.objList) //Για καθε αντικειμενο της λιστας κανε. if (MyZombies.GetType() == typeof(enemy))//οποιο απο τα αντικειμενα //ειναι τυπος εχθρος κανε. MyZombies.alive = false; //Mολις τελειωσει ο γυρος αδειαζει η λιστα με τα ζομπι. if (a == 11)//Αν ο γυρος παει 11 γυρνα στο μενου το παιχνιδι τελιωσε. BrainssssKiCKer.Gamestate = "Menu";//αλλαζει τη κατασταση του παιχνιδιου σε //κατασταση μενου. //Εμφανιζει στη οθονη καποιες πληροφορες σε σχεση με την κατασταση του //παιχνιδιου οπως ammo, health, score... public override void Draw(SpriteBatch spritebatch) if (BrainssssKiCKer.Gamestate == "Game") [4] //O παρακατω κωδικας εμφανιζει στην οθονη την κατασταστη των Ammo kai //Reloading score,pause,health kai round. spritebatch.drawstring(brainsssskicker.font, "Health :" + hp, new Vector2(5, -3 + BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); spritebatch.drawstring(brainsssskicker.font, "Ammo :" + ammo, new Vector2(5, BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); spritebatch.drawstring(brainsssskicker.font, "Score :" + score + "/" + giros, new Vector2(5, 25 + BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); 31

32 [4] spritebatch.drawstring(brainsssskicker.font, "Press 'P' or 'Back' for Pause Game", new Vector2(500, BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); spritebatch.drawstring(brainsssskicker.font, "Round " + a, new Vector2(150, BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); if (reloading) spritebatch.drawstring(brainsssskicker.font, "Reloading :", new Vector2(10, 70 + BrainssssKiCKer.font.LineSpacing), Color.Red); base.draw(spritebatch); [6] //Η συναρτηση ελεγχει τον γεμισμα του οπλου. private void CheckReload() if (reloading) reloadtimer++; if (reloadtimer > reloadtime) ammo = maxammo; reloadtimer = 0; reloading = false; //Η συναρτηση ελεγχει ποτε και ποσο πυροβολαει το οπλο. private void CheckShooting() //ελεγχει ποτε θα αδιασει το οπλο "ammo >0". if (firingtimer > rate && ammo >0) firingtimer = 0; Shoot(); private void Shoot() ammo--;//οσο πυροβολαει το οπλο μειωνονται οι σφαιρες. foreach (obj MYobject in Items.objList) //Για καθε αντικειμενο της λιστας κανε... // με τον παρακατω ελεγχο επιτρεπουμε στο οπλο να πυροβολαει οταν εχει //σφαιρες και ειναι ζωντανο. if(myobject.gettype() == typeof(bullets) &&! MYobject.alive) //Εαν καποιο My object της λιστας ειναι σφαιρες και δεν ειναι ηδη μεσα στο // παιχνιδι κανε τα παρακατω. MYobject.position = position; //Η σφαιρα ξεκιναει απο τη θεση του οπλου. 32

33 MYobject.UpdateArea();//Ενημερωνει την θεση της σφαιρας. MYobject.rotation = rotation; //Η σφαιρα παιρνει περιστροφη του οπλου //δηλωνουμε τη ταχυτητα στης σφαιρας. MYobject.speed = bspd; //Η σφαιρα παιρνει τη ταχυτητα bspd. MYobject.alive = true; //Η σφαιρα ειναι ζωντανη. break; //Ο παρακατω αλγοριθμος βρισκει τη γωνια που σημαδευεις με το ποντικι. [6] private float point_direction(float x, float y, float x2, float y2) float diffx = x - x2; float diffy = y - y2; float adj = diffx; float opp = diffy; float tan = opp / adj; float res = MathHelper.ToDegrees((float)Math.Atan2(opp,adj)); res = (res - 180) % 360; if (res < 0) res += 360; return res; 33

34 [3] //Απαιτουμενες βιβλιοθηκες using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class Items public static List<obj> objlist = new List<obj>();//Δημιουργια μιας λιστας με ολα τα //αντικειμενα. //Η συναρτηση Initialize() προετοιμάζει το περιβάλλον του παιχνιδιού π.χ. ορίζει την //αρχική κατάσταση των αντικειμένων public static void Initilize() for (int i = 0; i < 80; i++) //στη επαναληψη αυτη οριζουμε 80 ζωντανες σφαιρες. obj MYobject = new Bullets(new Vector2(0,0)); MYobject.alive = false; //Τα αντικειμενα ειναι στη κατασταση ζωντανα objlist.add(myobject); [6]. //Μεγιστος αριθμος ζωντανων εχθρων που θα εμφανιζονται στο παιχνιδι ειναι 60. for (int j = 0; j < 60; j++) Enemy MyZombies = new Enemy(new Vector2(1340, 90)); MyZombies.alive = false; objlist.add(myzombies); //εδω βαζουμε τον παικτη και τον στοχο στο παιχνιδι. objlist.add(new heli(new Vector2(350, 450))); objlist.add(new Cursor(new Vector2(0, 0))); //εμφανιζει τα σημειου που θα βγαινει ο εχθρος. 34

35 objlist.add(new ZombieSpawner(new Vector2(1550, 600))); objlist.add(new ZombieSpawner(new Vector2(1850, 300))); objlist.add(new ZombieSpawner(new Vector2(1650, 100))); objlist.add(new ZombieSpawner(new Vector2(1750, 900))); //Εδω φτιαχνεται ενα πλαισιο απο τοιχο στο παιχνιδι. //Πλαισιο με γυρους,σκορ,ζωη,σφαιρες. objlist.add(new Wall(new Vector2(230, 50))); objlist.add(new Wall(new Vector2(200, 50))); objlist.add(new Wall(new Vector2(115, 50))); objlist.add(new Wall(new Vector2(50, 50))); //αριστερα τοιχος objlist.add(new Wall(new Vector2(-40, 150))); objlist.add(new Wall(new Vector2(-40, 250))); objlist.add(new Wall(new Vector2(-40, 350))); objlist.add(new Wall(new Vector2(-40, 450))); objlist.add(new Wall(new Vector2(-40, 550))); objlist.add(new Wall(new Vector2(-40, 650))); objlist.add(new Wall(new Vector2(-40, 750))); objlist.add(new Wall(new Vector2(-40, 850))); objlist.add(new Wall(new Vector2(-40, 950))); //δεξια τοιχος objlist.add(new Wall(new Vector2(1570, 50))); objlist.add(new Wall(new Vector2(1570, 150))); objlist.add(new Wall(new Vector2(1570, 250))); objlist.add(new Wall(new Vector2(1570, 350))); objlist.add(new Wall(new Vector2(1570, 450))); objlist.add(new Wall(new Vector2(1570, 550))); objlist.add(new Wall(new Vector2(1570, 650))); objlist.add(new Wall(new Vector2(1570, 750))); objlist.add(new Wall(new Vector2(1570, 850))); objlist.add(new Wall(new Vector2(1570, 950))); objlist.add(new Wall(new Vector2(1670, 50))); objlist.add(new Wall(new Vector2(1670, 150))); objlist.add(new Wall(new Vector2(1670, 250))); objlist.add(new Wall(new Vector2(1670, 350))); objlist.add(new Wall(new Vector2(1670, 450))); objlist.add(new Wall(new Vector2(1670, 550))); objlist.add(new Wall(new Vector2(1670, 650))); objlist.add(new Wall(new Vector2(1670, 750))); objlist.add(new Wall(new Vector2(1670, 850))); objlist.add(new Wall(new Vector2(1670, 950))); objlist.add(new Wall(new Vector2(1670, 1050))); 35

36 //πανω τοιχος objlist.add(new Wall(new Vector2(1400, -40))); objlist.add(new Wall(new Vector2(1300, -40))); objlist.add(new Wall(new Vector2(1200, -40))); objlist.add(new Wall(new Vector2(1100, -40))); objlist.add(new Wall(new Vector2(1000, -40))); objlist.add(new Wall(new Vector2(900, -40))); objlist.add(new Wall(new Vector2(800, -40))); objlist.add(new Wall(new Vector2(700, -40))); objlist.add(new Wall(new Vector2(600, -40))); objlist.add(new Wall(new Vector2(500, -40))); objlist.add(new Wall(new Vector2(400, -40))); objlist.add(new Wall(new Vector2(300, -40))); objlist.add(new Wall(new Vector2(200, -40))); objlist.add(new Wall(new Vector2(100, -40))); objlist.add(new Wall(new Vector2(0, -40))); //κατω τοιχος objlist.add(new Wall(new Vector2(1600, 1040))); objlist.add(new Wall(new Vector2(1500, 1040))); objlist.add(new Wall(new Vector2(1400, 1040))); objlist.add(new Wall(new Vector2(1300, 1040))); objlist.add(new Wall(new Vector2(1200, 1040))); objlist.add(new Wall(new Vector2(1100, 1040))); objlist.add(new Wall(new Vector2(1000, 1040))); objlist.add(new Wall(new Vector2(900, 1040))); objlist.add(new Wall(new Vector2(800, 1040))); objlist.add(new Wall(new Vector2(700, 1040))); objlist.add(new Wall(new Vector2(600, 1040))); objlist.add(new Wall(new Vector2(500, 1040))); objlist.add(new Wall(new Vector2(400, 1040))); objlist.add(new Wall(new Vector2(300, 1040))); objlist.add(new Wall(new Vector2(200, 1040))); objlist.add(new Wall(new Vector2(100, 1040))); objlist.add(new Wall(new Vector2(0, 1040))); 36

37 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class Enemy : obj[6] //Αρχικοποιηση καποιων μεταβλητων που θα μας χρησιμευσουν παρακατω. int health = 100; float spd = 1; //ταχυτητα του ζομπι. [3] int damagetimer = 300; //Οταν η δίπλα μεταβλητη ειναι μηδεν το ζομπι μπορει να // // τραυματισει τον παικτη, το 300 ειναι ενα ειδος //καθυστέρησης για καθε χτυπημα του ζομπι. public Enemy(Vector2 pos) : base(pos) position = pos; //η θεση του ζομπι spritename = "zombie";//το ονομα του αρχειου του ζομπι. health = 50; //η ζωη του ζομπι speed = spd; //ταχυτητα του ζομπι. if (!alive) return; public void damageplayer() if (damagetimer == 0)//Οταν ειναι μηδεν το ζομπι μπορει να τραυματισει τον παικτη damagetimer = 300; heli.removehp();//μειώνει τη ζωη του παικτη κατα 1 37

38 public override void Update()[6] //Ο εχθρος ερχεται προς το μερος του παικτη, οταν του τελιωσει η ζωη //εξαφανιζεται. if (health > 0) rotation = point_direction(position.x, position.y, heli.heli.position.x, heli.heli.position.y); //Το ζομπι πηγαινει προς την θεση του παικτη. if (damagetimer > 0) damagetimer--; //Μειωνει κατα 1 το χρονο. //Οταν ο εχθρος ''ακουμπησει'' τον παικτη, ο παικτης χανει ζωη obj MyZombies = collision(new heli(new Vector2(heli.Heli.position.X, heli.heli.position.y ))); if (MyZombies.GetType() == typeof(heli)) //Εαν το αντικειμενο ειναι ο παικτης τοτε damageplayer();//καλει τη συναρτηση που μειωνε ιτη ζωη του παικτη. // Οταν πεθανει ενας εχθρος παιρνεις 5 ποντους. if (health == 0 ) heli.increasescore();//η συναρτηση αυτη καλειται απο το αντικειμενο heli και αυξανει το... //...σκορ κατα 5 μοναδες. alive = false; //Το αντικειμενο δεν ειναι δυναμικο πια γιατι δεν ειναι ζωντανο. health = 50; //Η ζωη του εχθρου zombie. base.update();// Ενημερωνετε η βαση δεδομενων. 38

39 //Ο παρακατω αλγοριθμος βρισκει τη γωνια που σημαδευεις με το ποντικι. private float point_direction(float x, float y, float x2, float y2) [6] float diffx = x - x2; float diffy = y - y2; float adj = diffx; float opp = diffy; float tan = opp / adj; float res = MathHelper.ToDegrees((float)Math.Atan2(opp, adj)); res = (res - 180) % 360; if (res < 0) res += 360; return res; public void Damage(int dmg) health -= dmg; Μειωνει τη ζωη των ζομπι κατα 1 39

40 40 ZombieSpawner [3] using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class ZombieSpawner : obj[6] //Αρχικοποιησεις μεταβλητων private int spawntimer = 0; public static int spawntime = 300; public ZombieSpawner(Vector2 pos) : base(pos) position = pos; //Η θεση του αντικειμενου //Απο τη λιστα με τα αντικειμενα που δημιουργησα παιρνει τον εχθρο. public override void Update() IncrementTimers();//Aυξανει κατα ενα το χρονο if (spawntimer > spawntime) //καθε φορα που το spawntimer γινεται 300 βγαινει //ενα ζομπι. spawntimer = 0; foreach (obj MYobject in Items.objList) if (MYobject.GetType() == typeof(enemy) &&! MYobject.alive) //εαν βρει ζομπι παει στη κατω εντολη MYobject.alive = true; //Ζωντανευει ενα ζομπι MYobject.position = position; //Ενα ζομπι εμφανιζεται στη θεση του zombie spawner. break; //Διακοπτουμε την εντολη for each με το break για να βγαζει καθε //φορα που το spawntime γινεται 300 ενα ζομπι.

41 private void IncrementTimers()[3] if (heli.a == 1 heli.a == 2 heli.a == 3) //Η ταχυτητα εμφανισης ζομπι στου γυρους 1,2,3 spawntimer = spawntimer + 1; if (heli.a == 4 heli.a == 5 heli.a == 6 heli.a == 7) //Η ταχυτητα εμφανισης ζομπι στου γυρους 4,5,6 spawntimer = spawntimer + 2; if (heli.a == 8 heli.a == 9 heli.a == 10) //Η ταχυτητα εμφανισης ζομπι στου γυρους 8,9,10 spawntimer = spawntimer + 3; 41

42 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class Bullets : obj[6] public Bullets(Vector2 pos) : base(pos) //βρισκει τη θεση απο τη βαση δεδομενων του obj. position = pos; spritename = "bullet"; [3] public override void Update() if (!alive) return; //Αν δεν ειναι ζωντανη δεν κανει τιποτα. //εξαφανιζεται η σφαιρα οταν πεφτει σε τοιχο. if (collision(vector2.zero, new Wall(new Vector2(0, 0)))) alive = false; //η σφαιρα δεν ειναι ζωντανη. //Δημιουργει damage στον εχθρο οταν ερχεται σε επαφη με τη σφαιρα. obj MYobject = collision(new Enemy(new Vector2(0, 0))); if (MYobject.GetType() == typeof(enemy)) //Αν το αντικειμενο ειναι εχθρος κανε... alive = false; Enemy MyZombies = (Enemy) MYobject; //Μετατροπη obj σε Enemy. MyZombies.Damage(10); //Μειωνει τη ζωη των ζομπι κατα 1 απο τα 10 base.update();//ενημερωση της βασης δεδομενων. 42

43 [3] using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A //Δημιουργω τοιχο στο παιχνιδι. class Wall : obj public Wall(Vector2 pos) [6] : base(pos) //βρισκει τη θεση απο τη βαση δεδομενων του obj solid = true; //ειναι στερεο. position = pos; //μεταβλητη για τη θεση του τοιχου. spritename = "wall";//το ονομα του αρχειου του τοιχου. 43

44 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class Cursor : obj[6] //Σε αυτη τη ταξη υπαρχει ο κωδικας του κερσορα "στοχου του οπλου". MouseState mouse; //εκχωρει την κατασταση του ποντικιου. //Αυτη η ταξη επιστρεφει τη θεση του κερσορα στο παιχνιδι και προς αυτη τη θεση θα... //...κατευθυνεται η σφαιρα που ξεκιναει απο το παικτης-οπλο. public Cursor(Vector2 pos) : base(pos) //βρισκει τη θεση απο τη βαση δεδομενων. position = pos; //Η θεση του αντικειμενου. spritename = "cursor";//το ονομα του αρχειου της εικονας του κερσορα. public override void Update() mouse = Mouse.GetState();//Η κατασταση που βρισκεται το ποντικι. [3] position = new Vector2(mouse.X,mouse.Y); // τη θεση του κερσορα στο παιχνιδι. base.update();//ενημερωση της βασης δεδομενων. 44

45 [3] using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; namespace _2Dgame_project_A class Menu[6] public static int c = 0; KeyboardState keyboard; //κατασταση πληκτρολογιου. KeyboardState prevkeyboard; //προηγουμενη κατασταση πληκτρολογιου. SpriteFont spritefont; // αρχικοποιηση της μεταβλητης ΛΕΞΕΩΝ. List<string> buttonlist = new List<string>();// Δημιουργια λιστας κουμπιων μενου. int selected = 0; // αρχικοποιηση της μεταβλητης public Menu() // μενου κουμπια μπορουν να αλλαζουν την κατασταση του παιχνιδιου. buttonlist.add("start Game");// μενου κουμπι startgame. buttonlist.add("exit");// μενου κουμπι exit. public void LoadContent(ContentManager Content) spritefont = Content.Load<SpriteFont>(" Grammatoseira ");//φορτωνει το αρχειο 45

46 public void Update(GameTime gametime) [7] c = heli.α - 1; //Θετει στο c τον αριθμο του προηγουμενου γυρου. keyboard = Keyboard.GetState(); //Ελεγχος του μενου απο το πληκτρολογιο. if (CheckKeyboard(Keys.Up)) //Εαν πατηθει το πληκτρο πανω κανε if (selected > 0) selected--; //Εαν το selected ειναι μεγαλυτερο απο το 0 μειωσε το κατα 1. if (CheckKeyboard(Keys.Down)) //Εαν πατηθει το πληκτρο κατω κανε if (selected < buttonlist.count - 1) selected++; //Εαν το selected ειναι μικροτερο απο το τελευταιο κουμπι αυξησε το κατα 1. if (CheckKeyboard(Keys.Enter)) //Εαν πατηθει το πληκτρο enter κανε. switch (selected) //επελεξε τον αριθμο της μεταβλητης selected. case 0: //Εαν το selected ειναι 0 ξεκινα το παιχνιδι. BrainssssKiCKer.Gamestate ="Game"; break; case 1: //Εαν το selected ειναι 1 πηγαινε στο μενου. BrainssssKiCKer.Gamestate = "Exit"; break; if (CheckKeyboard(Keys.Space)) //Εαν πατηθει το πληκτρο space κανε. switch (selected) //επελεξε τον αριθμο της μεταβλητης selected. case 0: //Εαν το selected ειναι 0 ξεκινα το παιχνιδι. BrainssssKiCKer.Gamestate = "Game"; break; case 1: //Εαν το selected ειναι 1 πηγαινε στο μενου. BrainssssKiCKer.Gamestate = "Exit"; break; public bool CheckKeyboard(Keys key) //Ελεγχος για το εαν εχει πατηθει καποιο πληκτρο απο το πληκτρολογιο του χρηστη. return (keyboard.iskeydown(key) &&!prevkeyboard.iskeydown(key)); 46

47 public void Draw(SpriteBatch spritebatch) Color color; //Δηλωση της μεταβλητης int linepadding = 10; //κενο γραμμης μεταξυ των κουμπιων "Exit" και Game. //Στην ΧΝΑ για να εμφανιστουν καποια γραφικα στο παιχνιδι με τη συναρτηση draw ειναι //απαραιτητο ο κωδικας για την φωτογραφια να μπει αναμεσα στις εντολες //spritebatch.begin() και spritebatch.end().[5] spritebatch.begin(); for (int i = 0; i < buttonlist.count; i++)//για οσα κουμπια εχει η λίστα κανε //Το χρωμα για οταν το κουμπι ειναι επιλεγμενο και το χρωμα για οταν το κουμπι δεν ειναι //ειναι επιλεγμενο color = (i == selected)? Color.Goldenrod : Color.Aquamarine; //Ο κατω κωδικας εμφανιζει τα κουμπια στο μενου. spritebatch.drawstring(spritefont, buttonlist[i], new Vector2 ((BrainssssKiCKer.screen.Width / 2) - (spritefont.measurestring(buttonlist[i]).x / 2), (BrainssssKiCKer.screen.Height / 2) - (spritefont.linespacing * buttonlist.count / 2) + ((spritefont.linespacing + linepadding) * i)), color); //Τα παρακατω μηνυματα εμφανιζονται μονο στο μενου if (BrainssssKiCKer.Gamestate == "Menu") //O παρακατω κωδικας εμφανιζει στην οθονη την κατασταση καποιων μεταβλητων //και δινει διαφορες οδηγιες στον χρηστη για το πως να χειριστει το παιχνιδι. [4] spritebatch.drawstring(brainsssskicker.font, "Project Create by Gerakas George Hlias", new Vector2(15, BrainssssKiCKer.font.LineSpacing), Color.Red); spritebatch.drawstring(brainsssskicker.font, "AM : 4929 ATEI Chania", new Vector2(15, 10 + BrainssssKiCKer.font.LineSpacing), Color.Red); spritebatch.drawstring(brainsssskicker.font, "Project for Dr.Konstantaras A.", new Vector2(15, 30 + BrainssssKiCKer.font.LineSpacing), Color.Red); spritebatch.drawstring(brainsssskicker.font, "HELLOW To BrainsSSSS KiCKer ", new Vector2(600, BrainssssKiCKer.font.LineSpacing), Color.Purple); spritebatch.drawstring(brainsssskicker.font, "Beta ", new Vector2(1200, BrainssssKiCKer.font.LineSpacing), Color.Purple); spritebatch.drawstring(brainsssskicker.font, "...Control Menu with Buttons: Up,Down,Enter to Play or Exit...", new Vector2(350, BrainssssKiCKer.font.LineSpacing), Color.Green); 47

48 [4] spritebatch.drawstring(brainsssskicker.font, "Game controls by KEYS (W, A,S,D,R,MOUSE) or (UP,DOWN,LEFT,RIGHT,MOUSE, 0 to reload or CTRL)", new Vector2(105, BrainssssKiCKer.font.LineSpacing), Color.Green); spritebatch.drawstring(brainsssskicker.font, "...also you can shoot with SPACE", new Vector2(350, BrainssssKiCKer.font.LineSpacing), Color.Green); spritebatch.drawstring(brainsssskicker.font, "For fullscreen press the button 'F1' ", new Vector2(850, 60 + BrainssssKiCKer.font.LineSpacing), Color.SandyBrown); spritebatch.drawstring(brainsssskicker.font, "For exit fullscreen press the button 'F2' ", new Vector2(850, BrainssssKiCKer.font.LineSpacing), Color.SandyBrown); if (heli.a!= 11) //Το μηνυμα εμφανιζεται μεχρι να τερματιστει το παιχνιδι. spritebatch.drawstring(brainsssskicker.font, "Press Start to continue to round " + heli.a, new Vector2(550, BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); if (heli.a!= 11 && heli.a!= 1) //Το μηνυμα εμφανιζεται απο το τελος του 1 γυρου μεχρι να τελιωσει παιχνιδι. spritebatch.drawstring(brainsssskicker.font, "Congratulation you finish the round " + c + "!!!! " + heli.d + " Rounds Remaining!!!!", new Vector2(350, BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); if (heli.a == 11) //Το μηνυμα εμφανιζεται μολις τερματιστει το παιχνιδι. spritebatch.drawstring(brainsssskicker.font, "Congratulation you win :)!!! ", new Vector2(650, BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); spritebatch.drawstring(brainsssskicker.font, "No more rounds!!!you can only exit the game!!! ", new Vector2(550, BrainssssKiCKer.font.LineSpacing), Color.GreenYellow); spritebatch.end(); 48

49 49 Το περιβαλλον του παιχνιδιου[3]

50 50

51 Στάδια βελτίωσης του παιχνιδιού Eνδιάμεσα απο αυτα τα Beta υπηρξαν και αλλα με μικροαλλαγες Ημερομηνια:5/7/2014 Beta Πολυ λιτο μενου χωρις πληροφοριες 51

52 Ημερομηνια:25/7/2014 Beta Το μενού έχει περισσότερες πληροφορίες και οδηγίες. 52

53 Ημερομηνια:22/9/2014 Beta Η τελική μορφή του μενού του παιχνιδιού που τα εχει ολα! 53

54 Ημερομηνια:3/11/2014 Beta Το μενού του παιχνιδιού παραμένει ίδιο.οταν ο παικτης κερδισει και τον τελευταιο γυρο το παιχνιδι γυρναει στο μενου με τα παρακατω μηνυματα και ο χρηστης το μονο που μπορει να κανει ειναι να πατησει το κουμπι exit. 54

55 Peter Kuhn "Mister Goodcat" 10) Function X press C# Aplication design(rectangle diagram) Εισαγωγή στη C# Γκανάτσιος) 55

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

3 ο εργαστήριο Scratch for NinjaCoders

3 ο εργαστήριο Scratch for NinjaCoders 3 ο εργαστήριο Scratch for NinjaCoders Τίτλος εφαρμογής: Space Invaders (Διαστημικοί εισβολείς) Περιγραφή στόχων, σενάριο εφαρμογής, παρουσίαση scratch, μεταβλητές, συμβάντα, προγραμματιστικές δομές 0

Διαβάστε περισσότερα

Δομή Επιλογής. 1. Αν ο σκύλος ακουμπήσει ένα κόκαλο τότε το κόκαλο εξαφανίζεται και ο παίκτης κερδίζει 10 πόντους.

Δομή Επιλογής. 1. Αν ο σκύλος ακουμπήσει ένα κόκαλο τότε το κόκαλο εξαφανίζεται και ο παίκτης κερδίζει 10 πόντους. Τάξη : Α Λυκείου Λογισμικό : Scratch Ενδεικτική Διάρκεια : 45 λεπτά Δομή Επιλογής Μία από τις πιο σημαντικές δομές που χρησιμοποιείται στον προγραμματισμό είναι η δομή επιλογής. Η δομή αυτή μας δίνει την

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

ΠΛΗΚΤΡΟΛΟΓΙΟ. Η ελληνική διάταξη πλήκτρων είναι η παρακάτω (δεν υπάρχουν άλλες διατάξεις για το ελληνικό αλφάβητο):

ΠΛΗΚΤΡΟΛΟΓΙΟ. Η ελληνική διάταξη πλήκτρων είναι η παρακάτω (δεν υπάρχουν άλλες διατάξεις για το ελληνικό αλφάβητο): ΠΛΗΚΤΡΟΛΟΓΙΟ Διατάξεις χαρακτήρων Το πληκτρολόγιο περιλαμβάνει όλους τους χαρακτήρες κάποιου αλφάβητου π.χ. του λατινικού, και πολλά σημεία στίξης, διακριτικά σύμβολα, και βοηθητικά πλήκτρα. Ανάλογα με

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

Διαβάστε περισσότερα

Οδηγίες Εργασίας 1 Facility-Game

Οδηγίες Εργασίας 1 Facility-Game ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 2013-2014 Οδηγίες Εργασίας 1 Facility-Game Ανανεωμένος για την έκδοση v0.62 του FacilityGameProject Διδάσκων : Eπικ.Καθηγητής Παύλoς Εφραιμίδης Υπεύθυνος Φροντιστηρίου : Σωτήρης Γυφτόπουλος

Διαβάστε περισσότερα

Χρήσιμες Λειτουργίες των. Windows 7

Χρήσιμες Λειτουργίες των. Windows 7 Χρήσιμες Λειτουργίες των Windows 7 1 Περιεχόμενα Εισαγωγή... 3 Χαρακτηριστικά των Windows 7... 3 1. Θέματα (themes):... 3 1.1. Aero Peek... 4 1.2. Aero Shake:... 4 1.3. Aero Snap:... 4 1.4. Αero Flip:...

Διαβάστε περισσότερα

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα.

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα. «Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα. Πώς θα δουλέψεις με το Χελωνόκοσμο την πρώτη φορά 1. Θα χρησιμοποιήσεις το αριστερό πλήκτρο

Διαβάστε περισσότερα

Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια

Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια Φύλλο Εργασίας Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια Δραστηριότητα 1η Σε αυτό το φύλλο εργασίας θα δημιουργήσουμε βήμα βήμα ένα παιχνίδι με λαβύρινθο (maze game) με εμπόδια. Το παιχνίδι

Διαβάστε περισσότερα

Δημιουργία παρουσιάσεων (Power Point)

Δημιουργία παρουσιάσεων (Power Point) Δημιουργία παρουσιάσεων (Power Point) Το πρόγραμμα PowerPoint είναι η «αίθουσα προβολών» του Office. Μια προβολή (παρουσίασης) του PowerPoint μπορεί να έχει ως στόχο να ενημερώσει, να διδάξει ή και να

Διαβάστε περισσότερα

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το Τάξη : Α Λυκείου Λογισμικό : Scratch Ενδεικτική Διάρκεια : 45 λεπτά Μεταβλητές Όλα όσα έμαθες στα προηγούμενα φυλλάδια είναι απαραίτητα για να υλοποιήσεις απλές εφαρμογές. Ωστόσο αν θέλεις να δημιουργήσεις

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 447 ΥΠΟΛΟΓΙΣΤΙΚΗ ΟΡΑΣΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 447 ΥΠΟΛΟΓΙΣΤΙΚΗ ΟΡΑΣΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ 447 ΥΠΟΛΟΓΙΣΤΙΚΗ ΟΡΑΣΗ PROJECT Pac-Man game controlled with Kinect Αβραάμια Κοντού 990412 Νικόλας Τσεκούρας 1021973 Σκεύη Ματσεντίδου 982267 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 3-4 2. Επεξήγηση

Διαβάστε περισσότερα

C# (Sharp) ΤΕΙ Λάρισας. Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών. βιβλίο μελέτης εργαστηρίου. προγραμματισμός ΙΙ. έκδοση 1.0.

C# (Sharp) ΤΕΙ Λάρισας. Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών. βιβλίο μελέτης εργαστηρίου. προγραμματισμός ΙΙ. έκδοση 1.0. ΤΕΙ Λάρισας Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών προγραμματισμός ΙΙ C# (Sharp) βιβλίο μελέτης εργαστηρίου έκδοση 1.0.1 Νεβράντζας Βάιος-Γερμανός Λάρισα Φεβρουάριος 2011 σελίδα 2 από 39 Ευρετήριο

Διαβάστε περισσότερα

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0 Δομές Δεδομένων 5ο εξάμηνο Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse v1.0 Τις σημειώσεις κράτησαν και διαμόρφωσαν σε word οι: Κονδύλη Γαλήνη, ΑΜ 5576 Μάλλιου Χριστίνα, ΑΜ 5413

Διαβάστε περισσότερα

Windows 7 Windows Vista

Windows 7 Windows Vista ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΚΕΝΤΡΟ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΩΝ Κωστακιοί Άρτας, ΑΡΤΑ 47100 - Tηλ.. 26810 50500 - Fax. 2681 76941 e-mail: noc@teiep.gr ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ Τ.Ε.Ι. ΗΠΕΙΡΟΥ

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

Διαβάστε περισσότερα

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού Εκτιμώμενη διάρκεια: Τέσσερις διδακτικές ώρες Ένταξη στο πρόγραμμα σπουδών Στο νέο Πρόγραμμα Σπουδών του Γυμνασίου

Διαβάστε περισσότερα

Interactive Power Point

Interactive Power Point Interactive Power Point Οι περισσότεροι χρήστες γνωρίζουν τη χρήση του Microsoft Power Point για τη δημιουργία παρουσιάσεων. Αυτό όμως που λίγοι γνωρίζουν, είναι ότι το πρόγραμμα αυτό, έχει δυνατότητες

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr

Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής stelios@uom.edu.gr Digital natives Οι σπουδαστές του 21 ου αιώνα - Digital natives Οι σπουδαστές του 21 ου αιώνα έχουν αλλάξει ριζικά

Διαβάστε περισσότερα

Δημιουργία παιχνιδιού με το Game Maker 8.1 Lite 1

Δημιουργία παιχνιδιού με το Game Maker 8.1 Lite 1 Δημιουργία παιχνιδιού με το Game Maker 8.1 Lite 1 Νίκος Αγγελιδάκης, ΠΕ19 2 έκδοση 1.0 Φεβρουάριος 2012 1 http://www.yoyogames.com/gamemaker/windows 2 http://aggelid.mysch.gr Περιεχόμενα σελ. 1 - Εισαγωγή

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

Διαβάστε περισσότερα

1. Τα τμήματα της επιφάνειας εργασίας των Windows

1. Τα τμήματα της επιφάνειας εργασίας των Windows 1. Τα τμήματα της επιφάνειας εργασίας των Windows Εικονίδια συντομεύσεων (αρχείου-φακέλου) Εικονίδια Ανενεργά Ενεργό Επιφάνεια (αρχείου-φακέλου) παράθυρα παράθυρο εργασίας Γραμμή μενού Γραμμή εργαλείων

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

Το λογισμικό παρουσιάσεων Power Point 2007

Το λογισμικό παρουσιάσεων Power Point 2007 Το λογισμικό παρουσιάσεων Power Point 2007 Το πρόγραμμα PowerPoint είναι η «αίθουσα προβολών» του Office. Μια προβολή (παρουσίασης) του PowerPoint μπορεί να έχει ως στόχο να ενημερώσει, να διδάξει ή και

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Τηλ/νιών Τομέας Προγ/σμού & Τεχνολογίας Λογισμικού Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Δρ. Νικόλαος Θ. Λιόλιος Καθηγητής Φεβρουάριος 2012 1. Εισαγωγή Το Visual

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Πώς εισάγουμε μια νέα έννοια χρησιμοποιώντας το εργαλείο Create

Πώς εισάγουμε μια νέα έννοια χρησιμοποιώντας το εργαλείο Create Inspiration 8 IE Β ήμα προς Βήμα Για μαθητές Έναρξη Προγράμματος Inspiration 1. Κάνουμε κλικ στο κουμπί Start, επιλέγουμε Programs και κάνουμε κλικ στο Inspiration 8 IE. 2. Στην αρχική οθόνη του προγράμματος

Διαβάστε περισσότερα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: Αφαιρετικότητα, Βιβλιοθήκες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αφαιρετικότητα -Βιβλιοθήκες (packages) Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής Προγραμματισμός

Διαβάστε περισσότερα

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5) ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ Τοποθετώ μια δισκέτα στον οδηγό τη δισκέτας του υπολογιστή. Τοποθετώ τη δισκέτα που έχει το αρχείο μου στον οδηγό τη δισκέτας του υπολογιστή.

Διαβάστε περισσότερα

Κεφάλαιο 1.Εντολές κίνησης

Κεφάλαιο 1.Εντολές κίνησης Προγραμματίζω με το ΒΥΟΒ 1 Κεφάλαιο 1.Εντολές κίνησης Από το μάθημα της Φυσικής γνωρίζουμε ότι κίνηση σημαίνει αλλαγή της θέσης ενός αντικειμένου. Οι εντολές κίνησης που μας παρέχει το ΒΥΟΒ χωρίζονται

Διαβάστε περισσότερα

Microsoft PowerPoint 2007

Microsoft PowerPoint 2007 Information Technology Services and Solutions Σύμβουλοι Μηχανογράφησης και Εκπαίδευσης Στεφ. Σκουλούδη 27, Καλλίπολη, Πειραιάς 210 45 38 177 http://www.itss.gr/ Microsoft PowerPoint 2007 Κωνσταντίνος Κωβαίος

Διαβάστε περισσότερα

Βιοϊατρική τεχνολογία

Βιοϊατρική τεχνολογία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Βιοϊατρική τεχνολογία Ενότητα 5: Οξύμετρο (OxyPro Project) Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr ΕΕΔΙΠ Μπέλλου Σοφία e-mail: sbellou@uowm.gr

Διαβάστε περισσότερα

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ ΟΠΑ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΠΑΡΟΧΟ (ΥΠΗΡΕΣΙΑ VPN) Windows 8, Windows 7, Windows Vista, Windows XP

ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ ΟΠΑ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΠΑΡΟΧΟ (ΥΠΗΡΕΣΙΑ VPN) Windows 8, Windows 7, Windows Vista, Windows XP ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ ΟΠΑ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΠΑΡΟΧΟ (ΥΠΗΡΕΣΙΑ VPN) Windows 8, Windows 7, Windows Vista, Windows XP Σε περίπτωση κατά την οποία ο υπολογιστής που χρησιμοποιείτε συνδέεται στο Internet

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης Γρήγορη αναφορά Αντιγραφή Δημιουργία αντιγράφων Γρήγορη δημιουργία αντιγράφου 3 Στον πίνακα ελέγχου του εκτυπωτή πατήστε το κουμπί αντίγραφο 4 Εάν τοποθετήσατε το έγγραφο στη γυάλινη επιφάνεια σάρωσης

Διαβάστε περισσότερα

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

Διαβάστε περισσότερα

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Ευ ομή Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Περιεχόμενα 1. Χειρισμός του περιβάλλοντος LT125-dp Εγκατάσταση & Τρέξιμο Χειρισμός της ψηφιακής εφαρμογής Πλοήγηση στο περιεχόμενο Αλλαγή του μεγέθους

Διαβάστε περισσότερα

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58 7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58 Στόχοι Μαθήματος 1. Πώς να επαναλάβετε μια δράση 2. Μάθετε πώς να χρησιμοποιείτε το Loop Blocks Προγραμματισμός EV3 Ακαδημία Ρομποτικής

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΙΣΤΟΣΕΛΙΔΑΣ ΠΑΡΑΓΓΕΛΙΩΝ ΛΙΑΝΙΚΗΣ ΣΕ ΕΡΓΟΣΤΑΣΙΟ

ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΙΣΤΟΣΕΛΙΔΑΣ ΠΑΡΑΓΓΕΛΙΩΝ ΛΙΑΝΙΚΗΣ ΣΕ ΕΡΓΟΣΤΑΣΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ Τ.Ε.Ι ΠΕΙΡΑΙΑ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΙΣΤΟΣΕΛΙΔΑΣ ΠΑΡΑΓΓΕΛΙΩΝ ΛΙΑΝΙΚΗΣ ΣΕ ΕΡΓΟΣΤΑΣΙΟ ΒΑΣΙΛΕΙΟΣ ΠΑΣΣΙΟΣ Α.Μ:37992 ΙΩΑΝΝΗΣ ΑΓΓΕΛΟΠΟΥΛΟΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ

Διαβάστε περισσότερα

DreamSpark. Τώρα λοιπόν που μάθατε περι τίνος πρόκειται, ας δούμε πώς μπορεί κάποιος να κατεβάσει λογισμικό από το site του DreamSpark.

DreamSpark. Τώρα λοιπόν που μάθατε περι τίνος πρόκειται, ας δούμε πώς μπορεί κάποιος να κατεβάσει λογισμικό από το site του DreamSpark. DreamSpark Το DreamSpark είναι μια πρωτοβουλία της Microsoft, για δωρεάν παροχή λογισμικού σε φοιτητές και άλλα μέλη ακαδημαϊκών ιδρυμάτων, για ερευνητικούς-εκπαιδευτικούς σκοπούς και όχι μόνο. To λογισμικό

Διαβάστε περισσότερα

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω. Τι είναι το debug μαμα? Με απλά λόγια, debug (αποσφαλμάτωση αλλά που να κάθεσαι να το πεις), είναι η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων που υπάρχουν σε κώδικα (ασχέτως γλώσσας προγραμματισμού).

Διαβάστε περισσότερα

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

Διαβάστε περισσότερα

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC Η Visual Basic είναι μια γλώσσα προγραμματισμού οδηγούμενη από συμβάντα που έχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης Έχει δημιουργηθεί από τη

Διαβάστε περισσότερα

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 3: Βασικά στοιχεία της γλώσσας προγραμματισμού Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties) Καθηγητής : Κώστας Αχιλλέως ΒΑΣΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΣΤΗ VISUAL BASIC A ΛΥΚΕΙΟΥ ΚΑΤΕΥΘΥΝΣΗΣ Α) Τι είναι η Visual Basic Είναι μια γλώσσα οπτικού προγραμματισμού υψηλού επιπέδου. Β) Οπτικός

Διαβάστε περισσότερα

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά Τσάπελη Φανή ΑΜ: 243113 Ενισχυτική Μάθηση για το παιχνίδι dots Τελική Αναφορά Περιγραφή του παιχνιδιού Το παιχνίδι dots παίζεται με δύο παίχτες. Έχουμε έναν πίνακα 4x4 με τελείες, και σκοπός του κάθε παίχτη

Διαβάστε περισσότερα

Περιγραφή του βασικού παραθύρου του Cubase SE3. Εικόνα 1

Περιγραφή του βασικού παραθύρου του Cubase SE3. Εικόνα 1 Περιγραφή του βασικού παραθύρου του Cubase SE3 Εικόνα 1 Transport panel Προετοιμασία και εκτέλεση ηχογράφησης σε ένα κανάλι MIDI και Quantize 1. Ανοίγουμε το Cubase, πηγαίνουμε στο μενού File και επιλέγουμε

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract

Διαβάστε περισσότερα

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ Εγκατάσταση και λειτουργία message editor: Αρχικά τοποθετούµε το cd στον υπολογιστή και εµφανίζεται η οθόνη εγκατάστασης Στην περίπτωση που δεν εµφανιστεί αυτόµατα

Διαβάστε περισσότερα

Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου

Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου Ιωάννης Γ. Τσούλος Εργασία Πρώτη - Αριθμομηχανή Με την χρήση του περιβάλλοντος AWT ή του SWING θα πρέπει να δημιουργηθεί αριθμομηχανή για την εκτέλεση

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Εγχειρίδιο χρήσης. Εκπαιδευτικής αυτόματης φρέζας (CNC) με Fanuc 0M- B controller. Περιεχόμενα. Από τον φοιτητή Κορέτση Γεώργιο

Εγχειρίδιο χρήσης. Εκπαιδευτικής αυτόματης φρέζας (CNC) με Fanuc 0M- B controller. Περιεχόμενα. Από τον φοιτητή Κορέτση Γεώργιο Εγχειρίδιο χρήσης Εκπαιδευτικής αυτόματης φρέζας (CNC) με Fanuc 0M- B controller. Από τον φοιτητή Κορέτση Γεώργιο Περιεχόμενα 1. Μηδενισμός εργαλείων...σελ. 2 2. Εισαγωγή προγραμμάτων από Η/Υ...Σελ. 3

Διαβάστε περισσότερα

Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στοn επεξεργαστή κειμένου Microsoft Word. Εισηγητής: Χαριτωνίδης Γεώργιος. Βόλος, Νοέμβριος 2008

Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στοn επεξεργαστή κειμένου Microsoft Word. Εισηγητής: Χαριτωνίδης Γεώργιος. Βόλος, Νοέμβριος 2008 Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στοn επεξεργαστή κειμένου Microsoft Word Βόλος, Νοέμβριος 2008 To Microsoft Word (έκδοση 2003) είναι ένας εξελιγμένος επεξεργαστής κειμένου, με τον οποίο μπορούμε να δημιουργήσουμε

Διαβάστε περισσότερα

Π.1.2.2.: Εγχειρίδια χρήσης της υπηρεσίας για τα κύρια υποστηριζόμενα Λειτουργικά

Π.1.2.2.: Εγχειρίδια χρήσης της υπηρεσίας για τα κύρια υποστηριζόμενα Λειτουργικά ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΚΕΝΤΡΟ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΩΝ Κωστακιοί Άρτας, ΑΡΤΑ 47100 - Tηλ.. 26810 50500 - Fax. 2681 76941 e-mail: noc@teiep.gr ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ Τ.Ε.Ι. ΗΠΕΙΡΟΥ

Διαβάστε περισσότερα

Δραστηριότητα 1 Σχεδιασμός σκηνικού

Δραστηριότητα 1 Σχεδιασμός σκηνικού ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3 Δραστηριότητα 1 Σχεδιασμός σκηνικού Ας κατασκευάσουμε την επόμενη σκηνή-room. Όμοια με προηγουμένως κατασκευάζουμε το σκηνικό-background «ΔΡΟΜΟΣ» και αφού δημιουργήσουμε τη σκηνή-room

Διαβάστε περισσότερα

Σι θα δούμε σε αυτό το μάθημα;

Σι θα δούμε σε αυτό το μάθημα; Σι θα δούμε σε αυτό το μάθημα; Γήισζε, αξρηθνπνίεζε θαη ρξήζε κεηαβιεηώλ πηλάθσλ (arrays) Γήισζε, αξρηθνπνίεζε θαη ρξήζε κεηαβιεηώλ ζπιινγώλ (collections) Σι είναι ένας πίνακας (array) Έλαο πίλαθαο είλαη

Διαβάστε περισσότερα

Εισαγωγή 6. Είσοδος στα Windows και οθόνη κλειδώματος 11. Οι πρώτες ρυθμίσεις των Windows 8 29. H επιφάνεια εργασίας 49

Εισαγωγή 6. Είσοδος στα Windows και οθόνη κλειδώματος 11. Οι πρώτες ρυθμίσεις των Windows 8 29. H επιφάνεια εργασίας 49 περιεχόμενα Εισαγωγή 6 Είσοδος στα Windows και οθόνη κλειδώματος 11 Οι πρώτες ρυθμίσεις των Windows 8 29 H επιφάνεια εργασίας 49 Πλοήγηση στο Internet με τον Internet Explorer 65 Επικοινωνία και Κοινωνική

Διαβάστε περισσότερα

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014 Εισαγωγικές έννοιες Ιωάννης Γ. Τσούλος 2014 Διάγραμμα παρουσιάσεως 1. Κατηγορίες κινητών τηλεφώνων 2. Κατηγορίες έξυπνων κινητών τηλεφώνων 3. Προγραμματισμός κινητών συσκευών 4. Ξεκίνημα με το Eclipse

Διαβάστε περισσότερα

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire

Αυτόνομοι Πράκτορες. Εργασία εξαμήνου. Value Iteration και Q- Learning για Peg Solitaire Αυτόνομοι Πράκτορες Εργασία εξαμήνου Value Iteration και Q- Learning για Peg Solitaire Μαρίνα Μαυρίκου 2007030102 1.Εισαγωγικά για το παιχνίδι Το Peg Solitaire είναι ένα παιχνίδι το οποίο παίζεται με ένα

Διαβάστε περισσότερα

Ο ΗΓΟΣ ΧΡΗΣΗΣ Kidspiration 2.1

Ο ΗΓΟΣ ΧΡΗΣΗΣ Kidspiration 2.1 Ο ΗΓΟΣ ΧΡΗΣΗΣ Kidspiration 2.1 Το Κidspiration είναι ένα πρόγραμμα το οποίο σας βοηθά να κατασκευάζετε διαγράμματα-χάρτες εννοιών. Μπορείτε να εμπλουτίσετε τα σχεδιαγράμματά σας με ήχους και εικόνες. Ας

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

Διαβάστε περισσότερα

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Τετάρτη, 30 Οκτωβρίου 2013 Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Λύστε στο Visual Basic Express 2010 τις παρακάτω ασκήσεις: 1. Να δημιουργήσετε ένα νέο Project του είδους Console

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΜΑΘΗΜΑ : Η/Υ I (ενότητα WINDOWS) ΥΠΕΥΘΥΝΟΣ : ΑΝΑΣΤΑΣΙΟΣ ΟΙΚΟΝΟΜΙΔΗΣ, Καθηγητής ΕΡΓΑΣΤΗΡΙΑ : ΘΕΑΝΩ ΧΑΤΖΙΔΑΚΗ, Εργαστηριακό

Διαβάστε περισσότερα

PRISMA Win POS Sync Merge Replication

PRISMA Win POS Sync Merge Replication ΤΜΗΜΑ ΥΠΟΣΤΗΡΙΞΗΣ Οδηγός Ρυθμίσεων Συγχρονισμού PRISMA Win POS Sync Merge Replication Η διαδικασία του συγχρονισμού γίνεται από τον Η/Υ που έχει το Back Office. Βασική προϋπόθεση για να ενεργοποιηθεί ο

Διαβάστε περισσότερα

Σηµαντικές παρατηρήσεις σχετικά µε το backround:

Σηµαντικές παρατηρήσεις σχετικά µε το backround: ΠΕΡΙΓΡΑΦΗ ΛΕΙΤΟΥΡΓΙΑΣ SOFTWARE SAE10 Το software της αναγγελίας ορόφων είναι απαραίτητο για τη δηµιουργία των USB flash που θα χρησιµοποιηθούν στην πλακέτα SAE10. Προσφέρει ταχύτητα, ευελιξία και πολλές

Διαβάστε περισσότερα

Εισαγωγή στον Προγ/μό Η/Υ

Εισαγωγή στον Προγ/μό Η/Υ Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC 1) Πατάμε δεξί κλικ Μενού 2) Όνομα Χρήστη βάζουμε «admin» 3) Κωδικός Πρόσβασης το αφήνουμε «κενό» 4) Πατάμε OK και μπαίνουμε στο Μενού Είσοδος στο μενού Στην πρώτη εκκίνηση μετά

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

Σενάριο Εστίασης Win XP:

Σενάριο Εστίασης Win XP: Σενάριο Εστίασης Win XP: Υλικό: 1 Η/Υ (backoffice), 1 POS, 1 router Motorola, 1 PDA. Σενάριο: Sync του backoffice με το POS και merge του POS με το PDA. Προϋποθέσεις Software: 1) BACK OFFICE : WIN XP pro,.net

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

Διαβάστε περισσότερα

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch Τάξη : Α Λυκείου Λογισμικό : Scratch Διάρκεια : 45 λεπτά Παλέτα Κίνηση Σε αυτό το φύλλο εργασίας θα εξοικειωθείτε με τις εντολές του Scratch που βρίσκονται στην παλέτα Κίνηση. Για τον σκοπό αυτό διαβάστε

Διαβάστε περισσότερα

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Πώς να δημιουργήσουμε ένα νέο λογαριασμό χρήστη (User Account) στα Windows 7 Αρκετές φορές τυχαίνει να χρησιμοποιούν διάφορα άτομα τον Η/Υ σας. Σε τέτοιες

Διαβάστε περισσότερα

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014 Σωτήρης Γυφτόπουλος Κανόνες του Facility Game (1/4) Στο Facility Game υπάρχει ένα σύνολο κόμβων που συνδέονται «σειριακά» και κάθε κόμβος

Διαβάστε περισσότερα

ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ ΔΙΕΥΘΥΝΣΗ ΕΠΟΠΤΕΙΑΣ ΠΙΣΤΩΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ

ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ ΔΙΕΥΘΥΝΣΗ ΕΠΟΠΤΕΙΑΣ ΠΙΣΤΩΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΔΙΕΥΘΥΝΣΗ ΕΠΟΠΤΕΙΑΣ ΠΙΣΤΩΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΟΔΗΓΙΕΣ ΣΥΜΠΛΗΡΩΣΗΣ ΥΠΟΔΕΙΓΜΑΤΟΣ ΓΙΑ ΤΗΝ ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΣΤΟΙΧΕΙΩΝ ΡΕΥΣΤΟΤΗΤΑΣ (BSD07) (ΠΔ.Τ.Ε. 2563/19.7.2005 Ε50) Ιανουάριος 2005 ΓΕΝΙΚΑ... 4 1. Προϋποθέσεις

Διαβάστε περισσότερα

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

Λογαριασμοί Χρηστών στα Windows 7 / Windows 8

Λογαριασμοί Χρηστών στα Windows 7 / Windows 8 Λογαριασμοί Χρηστών στα Windows 7 / Windows 8 Οι λογαριασμοί χρηστών στα Windows είναι ένας μάλλον παραμελημένος τομέας, και ακόμα και έμπειροι χρήστες σπανίως του δίνουν ιδιαίτερη σημασία. Αν όμως του

Διαβάστε περισσότερα

Γνωρίστε το χώρο εργασίας του PowerPoint

Γνωρίστε το χώρο εργασίας του PowerPoint Γνωρίστε το χώρο εργασίας του PowerPoint Για να εκκινήσουμε το Office PowerPoint 2007 ακολουθούμε τα εξής βήματα: Έναρξη à Όλα τα προγράμματα PowerPoint 2007. à Microsoft Office à Microsoft Office Όταν

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

GPR Windows XP Οδηγίες χρήσεως.

GPR Windows XP Οδηγίες χρήσεως. GPR Windows XP Οδηγίες χρήσεως. 1. Επιλέξετε μια κεραία: 75MHz - μήκος 1,5m, - βάθος 6,0m, - ανάλυση 1,5m 100MHz - " 1,0m, - " 5,0m, - " 1,0m 150MHz - " 0,75m, - " 4,0m, - " 0,8m 250MHz - " 0,5m, - " 2,0m,

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE)

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE) ΣΤΟΧΟΙ: 1. Λογισμικό 2. Λογισμικό Λειτουργικού Συστήματος 3. Προσαρμοστικό Γραφικών Χρήστη 4. Λογισμικών Εφαρμογών 5. Διαφορά Μεταξύ Λογισμικού Λειτουργικού Συστήματος Και

Διαβάστε περισσότερα

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

Διαβάστε περισσότερα