Giter VIP home page Giter VIP logo

roguelike's Introduction

roguelike

Ein Roguelike in C#, das als Schulprojekt für den Einstieg in die Programmierung dienen kann/soll. Es werden Arrays und Dateioperationen behandelt. Vertiefende Themen können aus den Bereichen der Computergrafik (Double Buffering, der künstlichen Intelligenz (Computerspieler) oder der Algorithmik (Wegfindung, Field Of View)) kommen.

Einstieg

Um eine Vorstellung von der Funktionsweise eines Roqugelike zu erhalten, bietet es sich an, ein Spiel zu wagen und es einfach auszuprobieren. Brogue ist ein schönes Beispiel, das es für alle gängigen Plattformen gibt.

Fachliche Konzepte

Am Beispiel von Roguelikes lassen sich viele unterschiedliche fachliche Konzepte untersuchen.

Double Buffering

Wenn man das Dungeon in der TextBox der Windows-Form direkt zeichnet, kann man schon bei kleinen Felder ein Flackern bemerken. Erst das Schreiben in einen Zwischenpuffer - z.B. einen String - und das anschließende Kopieren in die TextBox verhindert das Problem.

Dungeon Generierung

Die Generierung des Dungeons kann auf unterschiedliche Arten erfolgen und beliebig kompliziert realisiert werden. Eine einfache Art ist die manuelle Erzeugung und Speicherung in Textdateien, die während des Spiels geladen werden.

Interessanter wird es bei automatisch generierten Dungeons. Das roguebasin-Wiki bietet sich hier als wahre Fundgrube an. Ein einfacher Algorithmus ist hier beschrieben. Eine komplexere Version gibt es an dieser Stelle. Schließlich findet man hier eine Sammlung weiterer Verfahren.

Grafische Programmierung

Neben einer Darstellung in Textform kann auch eine grafische Ausgabe existieren. Beide Formen können nebeneinander bestehen, wodurch eine Trennung von Anwendungslogik und Darstellung erforderlich wird, wie es im MVC-Pattern beschrieben wird.

Weiterführende Links

Quellen

Die in diesem Projekt verwendeten Grafiken entstammen dem Tileset von DawnBringer.

roguelike's People

Contributors

pintman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.