Archive

Posts Tagged ‘Wachstum’

Regenerationsskript umgestellt

January 8th, 2009 Jan H. Krueger No comments

Nachdem ich die Tage dann endgueltig entschieden habe das die BackEnd-Skripte in Python entstehen sollen, habe ich mich nun daran gemacht das erste umzustellen. Das Regenerationsskript, wachstum.php ist fortan nicht mehr notwendig. Die Aufgaben uebernimmt nun wachstum.py.

Zugegeben, das ganze sieht noch etwas holprig aus und laesst sich bestimmt noch sauberer schreiben, aber was sollst. Mein erstes Pythonskript mit Postgresanbindung. Um genau zu sein, ich empfinde den Quellcode derzeit noch stark als unsauber. Aber das kommt mir der Praxis von alleine. Erste Erkenntnisse: es laefut schneller. Dabei habe ich bereits die Optionen romod1 bis romod4 mit enthalten, was das bisherige PHP-Skript noch nicht konnte. Weiterhin werde ich mir definitiv etwas basteln muessen um die Abfragen auszufuehren. Der rohe Code wirkt doch etwas viel und somit unuebersichtlicht.
Nun steht noch der Einbau der Phasenoptionen an und dann ists endgueltig fertig.

Wie auch immer. Es geht vorran. Und warum funktioniert wp_codebox nicht mehr?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#! /usr/local/bin/python
##
# Copyright (c) 2009, Jan H. Krueger
# All rights reserved.
#
# The contents of this file are subject to the GNU Lesser General Public
# License (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.gnu.org/licenses/lgpl.html
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
#
#
# File: wachstum.py
# Authors: Jan H. Krueger (game.insulae@googlemail.com)
# Created: (07/01/2009)
# Last Updated: (08/01/2009)
# Version: 1.0
# Package: Insulae
# Category: Insulae-Backend
# Todos: use the phasing options 
#
 
#
# Let the land grow and produce new ressources at the farmable places.
#
 
import psycopg2
import psycopg2.extensions
import datetime
import time
import sys
 
E = sys.exit
 
### Connect to the postgresql database.
con = psycopg2.connect(
    database = "insulae",
    host = "localhost",
    user = "",
    password = ""
    )
 
varskriptname = 'wachstum.py'
 
 
### open cursor
cu=con.cursor()
 
### log the start of wachstum.py
try:
    varstatus = 'beginn'
    zeit = time.mktime(time.localtime(time.time()))
    vartime = str(zeit)[0:-2]
    sql = """insert into daten.skriptlog (skriptname, zeitstempel, 
             verarbeitungsstatus) values (%s, %s, %s)
          """
    cu.execute(sql, (varskriptname, vartime, varstatus))
    con.commit()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
### den romod_1 auslesen
try:
    sql = """select wert from optionen.einstellungen 
             where einstellung = 'romod_1'
          """
    cu.execute(sql)
    romod1 = cu.fetchone()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
### den romod_2 auslesen
try:
    sql = """select wert from optionen.einstellungen 
             where einstellung = 'romod_2'
          """
    cu.execute(sql)
    romod2 = cu.fetchone()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
### den romod_3 auslesen
try:
    sql = """select wert from optionen.einstellungen 
             where einstellung = 'romod_3'
          """
    cu.execute(sql)
    romod3 = cu.fetchone()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
### den romod_4 auslesen
try:
    sql = """select wert from optionen.einstellungen 
             where einstellung = 'romod_4'
          """
    cu.execute(sql)
    romod4 = cu.fetchone()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
# TODO: read the modificators for the phases
 
### build and execute the update
try:
    sql = """update welt.karte_phase set 
             karte_rohstoff1 = (karte_rohstoff1+karte_landwert)*%s, 
             karte_rohstoff2 = (karte_rohstoff2+karte_landwert)*%s, 
             karte_rohstoff3 = (karte_rohstoff3+(karte_landwert / 2))*%s, 
             karte_rohstoff4 = (karte_rohstoff4+(karte_landwert / 2))*%s 
          """
    cu.execute(sql, (romod1, romod2, romod3, romod4 ))
    con.commit()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
# Generate an entry in the history table to show the players
try:
    zeit = time.mktime(time.localtime(time.time()))
    vartime = str(zeit)[0:-2]
    histart = 1000000001
    histeintrag = 'Das Land regeneriert sich.'
    histprivat = 'n'
    histphase = 1000000000
 
    sql = """insert into sonstiges.historie 
             (historie_datum, historie_art, historie_eintrag, 
             historie_privat, historie_phase) values (%s, %s, %s, %s, %s)
          """ 
    cu.execute(sql, (vartime, histart, histeintrag, histprivat, histphase)) 
    con.commit()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
 
# Log the ending of wachstum.py.
try:
    varstatus = 'ende'
    zeit = time.mktime(time.localtime(time.time()))
    vartime = str(zeit)[0:-2]
    sql = """insert into daten.skriptlog (skriptname, zeitstempel, 
             verarbeitungsstatus) values (%s, %s, %s)"""
    cu.execute(sql, (varskriptname, vartime, varstatus)) 
    con.commit()
except psycopg2.ProgrammingError, errval: 
    print errval 
    E(8)
 
# Close the cursor and connection, end the script.
cu.close() 
con.close()
E(0)