]> git.sur5r.net Git - c128-kasse/commitdiff
moved files, removed .swp
authorsECuRE <sECuRE@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sat, 28 Jul 2007 16:27:06 +0000 (16:27 +0000)
committersECuRE <sECuRE@af93e077-1a23-4f1e-9cbe-9382a9d578f5>
Sat, 28 Jul 2007 16:27:06 +0000 (16:27 +0000)
git-svn-id: https://shell.noname-ev.de/svn/kasse/c128@4 af93e077-1a23-4f1e-9cbe-9382a9d578f5

Makefile [new file with mode: 0644]
kasse.c [new file with mode: 0644]
kasse.h [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..ee7c979
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,14 @@
+
+kasse: kasse.o
+       cl65 -t c128 kasse.o
+
+kasse.o: kasse.s
+       ca65 -t c128 kasse.s
+
+kasse.s: kasse.c
+       cc65 -t c128 kasse.c
+
+all: kasse
+
+clean:
+       rm -f *.s *.o
diff --git a/kasse.c b/kasse.c
new file mode 100644 (file)
index 0000000..2890d8f
--- /dev/null
+++ b/kasse.c
@@ -0,0 +1,73 @@
+#include <stdio.h>
+#include <conio.h>
+
+#include "kasse.h"
+// conf
+// drucker 4 oder 5
+// preise+getraenke
+//
+// graphic 4,0,10
+
+
+
+/* Hauptbildschirm ausgeben */
+void print_screen() {
+       uc i = 0;
+       clrscr();
+       printf("C128-Kassenprogramm\n\n");
+       printf("Eingenommen: 1337 Euro, Verkauft: 42 Flaschen\n\n");
+       for (; i < NUM_ITEMS; ++i)
+               printf("Item %x: %s (%d Cents, %d mal verkauft)\n", i, status[i].item_name, status[i].preis, status[i].times_sold);
+       printf("\nBefehle: s) Save Data\n");
+}
+
+/* Wird ausgelagert */
+void save_data() {
+}
+
+void buy(uc n) {
+       static uc einheiten = 1;
+       static uc c;
+       if (status[n].item_name == NULL)
+               printf("ERROR: No such item\n");
+       else {
+               printf("Wieviel Einheiten \"%s\"?\n", status[n].item_name);
+               while (1) {
+                       c = getchar();
+                       printf("das war %x\n", c);
+                       if (c == 32)
+                               break;
+                       else if (c > 47 && c < 60)
+                               einheiten += (c - 48);
+               }
+               status[n].times_sold += einheiten;
+               money += status[n].preis * einheiten;
+       }
+}
+
+int main() {
+       static uc c;
+       /* TODO: remove */
+       status[0].item_name = "cola";
+       status[0].preis = 230;
+       status[0].times_sold = 0;
+       status[1].item_name = "mate";
+       status[1].preis = 150;
+       status[0].times_sold = 0;
+       for (c = 2; c < 15; ++c)
+               status[c].item_name = NULL;
+       while (1) {
+               /* Bildschirm anzeigen */
+               print_screen();
+               /* Tastatureingaben abfragen */
+               c = getchar();
+               /* und eventuell weitere Dialoge anzeigen */
+               if (c > 47 && c < 60)
+                       buy(c - 48);
+               else if (c == 115)
+                       save_data();
+               else if (c == 113)
+                       break;
+       }
+       printf("BYEBYE\n");
+}
diff --git a/kasse.h b/kasse.h
new file mode 100644 (file)
index 0000000..ca4b4e4
--- /dev/null
+++ b/kasse.h
@@ -0,0 +1,19 @@
+/* Abkürzung */
+#define uc     unsigned char
+
+/* Anzahl Einträge */
+#define NUM_ITEMS      15
+
+/* Eingenommes Geld in Cent */
+static unsigned long int money = 0;
+
+/* Datenstruktur der verkauften Einträge */
+struct status_t {
+       char *item_name;
+       /* Wieviel kostet der Eintrag (in Cent)? */
+       unsigned int preis;
+       /* Wie oft wurde er verkauft */
+       unsigned int times_sold;
+};
+
+static struct status_t status[NUM_ITEMS];