12.01.2014 Aufrufe

Dokumentation zum Massive Multiplayer Online Game - Universität ...

Dokumentation zum Massive Multiplayer Online Game - Universität ...

Dokumentation zum Massive Multiplayer Online Game - Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

2. Planeten und Gebäude<br />

17<br />

]<br />

[14, 3, 4, 3, nil, 3, nil, nil],<br />

[15, 3, 4, 4, nil, 3, nil, nil],<br />

[16, 3, 4, 4, nil, 4, nil, nil],<br />

[17, 3, 4, 4, nil, 4, nil, nil],<br />

[18, 4, 4, 4, nil, 4, nil, nil],<br />

[19, 4, 5, 4, nil, 4, nil, nil],<br />

],<br />

Für jedes Gebäude existiert ein Eintrag. Insgesamt haben wir ein Array indem 2-dim. Arrays enthalten sind. In<br />

t ist die Reihenfolge der Gebäudetypen festgelegt. So ist die Erzmine das erste 2-dim. Array im Array regs.<br />

Das 2-dim. ist folgendermaßen aufgebaut. Der Gebäudetyp ist aus t bekannt. Die Zeile im Array steht gleichzeitig<br />

für das Level des Gebäudes. So ist <strong>zum</strong> Beispiel die dritte Zeile mit den Voraussetzungen für die Erzmine des<br />

Levels 3 gefüllt. Jede Spalte steht für einen weiteren Gebäudetypen und der Wert darin gibt das Level an. So<br />

wäre im Beispiel die dritte Spalte das Kraftwerk und das benötigte Level wäre 1. Der Eintrag in Spalte und<br />

Zeile.<br />

Diese Werte werden einmalig initialisiert und in die Datenbank eingetragen.<br />

inserts = []<br />

puts "Fix requirements for buildingtypes..."<br />

for type in 0..7<br />

puts "Working at '" + t[type] + "' ("+ ((type+1)*12.5).to_i.to_s + "%)"<br />

name = t[type]<br />

for lvl in 0..19<br />

from_elem = Buildingtype.where(name: name, level: lvl+1)<br />

unless from_elem.nil? || from_elem.empty? then<br />

for req_lvl in 0..7<br />

unless req_lvl.nil? then<br />

levelto = reqs[type][lvl][req_lvl]<br />

nameto = t[req_lvl]<br />

unless levelto.nil? then<br />

to_elem = Buildingtype.where(name: nameto, level: levelto)<br />

unless to_elem.nil? || to_elem.empty? then<br />

from = from_elem.first<br />

to = to_elem.first<br />

inserts.push({:buildingtype_id => from.id, :requirement_id => to.id})<br />

end<br />

end<br />

end<br />

end<br />

end<br />

end<br />

end<br />

self.transaction do<br />

BuildingtypeRequire.create(inserts)<br />

end<br />

Wo sehe ich die Voraussetzungen?<br />

Für die Gebäudevoraussetzungen steht dem Spieler eine Gesamtübersicht zur Verfügung. Diese ist direkt über<br />

die Navigationsleiste ansteuerbar und soll dem Spieler zur Planung und Hilfe dienen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!