yes
0
app/api/__init__.py
Normal file
3
app/api/admin.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
from django.contrib import admin
|
||||||
|
|
||||||
|
# Register your models here.
|
||||||
6
app/api/apps.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class ApiConfig(AppConfig):
|
||||||
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
|
name = 'api'
|
||||||
0
app/api/migrations/__init__.py
Normal file
3
app/api/models.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
from django.db import models
|
||||||
|
|
||||||
|
# Create your models here.
|
||||||
0
app/api/templates/api/html/empty.html
Normal file
3
app/api/tests.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
||||||
10
app/api/urls.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
from django.urls import path, include
|
||||||
|
|
||||||
|
from api.views import LoadLevel, RandomLevel, CompleteLevel, RateLevel
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path("load_level", LoadLevel.as_view(), name="api-load_level"),
|
||||||
|
path("get_random_level", RandomLevel.as_view(), name="api-get_random_level"),
|
||||||
|
path("complete_level", CompleteLevel.as_view(), name="api-complete_level"),
|
||||||
|
path("rate_level", RateLevel.as_view(), name="api-rate_level")
|
||||||
|
]
|
||||||
53
app/api/views.py
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
from django.shortcuts import render, HttpResponse
|
||||||
|
from django.http import HttpResponseBadRequest
|
||||||
|
from django.views.generic import TemplateView
|
||||||
|
from django.utils.decorators import method_decorator
|
||||||
|
from django.views.decorators.csrf import csrf_exempt
|
||||||
|
|
||||||
|
import random
|
||||||
|
import time
|
||||||
|
|
||||||
|
# Create your views here.
|
||||||
|
|
||||||
|
from game.models import Level
|
||||||
|
|
||||||
|
|
||||||
|
class CSRFexemptTemplateView(TemplateView):
|
||||||
|
@method_decorator(csrf_exempt)
|
||||||
|
def dispatch(self, *args, **kwargs):
|
||||||
|
return super().dispatch(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class LoadLevel(CSRFexemptTemplateView):
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
levelNum = request.POST.get("level_num")
|
||||||
|
if levelNum is None or not levelNum.isdigit():
|
||||||
|
return HttpResponseBadRequest()
|
||||||
|
|
||||||
|
level = Level.objects.filter(id=int(levelNum)).first()
|
||||||
|
if level is None:
|
||||||
|
return HttpResponseBadRequest()
|
||||||
|
|
||||||
|
flashVars = level.getFlashVars(seperator="&")
|
||||||
|
return HttpResponse(flashVars)
|
||||||
|
|
||||||
|
|
||||||
|
class RandomLevel(CSRFexemptTemplateView):
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
level = Level.objects.order_by("?").first()
|
||||||
|
flashVars = level.getFlashVars(seperator="&")
|
||||||
|
return HttpResponse(flashVars)
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
level = Level.objects.order_by("?").first()
|
||||||
|
flashVars = level.getFlashVars(seperator="&")
|
||||||
|
return HttpResponse(flashVars)
|
||||||
|
|
||||||
|
class CompleteLevel(CSRFexemptTemplateView):
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class RateLevel(CSRFexemptTemplateView):
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
pass
|
||||||
0
app/game/__init__.py
Normal file
7
app/game/admin.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from django.contrib import admin
|
||||||
|
|
||||||
|
from .models import Level, Author
|
||||||
|
# Register your models here.
|
||||||
|
|
||||||
|
admin.site.register(Level)
|
||||||
|
admin.site.register(Author)
|
||||||
6
app/game/apps.py
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class GameConfig(AppConfig):
|
||||||
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
|
name = 'game'
|
||||||
36
app/game/migrations/0001_initial.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Generated by Django 3.2.7 on 2021-09-28 17:44
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
initial = True
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Level',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('author', models.TextField()),
|
||||||
|
('title', models.CharField(max_length=16)),
|
||||||
|
('author_id', models.IntegerField()),
|
||||||
|
('level_id', models.IntegerField()),
|
||||||
|
('darts', models.IntegerField()),
|
||||||
|
('target', models.IntegerField()),
|
||||||
|
('plays', models.IntegerField()),
|
||||||
|
('completions', models.IntegerField()),
|
||||||
|
('rating', models.IntegerField(blank=True, null=True)),
|
||||||
|
('data', models.CharField(max_length=288)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Player',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
||||||
36
app/game/migrations/0002_auto_20210928_2006.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Generated by Django 3.2.7 on 2021-09-28 18:06
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('game', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Author',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name', models.CharField(max_length=255)),
|
||||||
|
('authorId', models.IntegerField()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='level',
|
||||||
|
old_name='level_id',
|
||||||
|
new_name='levelId',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='level',
|
||||||
|
name='author_id',
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='level',
|
||||||
|
name='author',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='game.author'),
|
||||||
|
),
|
||||||
|
]
|
||||||
22
app/game/migrations/0003_auto_20210928_2039.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Generated by Django 3.2.7 on 2021-09-28 18:39
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('game', '0002_auto_20210928_2006'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='level',
|
||||||
|
name='rating',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='level',
|
||||||
|
name='rating9',
|
||||||
|
field=models.IntegerField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
]
|
||||||
18
app/game/migrations/0004_rename_rating9_level_rating.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 3.2.7 on 2021-09-28 18:39
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('game', '0003_auto_20210928_2039'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name='level',
|
||||||
|
old_name='rating9',
|
||||||
|
new_name='rating',
|
||||||
|
),
|
||||||
|
]
|
||||||
18
app/game/migrations/0005_alter_level_rating.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 3.2.7 on 2021-09-28 18:43
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('game', '0004_rename_rating9_level_rating'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='level',
|
||||||
|
name='rating',
|
||||||
|
field=models.FloatField(blank=True, null=True),
|
||||||
|
),
|
||||||
|
]
|
||||||
0
app/game/migrations/__init__.py
Normal file
44
app/game/models.py
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
from django.db import models
|
||||||
|
|
||||||
|
# Create your models here.
|
||||||
|
|
||||||
|
class Author(models.Model):
|
||||||
|
name = models.CharField(max_length=255)
|
||||||
|
authorId = models.IntegerField()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
class Level(models.Model):
|
||||||
|
author = models.ForeignKey(Author, on_delete=models.DO_NOTHING)
|
||||||
|
title = models.CharField(max_length=16)
|
||||||
|
levelId = models.IntegerField()
|
||||||
|
darts = models.IntegerField()
|
||||||
|
target = models.IntegerField()
|
||||||
|
plays = models.IntegerField()
|
||||||
|
completions = models.IntegerField()
|
||||||
|
rating = models.FloatField(null=True, blank=True)
|
||||||
|
data = models.CharField(max_length=288)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"{self.author} - {self.title}"
|
||||||
|
|
||||||
|
|
||||||
|
def getFlashVars(self, seperator):
|
||||||
|
flashVars = {
|
||||||
|
"levelNum": self.levelId,
|
||||||
|
"title": self.title,
|
||||||
|
"darts": self.darts,
|
||||||
|
"target": self.target,
|
||||||
|
"data": self.data,
|
||||||
|
"authorID": self.author.authorId,
|
||||||
|
"numCompleted": self.completions,
|
||||||
|
"rating": self.rating if self.rating else 0.0,
|
||||||
|
}
|
||||||
|
flashVarsStr = f"{seperator}".join([f"{k}={v}"
|
||||||
|
for k, v in flashVars.items()])
|
||||||
|
return flashVarsStr
|
||||||
|
|
||||||
|
|
||||||
|
class Player(models.Model):
|
||||||
|
pass
|
||||||
15
app/game/static/game/css/append.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.ad_720x90 {
|
||||||
|
background-image: url("../img/ads/banner720x90.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad_160x600 {
|
||||||
|
background-image: url("../img/ads/banner160x600.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad_90x720 {
|
||||||
|
background-image: url("../img/ads/banner90x720.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
#horizontal_header {
|
||||||
|
background: #96d3ff;
|
||||||
|
}
|
||||||
475
app/game/static/game/css/main.css
Normal file
@ -0,0 +1,475 @@
|
|||||||
|
ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
object {
|
||||||
|
margin-bottom: 6px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:focus, a:active {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a img,:link img,:visited img {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header:hover{
|
||||||
|
border-bottom: none !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu {
|
||||||
|
width: 192px;
|
||||||
|
margin: 0 10px 0 6px;
|
||||||
|
padding: 4px 0 0 0;
|
||||||
|
float: left;
|
||||||
|
background: white;
|
||||||
|
overflow:hidden;
|
||||||
|
_margin-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu a {
|
||||||
|
border: none !important;
|
||||||
|
margin-left: -3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu li {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skyscraper {
|
||||||
|
float: left;
|
||||||
|
width: 180px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skyscraper.rhs {
|
||||||
|
_float: right;
|
||||||
|
_clear: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-style: solid !important;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
body, td {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: Arial, Verdana, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4 {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
padding: 0 10px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
padding: 20px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
display: block;
|
||||||
|
background: white url("../img/bg1.gif") repeat-x;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
display: block;
|
||||||
|
background: url("../img/bg2.gif");
|
||||||
|
text-align: center;
|
||||||
|
min-height: 1050px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cloud {
|
||||||
|
width: 300px;
|
||||||
|
display: none;
|
||||||
|
background: url("../img/clouds.gif");
|
||||||
|
height: 200px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wrapper {
|
||||||
|
width: 1024px;
|
||||||
|
margin: 0 auto;
|
||||||
|
display: block;
|
||||||
|
min-height: 400px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner_wrapper {
|
||||||
|
float: left;
|
||||||
|
width: 1024px;
|
||||||
|
padding: 0;
|
||||||
|
display: block;
|
||||||
|
background: url("../img/alpha.png");
|
||||||
|
_background: #A2DAFF;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
width: 750px;
|
||||||
|
margin: 2px auto;
|
||||||
|
margin-bottom: -8px;
|
||||||
|
display: block;
|
||||||
|
background-image: url("../img/header2.gif");
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad {
|
||||||
|
float: left;
|
||||||
|
margin: 10px;
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
_margin-left: 5px !important;
|
||||||
|
_margin-right: 5px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad_720x90 {
|
||||||
|
width: 720px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad_160x600 {
|
||||||
|
width: 160px;
|
||||||
|
margin: 0 5px 10px 10px;
|
||||||
|
margin-right: 5px !important;
|
||||||
|
height: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
width: 640px;
|
||||||
|
float: left;
|
||||||
|
margin: 0px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
display: block;
|
||||||
|
_height: 315px;
|
||||||
|
margin-left: -4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div.wide,
|
||||||
|
#content div.left,
|
||||||
|
#content div.right{
|
||||||
|
float: left;
|
||||||
|
border: 10px solid #FFFFFF;
|
||||||
|
width: 275px;
|
||||||
|
margin-right: 10px;
|
||||||
|
padding: 20px 10px 40px 10px;
|
||||||
|
display: block;
|
||||||
|
background: #ep;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 20px;
|
||||||
|
text-align: left;
|
||||||
|
background: #0099ff;
|
||||||
|
_margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.flash {
|
||||||
|
padding: 0 !important;
|
||||||
|
width: 620px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flash object {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.light {
|
||||||
|
background-color:#4AB7FF !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div h4 {
|
||||||
|
}
|
||||||
|
|
||||||
|
#content li {
|
||||||
|
margin-left: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div.left {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
_margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div.right {
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div a {
|
||||||
|
border-bottom: 1px dotted #FFFFFF;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div a:hover {
|
||||||
|
border-bottom: 1px solid #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div.wide {
|
||||||
|
width: 580px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
margin: 0 0 5px 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#horizontal_header {
|
||||||
|
margin: 10px 0 5px 10px;
|
||||||
|
float: left;
|
||||||
|
width: 1004px;
|
||||||
|
display: block;
|
||||||
|
background: #FFFFFF;
|
||||||
|
height: 110px;
|
||||||
|
_margin-left: 5px;
|
||||||
|
_height: 107px !important;
|
||||||
|
_overflow:hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login_box {
|
||||||
|
width: 222px;
|
||||||
|
float: left;
|
||||||
|
margin: 11px;
|
||||||
|
padding: 3px 8px;
|
||||||
|
display: block;
|
||||||
|
background: #0099FF;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: left;
|
||||||
|
height: 82px;
|
||||||
|
_margin: 9px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login_box h3 {
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login_box a {
|
||||||
|
border-bottom: 1px dotted #FFFFFF;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin: 0 2px;
|
||||||
|
_margin: 0 0 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login_box label {
|
||||||
|
width: 50px;
|
||||||
|
display: block;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login_box input {
|
||||||
|
margin-top: -1px;
|
||||||
|
width: 145px;
|
||||||
|
margin: -1px auto;
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#register_box label{
|
||||||
|
width: 210px;
|
||||||
|
float: left;
|
||||||
|
margin-top: 16px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#register_box input {
|
||||||
|
padding: 2px;
|
||||||
|
width: 340px;
|
||||||
|
float: left;
|
||||||
|
margin-top: 15px;
|
||||||
|
display: block;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div.form_error {
|
||||||
|
border: none;
|
||||||
|
float:left;
|
||||||
|
width: 550px;
|
||||||
|
padding: 4px;
|
||||||
|
margin: 20px 0 10px 0;
|
||||||
|
background: #FCFCFC;
|
||||||
|
color: #FF0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
input#register_button {
|
||||||
|
width: 100px;
|
||||||
|
padding: 4px;
|
||||||
|
float:right;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination {
|
||||||
|
width: 100%;
|
||||||
|
padding: 5px;
|
||||||
|
margin-top: 10px;
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination a, .pagination span {
|
||||||
|
padding: 3px 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination a:hover {
|
||||||
|
background: #FFFFFF;
|
||||||
|
color: #0099FF !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
table#levels_table {
|
||||||
|
border: 1px dotted #4FB8FF;
|
||||||
|
font-size: 16px;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.odd {
|
||||||
|
background-color: #1FA5FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div table td{
|
||||||
|
padding: 0 !important;
|
||||||
|
border-bottom: 1px dotted #4FB8FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div table th {
|
||||||
|
padding: 4px 6px;
|
||||||
|
border: 1px solid #FFFFFF;
|
||||||
|
background: #FFFFFF;
|
||||||
|
color: #0099FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div table {
|
||||||
|
width: 100%;
|
||||||
|
margin: 10px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div table a {
|
||||||
|
padding: 4px 6px;
|
||||||
|
border-bottom: none;
|
||||||
|
display: block;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div table a:hover{
|
||||||
|
border-bottom: none !important;
|
||||||
|
display: block;
|
||||||
|
background: #FFFFFF;
|
||||||
|
color: #0099FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#terms {
|
||||||
|
padding: 20px;
|
||||||
|
margin: 10px 10px 30px 10px;
|
||||||
|
height: 300px;
|
||||||
|
overflow: auto;
|
||||||
|
outline: 1px solid #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#terms_agree {
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#terms_form input {
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div a.homepage_button {
|
||||||
|
position:relative;
|
||||||
|
float:left;
|
||||||
|
margin: 10px 0px 10px 100px;
|
||||||
|
border-bottom: none !important;
|
||||||
|
text-decoration:none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wide.centered {
|
||||||
|
text-align: center !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.centered {
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
label.radio {
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: right;
|
||||||
|
height: 14px;
|
||||||
|
float:left;
|
||||||
|
clear:left;
|
||||||
|
margin: 4px 10px 0 60px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
label.fullwidth {
|
||||||
|
width: 500px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.radio {
|
||||||
|
width: auto !important;
|
||||||
|
float:left;
|
||||||
|
margin: 8px 0 0 10px !important
|
||||||
|
}
|
||||||
|
|
||||||
|
#content div.wide.full {
|
||||||
|
width: 900px !important;
|
||||||
|
margin-left: 40px !important;
|
||||||
|
margin-top: 20px !important;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
margin-bottom: 50px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchbox {
|
||||||
|
background: #0099FF;
|
||||||
|
width: 170px;
|
||||||
|
margin: 5px 0 10px 5px;
|
||||||
|
float:left;
|
||||||
|
padding: 10px 0 0 0;
|
||||||
|
display:block;
|
||||||
|
border: 10px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchbox input {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchbox input.submit {
|
||||||
|
width: 60px;
|
||||||
|
margin: 5px 0 10px 90px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#remember {
|
||||||
|
margin: 2px 4px 0 0 !important;
|
||||||
|
height: 15px !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#remember_label {
|
||||||
|
margin: 3px 0 0 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login_box #remember_label, #login_box #remember {
|
||||||
|
float:left !important;
|
||||||
|
width: auto !important;
|
||||||
|
height: auto !important;
|
||||||
|
float:left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#login {
|
||||||
|
width: 120px !important;
|
||||||
|
float:right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skyscraper.rhs .ad{
|
||||||
|
margin: 0 auto;
|
||||||
|
height: 600px;
|
||||||
|
width: 160px;
|
||||||
|
margin-left: 20px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skyscraper.rhs .ad * {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
BIN
app/game/static/game/img/ads/banner160x600.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
app/game/static/game/img/ads/banner720x90.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
app/game/static/game/img/ads/banner90x720.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
app/game/static/game/img/alpha.png
Normal file
|
After Width: | Height: | Size: 137 B |
BIN
app/game/static/game/img/bg1.gif
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app/game/static/game/img/bg2.gif
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
app/game/static/game/img/driller-bunny-300x250.jpg
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
app/game/static/game/img/header2.gif
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
app/game/static/game/img/nav_build.gif
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
app/game/static/game/img/nav_buy.gif
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
app/game/static/game/img/nav_home.gif
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
app/game/static/game/img/nav_levels.gif
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
app/game/static/game/img/nav_nk.gif
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
app/game/static/game/img/nav_play.gif
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
app/game/static/game/img/nav_users.gif
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
app/game/static/game/img/top_build.gif
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
app/game/static/game/img/top_playnow.gif
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
app/game/static/game/misc/bloons_unlimited.swf
Normal file
BIN
app/game/static/game/misc/bloons_unlimited_backup.swf
Normal file
BIN
app/game/static/game/misc/ruffle/140c188b03464bea8b00.wasm
Normal file
BIN
app/game/static/game/misc/ruffle/6c4a1ae30d22cb8267bf.wasm
Normal file
176
app/game/static/game/misc/ruffle/LICENSE_APACHE
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
25
app/game/static/game/misc/ruffle/LICENSE_MIT
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Copyright (c) 2018 Ruffle LLC <ruffle@ruffle.rs> and Ruffle contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any
|
||||||
|
person obtaining a copy of this software and associated
|
||||||
|
documentation files (the "Software"), to deal in the
|
||||||
|
Software without restriction, including without
|
||||||
|
limitation the rights to use, copy, modify, merge,
|
||||||
|
publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software
|
||||||
|
is furnished to do so, subject to the following
|
||||||
|
conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice
|
||||||
|
shall be included in all copies or substantial portions
|
||||||
|
of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||||
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||||
|
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||||
|
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
||||||
|
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
||||||
57
app/game/static/game/misc/ruffle/README.md
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# ruffle-selfhosted
|
||||||
|
|
||||||
|
ruffle-selfhosted is the intended way to get Ruffle onto your website.
|
||||||
|
|
||||||
|
You may either include it and forget about it, and we will polyfill existing Flash content,
|
||||||
|
or use our APIs for custom configurations or more advanced usages of the Ruffle player.
|
||||||
|
|
||||||
|
## Using ruffle-selfhosted
|
||||||
|
|
||||||
|
For more examples and in-depth documentation on how to use Ruffle on your website, please
|
||||||
|
[check out our wiki](https://github.com/ruffle-rs/ruffle/wiki/Using-Ruffle#web).
|
||||||
|
|
||||||
|
### Host Ruffle
|
||||||
|
|
||||||
|
The `selfhosted` package is configured for websites that do not use bundlers or npm and just want
|
||||||
|
to get up and running. If you'd prefer to use Ruffle through npm and a bundler, please
|
||||||
|
[refer to ruffle core](https://github.com/ruffle-rs/ruffle/tree/master/web/packages/core).
|
||||||
|
|
||||||
|
Before you can get started with using Ruffle on your website, you must host its files yourself.
|
||||||
|
Either take the [latest build](https://github.com/ruffle-rs/ruffle/releases)
|
||||||
|
or [build it yourself](https://github.com/ruffle-rs/ruffle/blob/master/web/README.md), and make these files accessible by your web server.
|
||||||
|
|
||||||
|
Please note that the `.wasm` file must be served properly, and some web servers may not do that
|
||||||
|
correctly out of the box. Please see [our wiki](https://github.com/ruffle-rs/ruffle/wiki/Using-Ruffle#configure-wasm-mime-type)
|
||||||
|
for instructions on how to configure this, if you encounter a `Incorrect response MIME type` error.
|
||||||
|
|
||||||
|
### "Plug and Play"
|
||||||
|
|
||||||
|
If you have an existing website with flash content, you can simply include Ruffle as a script and
|
||||||
|
our polyfill magic will replace everything for you. No fuss, no mess.
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script src="path/to/ruffle/ruffle.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Javascript API
|
||||||
|
|
||||||
|
If you want to control the Ruffle player, you may use our Javascript API.
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script>
|
||||||
|
window.RufflePlayer = window.RufflePlayer || {};
|
||||||
|
|
||||||
|
window.addEventListener("DOMContentLoaded", () => {
|
||||||
|
let ruffle = window.RufflePlayer.newest();
|
||||||
|
let player = ruffle.createPlayer();
|
||||||
|
let container = document.getElementById("container");
|
||||||
|
container.appendChild(player);
|
||||||
|
player.ruffle().load("movie.swf");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<script src="path/to/ruffle/ruffle.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Building, testing or contributing
|
||||||
|
|
||||||
|
Please see [the ruffle-web README](https://github.com/ruffle-rs/ruffle/blob/master/web/README.md).
|
||||||
1
app/game/static/game/misc/ruffle/package.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"name":"@ruffle-rs/ruffle","version":"0.1.0-nightly.2025.02.06","description":"Putting Flash back on the web. Ruffle will polyfill all Flash content and replace it with the Ruffle flash player.","license":"(MIT OR Apache-2.0)","keywords":["flash","swf"],"homepage":"https://ruffle.rs","bugs":"https://github.com/ruffle-rs/ruffle/issues","repository":"github:ruffle-rs/ruffle","main":"ruffle.js"}
|
||||||
2
app/game/static/game/misc/ruffle/ruffle.js
Normal file
1
app/game/static/game/misc/ruffle/ruffle.js.map
Normal file
BIN
app/game/static/game/misc/swflash.cab
Normal file
119
app/game/templates/game/base.html
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
{% load static %}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
<meta name="title" content="Bloonsworld!"/>
|
||||||
|
<meta name="robots" content="index, follow"/>
|
||||||
|
<meta name="description" content="Finally, the creators of Bloons bring you Bloonsworld!"/>
|
||||||
|
<meta name="keywords" content="flash, games, awesome"/>
|
||||||
|
<meta name="language" content="en"/>
|
||||||
|
|
||||||
|
<title>Bloonsworld!</title>
|
||||||
|
<!--[if IE6]>
|
||||||
|
<style>
|
||||||
|
#wrapper {
|
||||||
|
background: url({% static 'game/img/alpha.png' %});
|
||||||
|
filter:alpha(opacity=75);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="shortcut icon" href="{% static 'game/img/favicon.ico' %}"/>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="{% static 'game/css/main.css' %}"/>
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="{% static 'game/css/append.css' %}"/>
|
||||||
|
<script src="{% static 'game/misc/ruffle/ruffle.js' %}"></script>
|
||||||
|
<script>
|
||||||
|
window.RufflePlayer.config = {
|
||||||
|
autoplay: "on"
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="body">
|
||||||
|
<div id="wrapper">
|
||||||
|
<div id="inner_wrapper">
|
||||||
|
<div id="alpha"></div>
|
||||||
|
<a href="{% url 'index' %}" id="header"></a>
|
||||||
|
<div id="horizontal_header">
|
||||||
|
<div class="ad ad_720x90">
|
||||||
|
<div id="adslot1"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="login_box">
|
||||||
|
<form method="post" action="{% url 'login' %}"> <table>
|
||||||
|
<tr>
|
||||||
|
<td><label for="login_email">Email: </label></td>
|
||||||
|
<td><input type="text" name="login_email" id="login_email" value=""/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><label for="login_password">Password: </label></td>
|
||||||
|
<td><input type="password" name="login_password" id="login_password" value=""/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2"><input type="checkbox" name="remember" id="remember" value="1" checked="checked"/>
|
||||||
|
<label for="remember" id="remember_label">Remember</label>
|
||||||
|
<input type="submit" name="commit" value="Log in" id="login"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table></form>
|
||||||
|
<h3><a href="#">Register for free</a> <a href="#">Forgot Password?</a></h3>
|
||||||
|
</div> </div>
|
||||||
|
|
||||||
|
<div class="skyscraper">
|
||||||
|
<div class="ad ad_160x600">
|
||||||
|
<div id="adslot2"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="content">
|
||||||
|
{% block content %}{% endblock content %}
|
||||||
|
|
||||||
|
<div class="wide centered">
|
||||||
|
Copyright Kaiparasoft 2007, all rights reserved<br/>
|
||||||
|
<a href="http://www.ninjakiwi.com">Ninjakiwi</a>
|
||||||
|
- <a href="{% url 'terms' %}">Terms of Use</a>
|
||||||
|
- <a href="{% url 'contact' %}">Contact Us</a> </div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="skyscraper rhs">
|
||||||
|
<ul id="menu" class="light">
|
||||||
|
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/"><img src="{% static 'game/img/nav_home.gif' %}" alt="Nav_home"/></a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/game"><img src="{% static 'game/img/nav_play.gif' %}" alt="Nav_play"/></a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/level_editor"><img src="{% static 'game/img/nav_build.gif' %}" alt="Nav_build"/></a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/level/list"><img src="{% static 'game/img/nav_levels.gif' %}" alt="Nav_levels"/></a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/user/list"><img src="{% static 'game/img/nav_users.gif' %}" alt="Nav_users"/></a></li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://www.ninjakiwi.com/"><img src="{% static 'game/img/nav_nk.gif' %}" alt="Nav_nk"/></a></li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://ninjakiwi.com/Games/Tower-Defense/Bloons-Tower-Defense-5-Deluxe.html?predorder"><img src="{% static 'game/img/nav_buy.gif' %}" alt="Nav_buy"/></a></li>
|
||||||
|
</ul>
|
||||||
|
<div id="searchbox">
|
||||||
|
<form method="post" action="/web/20140625080942/http://bloonsworld.com/level/list"> <input type="text" name="search" id="search" value="Search levels" onclick="this.value="""/> <input type="submit" name="commit" value="Search!" class="submit"/> </form>
|
||||||
|
<form method="post" action="/web/20140625080942/http://bloonsworld.com/user/list"> <input type="text" name="search" id="search" value="Search users" onclick="this.value="""/> <input type="submit" name="commit" value="Search!" class="submit"/> </form>
|
||||||
|
</div>
|
||||||
|
<div class="ad ad_90x720">
|
||||||
|
<div id="adslot3"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> </div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="adholder1">
|
||||||
|
<script type="text/javascript"><!--
|
||||||
|
e9 = new Object();
|
||||||
|
e9.size = "728x90";
|
||||||
|
//--></script>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div id="adholder2">
|
||||||
|
<div id="adholder3">
|
||||||
|
<script type="text/javascript"><!--
|
||||||
|
e9 = new Object();
|
||||||
|
e9.size = "160x600";
|
||||||
|
//--></script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.getElementById('adslot1').appendChild(document.getElementById('adholder1'));
|
||||||
|
document.getElementById('adslot2').appendChild(document.getElementById('adholder3'));
|
||||||
|
document.getElementById('adslot3').appendChild(document.getElementById('adholder2'));
|
||||||
|
</script>
|
||||||
221
app/game/templates/game/error.html
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html><head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width"><title>https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/</title><link rel="stylesheet" type="text/css" href="resource://content-accessible/viewsource.css"></head><body id="viewsource" class="highlight" style="tab-size: 4"><pre id="line1"><span></span><span class="error doctype" title="Almost standards mode doctype. Expected “<!DOCTYPE html>”."><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></span><span>
|
||||||
|
<span id="line2"></span></span><span><<span class="start-tag">html</span> <span class="attribute-name">xmlns</span>="<a class="attribute-value">http://www.w3.org/1999/xhtml</a>" <span class="attribute-name">xml:lang</span>="<a class="attribute-value">en</a>" <span class="attribute-name">lang</span>="<a class="attribute-value">en</a>"></span><span>
|
||||||
|
<span id="line3"></span></span><span><<span class="start-tag">head</span>></span><span></span><span><<span class="start-tag">script</span> <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://archive.org/includes/analytics.js?v=cf34f82">//archive.org/includes/analytics.js?v=cf34f82</a>" <span class="attribute-name">type</span>="<a class="attribute-value">text/javascript</a>"></span><span></span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line4"></span></span><span><<span class="start-tag">script</span> <span class="attribute-name">type</span>="<a class="attribute-value">text/javascript</a>"></span><span>window.addEventListener('DOMContentLoaded',function(){var v=archive_analytics.values;v.service='wb';v.server_name='wwwb-app202.us.archive.org';v.server_ms=842;archive_analytics.send_pageview({});});</span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line5"></span></span><span><<span class="start-tag">script</span> <span class="attribute-name">type</span>="<a class="attribute-value">text/javascript</a>" <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/js/bundle-playback.js?v=UfTkgsKx">/_static/js/bundle-playback.js?v=UfTkgsKx</a>" <span class="attribute-name">charset</span>="<a class="attribute-value">utf-8</a>"></span><span></span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line6"></span></span><span><<span class="start-tag">script</span> <span class="attribute-name">type</span>="<a class="attribute-value">text/javascript</a>" <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/js/wombat.js?v=UHAOicsW">/_static/js/wombat.js?v=UHAOicsW</a>" <span class="attribute-name">charset</span>="<a class="attribute-value">utf-8</a>"></span><span></span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line7"></span></span><span><<span class="start-tag">script</span> <span class="attribute-name">type</span>="<a class="attribute-value">text/javascript</a>"></span><span>
|
||||||
|
<span id="line8"></span> __wm.init("https://web.archive.org/web");
|
||||||
|
<span id="line9"></span> __wm.wombat("http://www.bloonsworld.com:80/level_editor/","20070716211456","https://web.archive.org/","web","/_static/",
|
||||||
|
<span id="line10"></span> "1184620496");
|
||||||
|
<span id="line11"></span></span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line12"></span></span><span><<span class="start-tag">link</span> <span class="attribute-name">rel</span>="<a class="attribute-value">stylesheet</a>" <span class="attribute-name">type</span>="<a class="attribute-value">text/css</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/css/banner-styles.css?v=omkqRugM">/_static/css/banner-styles.css?v=omkqRugM</a>" <span>/</span>></span><span>
|
||||||
|
<span id="line13"></span></span><span><<span class="start-tag">link</span> <span class="attribute-name">rel</span>="<a class="attribute-value">stylesheet</a>" <span class="attribute-name">type</span>="<a class="attribute-value">text/css</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/css/iconochive.css?v=qtvMKcIJ">/_static/css/iconochive.css?v=qtvMKcIJ</a>" <span>/</span>></span><span>
|
||||||
|
<span id="line14"></span></span><span class="comment"><!-- End Wayback Rewrite JS Include --></span><span>
|
||||||
|
<span id="line15"></span>
|
||||||
|
<span id="line16"></span></span><span><<span class="start-tag">meta</span> <span class="attribute-name">http-equiv</span>="<a class="attribute-value">Content-Type</a>" <span class="attribute-name">content</span>="<a class="attribute-value">text/html; charset=utf-8</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line17"></span></span><span><<span class="start-tag">meta</span> <span class="attribute-name">name</span>="<a class="attribute-value">title</a>" <span class="attribute-name">content</span>="<a class="attribute-value">Bloonsworld!</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line18"></span></span><span><<span class="start-tag">meta</span> <span class="attribute-name">name</span>="<a class="attribute-value">robots</a>" <span class="attribute-name">content</span>="<a class="attribute-value">index, follow</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line19"></span></span><span><<span class="start-tag">meta</span> <span class="attribute-name">name</span>="<a class="attribute-value">description</a>" <span class="attribute-name">content</span>="<a class="attribute-value">Finally, the creators of Bloons bring you Bloonsworld!</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line20"></span></span><span><<span class="start-tag">meta</span> <span class="attribute-name">name</span>="<a class="attribute-value">keywords</a>" <span class="attribute-name">content</span>="<a class="attribute-value">flash, games, awesome</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line21"></span></span><span><<span class="start-tag">meta</span> <span class="attribute-name">name</span>="<a class="attribute-value">language</a>" <span class="attribute-name">content</span>="<a class="attribute-value">en</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line22"></span></span><span><<span class="start-tag">title</span>></span><span>Bloonsworld!</span><span></<span class="end-tag">title</span>></span><span>
|
||||||
|
<span id="line23"></span></span><span class="comment"><!--[if IE6]>
|
||||||
|
<span id="line24"></span><style>
|
||||||
|
<span id="line25"></span>#wrapper {
|
||||||
|
<span id="line26"></span> background: url(/images/alpha.png);
|
||||||
|
<span id="line27"></span> filter:alpha(opacity=75);
|
||||||
|
<span id="line28"></span>}
|
||||||
|
<span id="line29"></span></style>
|
||||||
|
<span id="line30"></span><![endif]--></span><span>
|
||||||
|
<span id="line31"></span></span><span><<span class="start-tag">link</span> <span class="attribute-name">rel</span>="<a class="attribute-value">shortcut icon</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456im_/http://www.bloonsworld.com/favicon.ico">/web/20070716211456im_/http://www.bloonsworld.com/favicon.ico</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line32"></span></span><span><<span class="start-tag">script</span> <span class="attribute-name">type</span>="<a class="attribute-value">text/javascript</a>" <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456js_/http://www.bloonsworld.com/sf/sf_web_debug/js/main.js">/web/20070716211456js_/http://www.bloonsworld.com/sf/sf_web_debug/js/main.js</a>"></span><span></span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line33"></span></span><span><<span class="start-tag">link</span> <span class="attribute-name">rel</span>="<a class="attribute-value">stylesheet</a>" <span class="attribute-name">type</span>="<a class="attribute-value">text/css</a>" <span class="attribute-name">media</span>="<a class="attribute-value">screen</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456cs_/http://www.bloonsworld.com/sf/sf_web_debug/css/main.css">/web/20070716211456cs_/http://www.bloonsworld.com/sf/sf_web_debug/css/main.css</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line34"></span></span><span><<span class="start-tag">link</span> <span class="attribute-name">rel</span>="<a class="attribute-value">stylesheet</a>" <span class="attribute-name">type</span>="<a class="attribute-value">text/css</a>" <span class="attribute-name">media</span>="<a class="attribute-value">screen</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456cs_/http://www.bloonsworld.com/css/main.css">/web/20070716211456cs_/http://www.bloonsworld.com/css/main.css</a>"<span>/</span>></span><span>
|
||||||
|
<span id="line35"></span>
|
||||||
|
<span id="line36"></span></span><span></<span class="end-tag">head</span>></span><span>
|
||||||
|
<span id="line37"></span></span><span><<span class="start-tag">body</span> <span class="attribute-name">id</span>="<a class="attribute-value">body</a>"></span><span></span><span class="comment"><!-- BEGIN WAYBACK TOOLBAR INSERT --></span><span>
|
||||||
|
<span id="line38"></span></span><span><<span class="start-tag">style</span> <span class="attribute-name">type</span>="<a class="attribute-value">text/css</a>"></span><span>
|
||||||
|
<span id="line39"></span>body {
|
||||||
|
<span id="line40"></span> margin-top:0 !important;
|
||||||
|
<span id="line41"></span> padding-top:0 !important;
|
||||||
|
<span id="line42"></span> /*min-width:800px !important;*/
|
||||||
|
<span id="line43"></span>}
|
||||||
|
<span id="line44"></span></span><span></<span class="end-tag">style</span>></span><span>
|
||||||
|
<span id="line45"></span></span><span><<span class="start-tag">script</span>></span><span>__wm.rw(0);</span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line46"></span></span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-ipp-base</a>" <span class="attribute-name">lang</span>="<a class="attribute-value">en</a>" <span class="attribute-name">style</span>="<a class="attribute-value">display:none;direction:ltr;</a>"></span><span>
|
||||||
|
<span id="line47"></span></span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-ipp</a>" <span class="attribute-name">style</span>="<a class="attribute-value">position:fixed;left:0;top:0;right:0;</a>"></span><span>
|
||||||
|
<span id="line48"></span></span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-ipp-inside</a>"></span><span>
|
||||||
|
<span id="line49"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">position:relative;</a>"></span><span>
|
||||||
|
<span id="line50"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-logo</a>" <span class="attribute-name">style</span>="<a class="attribute-value">float:left;width:110px;padding-top:12px;</a>"></span><span>
|
||||||
|
<span id="line51"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/">/web/</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Wayback Machine home page</a>"></span><span></span><span><<span class="start-tag">img</span> <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/images/toolbar/wayback-toolbar-logo-200.png">/_static/images/toolbar/wayback-toolbar-logo-200.png</a>" <span class="attribute-name">srcset</span>="<a class="attribute-value">/_static/images/toolbar/wayback-toolbar-logo-100.png, /_static/images/toolbar/wayback-toolbar-logo-150.png 1.5x, /_static/images/toolbar/wayback-toolbar-logo-200.png 2x</a>" <span class="attribute-name">alt</span>="<a class="attribute-value">Wayback Machine</a>" <span class="attribute-name">style</span>="<a class="attribute-value">width:100px</a>" <span class="attribute-name">border</span>="<a class="attribute-value">0</a>" <span>/</span>></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line52"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line53"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">class</span>="<a class="attribute-value">r</a>" <span class="attribute-name">style</span>="<a class="attribute-value">float:right;</a>"></span><span>
|
||||||
|
<span id="line54"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-btns</a>" <span class="attribute-name">style</span>="<a class="attribute-value">text-align:right;height:25px;</a>"></span><span>
|
||||||
|
<span id="line55"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-save-snapshot-success</a>"></span><span>success</span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line56"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-save-snapshot-fail</a>"></span><span>fail</span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line57"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-save-snapshot-open</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/#">#</a>"
|
||||||
|
<span id="line58"></span> <span class="attribute-name">title</span>="<a class="attribute-value">Share via My Web Archive</a>" ></span><span>
|
||||||
|
<span id="line59"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-web</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span>
|
||||||
|
<span id="line60"></span> </span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line61"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://archive.org/account/login.php">https://archive.org/account/login.php</a>"
|
||||||
|
<span id="line62"></span> <span class="attribute-name">title</span>="<a class="attribute-value">Sign In</a>"
|
||||||
|
<span id="line63"></span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-sign-in</a>"
|
||||||
|
<span id="line64"></span> ></span><span>
|
||||||
|
<span id="line65"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-person</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span>
|
||||||
|
<span id="line66"></span> </span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line67"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-save-snapshot-in-progress</a>" <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-web</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span>
|
||||||
|
<span id="line68"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:http://faq.web.archive.org/">http://faq.web.archive.org/</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Get some help using the Wayback Machine</a>" <span class="attribute-name">style</span>="<a class="attribute-value">top:-6px;</a>"></span><span></span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-question</a>" <span class="attribute-name">style</span>="<a class="attribute-value">color:rgb(87,186,244);font-size:160%;</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line69"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-tb-close</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/#close">#close</a>" <span class="attribute-name">onclick</span>="<a class="attribute-value">__wm.h(event);return false;</a>" <span class="attribute-name">style</span>="<a class="attribute-value">top:-2px;</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Close the toolbar</a>"></span><span></span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-remove-circle</a>" <span class="attribute-name">style</span>="<a class="attribute-value">color:#888888;font-size:240%;</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line70"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line71"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-share</a>"></span><span>
|
||||||
|
<span id="line72"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://web.archive.org/screenshot/http://www.bloonsworld.com/level_editor/">/web/20070716211456/http://web.archive.org/screenshot/http://www.bloonsworld.com/level_editor/</a>"
|
||||||
|
<span id="line73"></span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-screenshot</a>"
|
||||||
|
<span id="line74"></span> <span class="attribute-name">title</span>="<a class="attribute-value">screenshot</a>"></span><span>
|
||||||
|
<span id="line75"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">wm-icon-screen-shot</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span>
|
||||||
|
<span id="line76"></span> </span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line77"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/#">#</a>"
|
||||||
|
<span id="line78"></span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-video</a>"
|
||||||
|
<span id="line79"></span> <span class="attribute-name">title</span>="<a class="attribute-value">video</a>"></span><span>
|
||||||
|
<span id="line80"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-movies</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span>
|
||||||
|
<span id="line81"></span> </span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line82"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-share-facebook</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/#">#</a>" <span class="attribute-name">data-url</span>="<a class="attribute-value">https://web.archive.org/web/20070716211456/http://www.bloonsworld.com:80/level_editor/</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Share on Facebook</a>" <span class="attribute-name">style</span>="<a class="attribute-value">margin-right:5px;</a>" <span class="attribute-name">target</span>="<a class="attribute-value">_blank</a>"></span><span></span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-facebook</a>" <span class="attribute-name">style</span>="<a class="attribute-value">color:#3b5998;font-size:160%;</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line83"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-share-twitter</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/#">#</a>" <span class="attribute-name">data-url</span>="<a class="attribute-value">https://web.archive.org/web/20070716211456/http://www.bloonsworld.com:80/level_editor/</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Share on Twitter</a>" <span class="attribute-name">style</span>="<a class="attribute-value">margin-right:5px;</a>" <span class="attribute-name">target</span>="<a class="attribute-value">_blank</a>"></span><span></span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-twitter</a>" <span class="attribute-name">style</span>="<a class="attribute-value">color:#1dcaff;font-size:160%;</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line84"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line85"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line86"></span> </span><span><<span class="start-tag">table</span> <span class="attribute-name">class</span>="<a class="attribute-value">c</a>" <span class="attribute-name">style</span>="<a class="attribute-value"></a>"></span><span>
|
||||||
|
<span id="line87"></span> </span><span><<span class="start-tag">tbody</span>></span><span>
|
||||||
|
<span id="line88"></span> </span><span><<span class="start-tag">tr</span>></span><span>
|
||||||
|
<span id="line89"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">u</a>" <span class="attribute-name">colspan</span>="<a class="attribute-value">2</a>"></span><span>
|
||||||
|
<span id="line90"></span> </span><span><<span class="start-tag">form</span> <span class="attribute-name">target</span>="<a class="attribute-value">_top</a>" <span class="attribute-name">method</span>="<a class="attribute-value">get</a>" <span class="attribute-name">action</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/submit">/web/submit</a>" <span class="attribute-name">name</span>="<a class="attribute-value">wmtb</a>" <span class="attribute-name">id</span>="<a class="attribute-value">wmtb</a>"></span><span></span><span><<span class="start-tag">input</span> <span class="attribute-name">type</span>="<a class="attribute-value">text</a>" <span class="attribute-name">name</span>="<a class="attribute-value">url</a>" <span class="attribute-name">id</span>="<a class="attribute-value">wmtbURL</a>" <span class="attribute-name">value</span>="<a class="attribute-value">http://www.bloonsworld.com/level_editor/</a>" <span class="attribute-name">onfocus</span>="<a class="attribute-value">this.focus();this.select();</a>" <span>/</span>></span><span></span><span><<span class="start-tag">input</span> <span class="attribute-name">type</span>="<a class="attribute-value">hidden</a>" <span class="attribute-name">name</span>="<a class="attribute-value">type</a>" <span class="attribute-name">value</span>="<a class="attribute-value">replay</a>" <span>/</span>></span><span></span><span><<span class="start-tag">input</span> <span class="attribute-name">type</span>="<a class="attribute-value">hidden</a>" <span class="attribute-name">name</span>="<a class="attribute-value">date</a>" <span class="attribute-name">value</span>="<a class="attribute-value">20070716211456</a>" <span>/</span>></span><span></span><span><<span class="start-tag">input</span> <span class="attribute-name">type</span>="<a class="attribute-value">submit</a>" <span class="attribute-name">value</span>="<a class="attribute-value">Go</a>" <span>/</span>></span><span></span><span></<span class="end-tag">form</span>></span><span>
|
||||||
|
<span id="line91"></span> </span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line92"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">n</a>" <span class="attribute-name">rowspan</span>="<a class="attribute-value">2</a>" <span class="attribute-name">style</span>="<a class="attribute-value">width:110px;</a>"></span><span>
|
||||||
|
<span id="line93"></span> </span><span><<span class="start-tag">table</span>></span><span>
|
||||||
|
<span id="line94"></span> </span><span><<span class="start-tag">tbody</span>></span><span>
|
||||||
|
<span id="line95"></span> </span><span class="comment"><!-- NEXT/PREV MONTH NAV AND MONTH INDICATOR --></span><span>
|
||||||
|
<span id="line96"></span> </span><span><<span class="start-tag">tr</span> <span class="attribute-name">class</span>="<a class="attribute-value">m</a>"></span><span>
|
||||||
|
<span id="line97"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">b</a>" <span class="attribute-name">nowrap</span>="<a class="attribute-value">nowrap</a>"></span><span>Jun</span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line98"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">c</a>" <span class="attribute-name">id</span>="<a class="attribute-value">displayMonthEl</a>" <span class="attribute-name">title</span>="<a class="attribute-value">You are here: 21:14:56 Jul 16, 2007</a>"></span><span>JUL</span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line99"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">f</a>" <span class="attribute-name">nowrap</span>="<a class="attribute-value">nowrap</a>"></span><span></span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070908214107/http://bloonsworld.com:80/level_editor">https://web.archive.org/web/20070908214107/http://bloonsworld.com:80/level_editor</a>" <span class="attribute-name">title</span>="<a class="attribute-value">08 Sep 2007</a>"></span><span></span><span><<span class="start-tag">strong</span>></span><span>Sep</span><span></<span class="end-tag">strong</span>></span><span></span><span></<span class="end-tag">a</span>></span><span></span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line100"></span> </span><span></<span class="end-tag">tr</span>></span><span>
|
||||||
|
<span id="line101"></span> </span><span class="comment"><!-- NEXT/PREV CAPTURE NAV AND DAY OF MONTH INDICATOR --></span><span>
|
||||||
|
<span id="line102"></span> </span><span><<span class="start-tag">tr</span> <span class="attribute-name">class</span>="<a class="attribute-value">d</a>"></span><span>
|
||||||
|
<span id="line103"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">b</a>" <span class="attribute-name">nowrap</span>="<a class="attribute-value">nowrap</a>"></span><span></span><span><<span class="start-tag">img</span> <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/images/toolbar/wm_tb_prv_off.png">/_static/images/toolbar/wm_tb_prv_off.png</a>" <span class="attribute-name">alt</span>="<a class="attribute-value">Previous capture</a>" <span class="attribute-name">width</span>="<a class="attribute-value">14</a>" <span class="attribute-name">height</span>="<a class="attribute-value">16</a>" <span class="attribute-name">border</span>="<a class="attribute-value">0</a>" <span>/</span>></span><span></span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line104"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">c</a>" <span class="attribute-name">id</span>="<a class="attribute-value">displayDayEl</a>" <span class="attribute-name">style</span>="<a class="attribute-value">width:34px;font-size:24px;white-space:nowrap;</a>" <span class="attribute-name">title</span>="<a class="attribute-value">You are here: 21:14:56 Jul 16, 2007</a>"></span><span>16</span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line105"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">f</a>" <span class="attribute-name">nowrap</span>="<a class="attribute-value">nowrap</a>"></span><span></span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070908214107/http://bloonsworld.com:80/level_editor">https://web.archive.org/web/20070908214107/http://bloonsworld.com:80/level_editor</a>" <span class="attribute-name">title</span>="<a class="attribute-value">21:41:07 Sep 08, 2007</a>"></span><span></span><span><<span class="start-tag">img</span> <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/images/toolbar/wm_tb_nxt_on.png">/_static/images/toolbar/wm_tb_nxt_on.png</a>" <span class="attribute-name">alt</span>="<a class="attribute-value">Next capture</a>" <span class="attribute-name">width</span>="<a class="attribute-value">14</a>" <span class="attribute-name">height</span>="<a class="attribute-value">16</a>" <span class="attribute-name">border</span>="<a class="attribute-value">0</a>" <span>/</span>></span><span></span><span></<span class="end-tag">a</span>></span><span></span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line106"></span> </span><span></<span class="end-tag">tr</span>></span><span>
|
||||||
|
<span id="line107"></span> </span><span class="comment"><!-- NEXT/PREV YEAR NAV AND YEAR INDICATOR --></span><span>
|
||||||
|
<span id="line108"></span> </span><span><<span class="start-tag">tr</span> <span class="attribute-name">class</span>="<a class="attribute-value">y</a>"></span><span>
|
||||||
|
<span id="line109"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">b</a>" <span class="attribute-name">nowrap</span>="<a class="attribute-value">nowrap</a>"></span><span>2006</span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line110"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">c</a>" <span class="attribute-name">id</span>="<a class="attribute-value">displayYearEl</a>" <span class="attribute-name">title</span>="<a class="attribute-value">You are here: 21:14:56 Jul 16, 2007</a>"></span><span>2007</span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line111"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">f</a>" <span class="attribute-name">nowrap</span>="<a class="attribute-value">nowrap</a>"></span><span></span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20081026060307/http://www.bloonsworld.com:80/level_editor">https://web.archive.org/web/20081026060307/http://www.bloonsworld.com:80/level_editor</a>" <span class="attribute-name">title</span>="<a class="attribute-value">26 Oct 2008</a>"></span><span></span><span><<span class="start-tag">strong</span>></span><span>2008</span><span></<span class="end-tag">strong</span>></span><span></span><span></<span class="end-tag">a</span>></span><span></span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line112"></span> </span><span></<span class="end-tag">tr</span>></span><span>
|
||||||
|
<span id="line113"></span> </span><span></<span class="end-tag">tbody</span>></span><span>
|
||||||
|
<span id="line114"></span> </span><span></<span class="end-tag">table</span>></span><span>
|
||||||
|
<span id="line115"></span> </span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line116"></span> </span><span></<span class="end-tag">tr</span>></span><span>
|
||||||
|
<span id="line117"></span> </span><span><<span class="start-tag">tr</span>></span><span>
|
||||||
|
<span id="line118"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">s</a>"></span><span>
|
||||||
|
<span id="line119"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-nav-captures</a>"></span><span>
|
||||||
|
<span id="line120"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">class</span>="<a class="attribute-value">t</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456*/http://www.bloonsworld.com/level_editor/">/web/20070716211456*/http://www.bloonsworld.com/level_editor/</a>" <span class="attribute-name">title</span>="<a class="attribute-value">See a list of every capture for this URL</a>"></span><span>160 captures</span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line121"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">class</span>="<a class="attribute-value">r</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Timespan for captures of this URL</a>"></span><span>16 Jul 2007 - 07 Aug 2014</span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line122"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line123"></span> </span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line124"></span> </span><span><<span class="start-tag">td</span> <span class="attribute-name">class</span>="<a class="attribute-value">k</a>"></span><span>
|
||||||
|
<span id="line125"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/"></a>" <span class="attribute-name">id</span>="<a class="attribute-value">wm-graph-anchor</a>"></span><span>
|
||||||
|
<span id="line126"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-ipp-sparkline</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Explore captures for this URL</a>" <span class="attribute-name">style</span>="<a class="attribute-value">position: relative</a>"></span><span>
|
||||||
|
<span id="line127"></span> </span><span><<span class="start-tag">canvas</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-sparkline-canvas</a>" <span class="attribute-name">width</span>="<a class="attribute-value">650</a>" <span class="attribute-name">height</span>="<a class="attribute-value">27</a>" <span class="attribute-name">border</span>="<a class="attribute-value">0</a>"></span><span></span><span></<span class="end-tag">canvas</span>></span><span>
|
||||||
|
<span id="line128"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line129"></span> </span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line130"></span> </span><span></<span class="end-tag">td</span>></span><span>
|
||||||
|
<span id="line131"></span> </span><span></<span class="end-tag">tr</span>></span><span>
|
||||||
|
<span id="line132"></span> </span><span></<span class="end-tag">tbody</span>></span><span>
|
||||||
|
<span id="line133"></span> </span><span></<span class="end-tag">table</span>></span><span>
|
||||||
|
<span id="line134"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">position:absolute;bottom:0;right:2px;text-align:right;</a>"></span><span>
|
||||||
|
<span id="line135"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-expand</a>" <span class="attribute-name">class</span>="<a class="attribute-value">wm-btn wm-closed</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/level_editor/#expand">#expand</a>" <span class="attribute-name">onclick</span>="<a class="attribute-value">__wm.ex(event);return false;</a>"></span><span></span><span><<span class="start-tag">span</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-expand-icon</a>" <span class="attribute-name">class</span>="<a class="attribute-value">iconochive-down-solid</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">style</span>="<a class="attribute-value">font-size:80%</a>"></span><span>About this capture</span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line136"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line137"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line138"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-capinfo</a>" <span class="attribute-name">style</span>="<a class="attribute-value">border-top:1px solid #777;display:none; overflow: hidden</a>"></span><span>
|
||||||
|
<span id="line139"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-capinfo-collected-by</a>"></span><span>
|
||||||
|
<span id="line140"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">background-color:#666;color:#fff;font-weight:bold;text-align:center</a>"></span><span>COLLECTED BY</span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line141"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">padding:3px;position:relative</a>" <span class="attribute-name">id</span>="<a class="attribute-value">wm-collected-by-content</a>"></span><span>
|
||||||
|
<span id="line142"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">display:inline-block;vertical-align:top;width:50%;</a>"></span><span>
|
||||||
|
<span id="line143"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">c-logo</a>" <span class="attribute-name">style</span>="<a class="attribute-value">background-image:url(https://archive.org/services/img/alexacrawls);</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span>
|
||||||
|
<span id="line144"></span> Organization: </span><span><<span class="start-tag">a</span> <span class="attribute-name">style</span>="<a class="attribute-value">color:#33f;</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://archive.org/details/alexacrawls">https://archive.org/details/alexacrawls</a>" <span class="attribute-name">target</span>="<a class="attribute-value">_new</a>"></span><span></span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">wm-title</a>"></span><span>Alexa Crawls</span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line145"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">max-height:75px;overflow:hidden;position:relative;</a>"></span><span>
|
||||||
|
<span id="line146"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">position:absolute;top:0;left:0;width:100%;height:75px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 90%,rgba(255,255,255,255) 100%);</a>"></span><span></span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line147"></span> Starting in 1996, </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:http://www.alexa.com/">http://www.alexa.com/</a>"></span><span>Alexa Internet</span><span></<span class="end-tag">a</span>></span><span> has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:http://web.archive.org/">http://web.archive.org/</a>"></span><span>Wayback Machine</span><span></<span class="end-tag">a</span>></span><span> after an embargo period.
|
||||||
|
<span id="line148"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line149"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line150"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">display:inline-block;vertical-align:top;width:49%;</a>"></span><span>
|
||||||
|
<span id="line151"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">c-logo</a>" <span class="attribute-name">style</span>="<a class="attribute-value">background-image:url(https://archive.org/services/img/42_crawl)</a>"></span><span></span><span></<span class="end-tag">span</span>></span><span>
|
||||||
|
<span id="line152"></span> </span><span><<span class="start-tag">div</span>></span><span>Collection: </span><span><<span class="start-tag">a</span> <span class="attribute-name">style</span>="<a class="attribute-value">color:#33f;</a>" <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://archive.org/details/42_crawl">https://archive.org/details/42_crawl</a>" <span class="attribute-name">target</span>="<a class="attribute-value">_new</a>"></span><span></span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">wm-title</a>"></span><span>42_crawl</span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">a</span>></span><span></span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line153"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">max-height:75px;overflow:hidden;position:relative;</a>"></span><span>
|
||||||
|
<span id="line154"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">position:absolute;top:0;left:0;width:100%;height:75px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 90%,rgba(255,255,255,255) 100%);</a>"></span><span></span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line155"></span> this data is currently not publicly accessible.
|
||||||
|
<span id="line156"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line157"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line158"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line159"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line160"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-capinfo-timestamps</a>"></span><span>
|
||||||
|
<span id="line161"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">style</span>="<a class="attribute-value">background-color:#666;color:#fff;font-weight:bold;text-align:center</a>" <span class="attribute-name">title</span>="<a class="attribute-value">Timestamps for the elements of this page</a>"></span><span>TIMESTAMPS</span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line162"></span> </span><span><<span class="start-tag">div</span>></span><span>
|
||||||
|
<span id="line163"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-capresources</a>" <span class="attribute-name">style</span>="<a class="attribute-value">margin:0 5px 5px 5px;max-height:250px;overflow-y:scroll !important</a>"></span><span></span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line164"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-capresources-loading</a>" <span class="attribute-name">style</span>="<a class="attribute-value">text-align:left;margin:0 20px 5px 5px;display:none</a>"></span><span></span><span><<span class="start-tag">img</span> <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://web.archive.org/_static/images/loading.gif">/_static/images/loading.gif</a>" <span class="attribute-name">alt</span>="<a class="attribute-value">loading</a>" <span>/</span>></span><span></span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line165"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line166"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line167"></span> </span><span></<span class="end-tag">div</span>></span><span></span><span></<span class="end-tag">div</span>></span><span></span><span></<span class="end-tag">div</span>></span><span></span><span></<span class="end-tag">div</span>></span><span></span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wm-ipp-print</a>"></span><span>The Wayback Machine - https://web.archive.org/web/20070716211456/http://www.bloonsworld.com:80/level_editor/</span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line168"></span></span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">donato</a>" <span class="attribute-name">style</span>="<a class="attribute-value">position:relative;width:100%;</a>"></span><span>
|
||||||
|
<span id="line169"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">donato-base</a>"></span><span>
|
||||||
|
<span id="line170"></span> </span><span><<span class="start-tag">iframe</span> <span class="attribute-name">id</span>="<a class="attribute-value">donato-if</a>" <span class="attribute-name">src</span>="<a class="attribute-value" href="view-source:https://archive.org/includes/donate.php?as_page=1&platform=wb&referer=https%3A//web.archive.org/web/20070716211456/http%3A//www.bloonsworld.com/level_editor/">https://archive.org/includes/donate.php?as_page=1<span class="entity"><span>&</span>amp;</span>platform=wb<span class="entity"><span>&</span>amp;</span>referer=https%3A//web.archive.org/web/20070716211456/http%3A//www.bloonsworld.com/level_editor/</a>"
|
||||||
|
<span id="line171"></span> <span class="attribute-name">scrolling</span>="<a class="attribute-value">no</a>" <span class="attribute-name">frameborder</span>="<a class="attribute-value">0</a>" <span class="attribute-name">style</span>="<a class="attribute-value">width:100%; height:100%</a>"></span><span>
|
||||||
|
<span id="line172"></span> </span><span></<span class="end-tag">iframe</span>></span><span>
|
||||||
|
<span id="line173"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line174"></span></span><span></<span class="end-tag">div</span>></span><span></span><span><<span class="start-tag">script</span> <span class="attribute-name">type</span>="<a class="attribute-value">text/javascript</a>"></span><span>
|
||||||
|
<span id="line175"></span>__wm.bt(650,27,25,2,"web","http://www.bloonsworld.com/level_editor/","20070716211456",1996,"/_static/",["/_static/css/banner-styles.css?v=omkqRugM","/_static/css/iconochive.css?v=qtvMKcIJ"], "False");
|
||||||
|
<span id="line176"></span> __wm.rw(1);
|
||||||
|
<span id="line177"></span></span><span></<span class="end-tag">script</span>></span><span>
|
||||||
|
<span id="line178"></span></span><span class="comment"><!-- END WAYBACK TOOLBAR INSERT --></span><span>
|
||||||
|
<span id="line179"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">wrapper</a>"></span><span>
|
||||||
|
<span id="line180"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">inner_wrapper</a>"></span><span>
|
||||||
|
<span id="line181"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">alpha</a>"></span><span></span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line182"></span> </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.bloonsworld.com/public_dev.php/">/web/20070716211456/http://www.bloonsworld.com/public_dev.php/</a>" <span class="attribute-name">id</span>="<a class="attribute-value">header</a>"></span><span></span><span></<span class="end-tag">a</span>></span><span>
|
||||||
|
<span id="line183"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">id</span>="<a class="attribute-value">content</a>"></span><span>
|
||||||
|
<span id="line184"></span> </span><span><<span class="start-tag">div</span> <span class="attribute-name">class</span>="<a class="attribute-value">wide full</a>"></span><span>
|
||||||
|
<span id="line185"></span> </span><span><<span class="start-tag">h1</span>></span><span>Our apologies</span><span></<span class="end-tag">h1</span>></span><span>
|
||||||
|
<span id="line186"></span> </span><span><<span class="start-tag">p</span>></span><span>There has been an error - we're working on it right away!</span><span><<span class="start-tag">p</span>></span><span>
|
||||||
|
<span id="line187"></span> </span><span><<span class="start-tag">br</span><span>/</span>></span><span>
|
||||||
|
<span id="line188"></span> </span><span><<span class="start-tag">p</span>></span><span>While we're away, please visit </span><span><<span class="start-tag">a</span> <span class="attribute-name">href</span>="<a class="attribute-value" href="view-source:https://web.archive.org/web/20070716211456/http://www.ninjakiwi.com/">https://web.archive.org/web/20070716211456/http://www.ninjakiwi.com/</a>"></span><span>Ninja Kiwi</span><span></<span class="end-tag">a</span>></span><span>.</span><span><<span class="start-tag">p</span>></span><span>
|
||||||
|
<span id="line189"></span> </span><span><<span class="start-tag">br</span><span>/</span>></span><span>
|
||||||
|
<span id="line190"></span> </span><span><<span class="start-tag">p</span>></span><span>Thanks for your patience!</span><span></<span class="end-tag">p</span>></span><span>
|
||||||
|
<span id="line191"></span> </span><span><<span class="start-tag">br</span><span>/</span>></span><span>
|
||||||
|
<span id="line192"></span> </span><span><<span class="start-tag">p</span>></span><span>Sincerely, </span><span></<span class="end-tag">p</span>></span><span>
|
||||||
|
<span id="line193"></span> </span><span><<span class="start-tag">p</span>></span><span>The Bloonsworld Team</span><span></<span class="end-tag">p</span>></span><span>
|
||||||
|
<span id="line194"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line195"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line196"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line197"></span> </span><span></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line198"></span> </span><span class="error" title="Stray end tag “div”."></<span class="end-tag">div</span>></span><span>
|
||||||
|
<span id="line199"></span></span><span class="error" title="Stray end tag “div”."></<span class="end-tag">div</span>></span><span></span><span class="comment"><!--
|
||||||
|
<span id="line200"></span> FILE ARCHIVED ON 21:14:56 Jul 16, 2007 AND RETRIEVED FROM THE
|
||||||
|
<span id="line201"></span> INTERNET ARCHIVE ON 15:04:19 Sep 29, 2021.
|
||||||
|
<span id="line202"></span> JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
|
||||||
|
<span id="line203"></span>
|
||||||
|
<span id="line204"></span> ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
|
||||||
|
<span id="line205"></span> SECTION 108(a)(3)).
|
||||||
|
<span id="line206"></span>--></span><span>
|
||||||
|
<span id="line207"></span></span><span class="comment"><!--
|
||||||
|
<span id="line208"></span>playback timings (ms):
|
||||||
|
<span id="line209"></span> captures_list: 219.132
|
||||||
|
<span id="line210"></span> exclusion.robots: 0.145
|
||||||
|
<span id="line211"></span> exclusion.robots.policy: 0.139
|
||||||
|
<span id="line212"></span> RedisCDXSource: 2.998
|
||||||
|
<span id="line213"></span> esindex: 0.004
|
||||||
|
<span id="line214"></span> LoadShardBlock: 197.401 (3)
|
||||||
|
<span id="line215"></span> PetaboxLoader3.datanode: 193.251 (4)
|
||||||
|
<span id="line216"></span> CDXLines.iter: 15.727 (3)
|
||||||
|
<span id="line217"></span> load_resource: 619.351
|
||||||
|
<span id="line218"></span> PetaboxLoader3.resolve: 530.559
|
||||||
|
<span id="line219"></span>--></span><span></span></pre></body></html>
|
||||||
14
app/game/templates/game/game.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{% extends 'game/base.html' %}
|
||||||
|
{% load static %}
|
||||||
|
{% block content %}
|
||||||
|
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
|
||||||
|
codebase="{% static 'game/misc/swflash.cab' %}#version=7,0,19,0"
|
||||||
|
width="640" height="480" title="">
|
||||||
|
<param name="movie" value="{% static 'game/misc/bloons_unlimited.swf' %}">
|
||||||
|
<param name="quality" value="high">
|
||||||
|
<embed src="{% static 'game/misc/bloons_unlimited.swf' %}"
|
||||||
|
quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
|
||||||
|
type="application/x-shockwave-flash"
|
||||||
|
width="640" height="480">
|
||||||
|
</object>
|
||||||
|
{% endblock content %}
|
||||||
113
app/game/templates/game/index.html
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
{% extends 'game/base.html' %}
|
||||||
|
{% load static %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div id="content">
|
||||||
|
|
||||||
|
<div class="wide light">
|
||||||
|
<h2 class="centered">
|
||||||
|
<a href="http://newgam.es/drillbunny">Driller Bunny for iPhone!<br>
|
||||||
|
</a></h2><br><center>
|
||||||
|
If you like Bloons, you will LOVE THIS GAME.<br>
|
||||||
|
Get Driller Bunny now for iPhone or iPod Touch.<br>
|
||||||
|
<a href="http://newgam.es/drillbunny">
|
||||||
|
<img src="{% static 'game/img/driller-bunny-300x250.jpg' %}"
|
||||||
|
alt="Driller Bunny"/></a><br>
|
||||||
|
</div>
|
||||||
|
<div class=" wide light">
|
||||||
|
<h2 class="centered">Welcome to Bloonsworld!</h2>
|
||||||
|
<p class="centered"></p>
|
||||||
|
<a class="homepage_button" href="{% url 'game' %}">
|
||||||
|
<img src="{% static 'game/img/top_playnow.gif' %}"
|
||||||
|
alt="Top_playnow"/></a>
|
||||||
|
<a class="homepage_button"
|
||||||
|
href="/web/20140115060749/http://bloonsworld.com/level_editor">
|
||||||
|
<img src="{% static 'game/img/top_build.gif' %}"
|
||||||
|
alt="Top_build"/></a>
|
||||||
|
</div>
|
||||||
|
<div class="left">
|
||||||
|
<h4>Highest-rated levels:</h4>
|
||||||
|
<h5>(Click to play)</h5>
|
||||||
|
<ol>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778111">Best Chain 21</a> (10/10)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778112">OMG 13</a> (10/10)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778030">Las Ketchup</a> (7.8/10)</li>
|
||||||
|
</ol>
|
||||||
|
</div><div class="right">
|
||||||
|
<h4>Recently added levels:</h4>
|
||||||
|
<h5>(Click to play)</h5>
|
||||||
|
<ol>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778122">hit between ice</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778121">pac man</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778120">a box of sex</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778119">SMASH</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778118">raining spikes</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778117">the crazy world</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778116">hard place</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778115">easy place</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778114">its possible</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778113">Difficult</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778112">OMG 13</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778111">Best Chain 21</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778110">HARD MUCH</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778109">Robo Chain 6</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778108">LazerBomb Chain3</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778107">The cage</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778106">Ice world</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778105">PAcMan</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778104">Best Chain 27</a></li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3778103">SO Epic 9</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
<div class="left">
|
||||||
|
<h4>Most-played levels:</h4>
|
||||||
|
<h5>(Click to play)</h5>
|
||||||
|
<ol>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1466448">Soundwave</a> (6447590 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1405191">PacMan</a> (5183323 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1363912">Pacman k mills</a> (4626903 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1404171">Confusing</a> (2023344 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1484062">Time race</a> (1908122 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1068477">Cheating</a> (1368887 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/3170764">Light Saber Wars</a> (1300373 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/2198426">IcedMyHeart18</a> (895512 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1597102">Bouncing Bombs</a> (860363 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1129165">wanna be hitler</a> (793532 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1607897">Bouncy Chain</a> (780543 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1592502">Stairsteps</a> (772812 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1">dum dum 01</a> (689579 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1608943">In the Middle</a> (678645 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1417051">Darts Squared</a> (667748 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1601218">Caged In</a> (606749 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1417065">Hail On Water</a> (568360 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1405230">More Darts</a> (554542 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1410310">Which Direction</a> (534633 plays)</li>
|
||||||
|
<li><a href="/web/20140115060749/http://bloonsworld.com/preview/1416059">Ring Around Dart</a> (534629 plays)</li>
|
||||||
|
</ol>
|
||||||
|
</div><div class="right">
|
||||||
|
<h4>Top Submitters:</h4>
|
||||||
|
<h5>(Click to view)</h5>
|
||||||
|
<ol>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/martijn1998">martijn1998</a> (17957 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Joshua12878">Joshua12878</a> (11528 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Glenn+Laurence+Hardy+Junior">Glenn Laurence Hardy Junior</a> (7596 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Sachin+Gupta">Sachin Gupta</a> (6783 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Ghostbusters+Fan+101">Ghostbusters Fan 101</a> (6386 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/teehee3">teehee3</a> (5899 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Brittany+Issiac">Brittany Issiac</a> (5839 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/MAV8">MAV8</a> (5277 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Martijn98">Martijn98</a> (4969 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/540077">Tommy.1</a> (4767 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Super+Mario+Galaxy">Super Mario Galaxy</a> (4116 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Bloons+User">Bloons User</a> (4067 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Skull+Ernie">Skull Ernie</a> (3721 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Casey208">Casey208</a> (3575 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Shockwav4">Shockwav4</a> (3367 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Jellyman23">Jellyman23</a> (3172 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/Ariana+Nunes">Ariana Nunes</a> (2974 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/pablotheholyturtle">pablotheholyturtle</a> (2849 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/MadMorgan">MadMorgan</a> (2758 levels)</li>
|
||||||
|
<li><a href="http://web.archive.org/web/20140115060749/http://bloonsworld.com/benpen">benpen</a> (2753 levels)</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
{% endblock content %}
|
||||||
27
app/game/templates/game/level.html
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{% extends 'game/base.html' %}
|
||||||
|
{% load static %}
|
||||||
|
{% block content %}
|
||||||
|
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
|
||||||
|
codebase="{% static 'game/misc/swflash.cab' %}#version=7,0,19,0"
|
||||||
|
width="640" height="480" title="Confusing">
|
||||||
|
<param name="movie" value="{% static 'game/misc/bloons_unlimited.swf' %}">
|
||||||
|
<param name="quality" value="high">
|
||||||
|
<param name="FlashVars"
|
||||||
|
value="&{{flashVars}}">
|
||||||
|
<embed src="{% static 'game/misc/bloons_unlimited.swf' %}"
|
||||||
|
quality="high"
|
||||||
|
pluginspage="http://www.macromedia.com/go/getflashplayer"
|
||||||
|
type="application/x-shockwave-flash"
|
||||||
|
width="640" height="480" flashvars="&{{flashVars}}">
|
||||||
|
</object>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="wide">
|
||||||
|
Move the mouse to aim the arrow, and press and hold the left mouse button to select the power of your throw. Pop the minimum number of bloons to pass each level. You can rate the levels you play by clicking the 'rate level' button in the game screen. You can also go to another random level by clicking 'Go random' at any time.</div> <div class="wide centered">
|
||||||
|
Copyright Kaiparasoft 2007, all rights reserved<br/>
|
||||||
|
<a href="https://web.archive.org/web/20140327034910/http://www.ninjakiwi.com/">Ninjakiwi</a>
|
||||||
|
- <a href="/web/20140327034910/http://www.bloonsworld.com/symfony/terms">Terms of Use</a>
|
||||||
|
- <a href="/web/20140327034910/http://www.bloonsworld.com/symfony/contact_us">Contact Us</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock content %}
|
||||||
111
app/game/templates/game/terms.html
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
{% extends 'game/base.html' %}
|
||||||
|
{% block content %}
|
||||||
|
<div id="content">
|
||||||
|
<div class="wide">
|
||||||
|
<p>Bloonsworld User agreement</p>
|
||||||
|
|
||||||
|
<p>Your use of this website <a href="http://web.archive.org/web/20140625080942/http://www.bloonsworld.com/">www.bloonsworld.com</a>
|
||||||
|
and the use of any accounts on this website are subject to the following terms and conditions, which we may
|
||||||
|
update from time to time. We reserve the right to modify, suspend or discontinue the website, it’s content
|
||||||
|
and/or your account at any time without notice.
|
||||||
|
<br/>In accepting these terms and conditions you acknowledge that you have no rights in this site and that
|
||||||
|
Bloonsworld™, Ninjakiwi™ and Kaiparasoft Limited have no liability to you if this website is modified,
|
||||||
|
discontinued or if your account is modified, suspended or cancelled.</p>
|
||||||
|
|
||||||
|
<p>All content on this site including user generated levels using Bloonsbuilder™, artwork, images, text,
|
||||||
|
downloadable files, logos, character names and trademarks is the sole property of Kaiparasoft Limited and is
|
||||||
|
protected Internationally under all applicable intellectual property laws. For more detail around content
|
||||||
|
posted by users refer to User Rights below.</p>
|
||||||
|
|
||||||
|
<p>User Rights</p>
|
||||||
|
|
||||||
|
<p>1. Levels created using the Ninjakiwi™ Bloonsbuilder™ will remain the sole property of Kaiparasoft Limited at
|
||||||
|
all times and Kaiparasoft Limited reserve the right to republish any user created levels in any format and
|
||||||
|
in any location.
|
||||||
|
<br/>2. Content posted in the forums with the exception of previously copyrighted material and material
|
||||||
|
covered under international intellectual property laws will remain the sole property of Kaiparasoft Limited
|
||||||
|
at all times and Kaiparasoft Limited reserve the right to republish any material in any format and in any
|
||||||
|
location.</p>
|
||||||
|
|
||||||
|
<p>Forums</p>
|
||||||
|
|
||||||
|
<p>1. Language that is deemed to be offensive to us or any of our users such as, but not limited to: Profanity,
|
||||||
|
Racism, or any other objectionable language will result in account suspension or cancellation at our sole
|
||||||
|
discretion.</p>
|
||||||
|
|
||||||
|
<p>2. Use of the forums. Registration is free and grants you access to post messages in all public forums (and
|
||||||
|
any private forums you are specifically given access to). Your access to the forums may be limited or
|
||||||
|
revoked at any time without notice and for any reason.
|
||||||
|
<br/>Although the forum operators will make reasonable attempts to remove any messages containing
|
||||||
|
objectionable content, it is not possible for the operators to review all messages. All messages posted to
|
||||||
|
the forums express only the views of the author, and you agree that Bloonsworld™, Ninjakiwi™ and Kaiparasoft
|
||||||
|
Limited, the forum operators and any associated parties will not be held responsible for the content of any
|
||||||
|
message posted to the forums by you or any other party.
|
||||||
|
<br/>You agree that you will not post to the forums any messages that:
|
||||||
|
<br/>• are obscene or vulgar;
|
||||||
|
<br/>• are pornographic or contain pornographic material;
|
||||||
|
<br/>• are hateful or threatening;
|
||||||
|
<br/>• contain copyrighted material or links to illegal copies of copyrighted material or otherwise infringe
|
||||||
|
on material covered by international intellectual property laws;
|
||||||
|
<br/>• otherwise violate any of the laws of New Zealand.
|
||||||
|
<br/>You agree that the rules governing the forum may be changed at any time.
|
||||||
|
<br/>The forum operators have the right to remove, edit, move or close any thread or message without notice
|
||||||
|
and for any reason.</p>
|
||||||
|
|
||||||
|
<p>Usernames and Level Names. Use of obscene, vulgar, copyrighted (example naming a level “Ninjakiwi”) or
|
||||||
|
otherwise offensive usernames or level names will result in account suspension or cancellation at our
|
||||||
|
discretion.</p>
|
||||||
|
|
||||||
|
<p>Usernames or level names that are created for the purposes of advertising a website, product or service are
|
||||||
|
also prohibited and subject to suspension or cancellation without notice.</p>
|
||||||
|
|
||||||
|
<p>Commercial Use. Any commercial use of this website such as hotlinking, using iFrames or other means of
|
||||||
|
accessing this website other than through the URL <a
|
||||||
|
href="http://web.archive.org/web/20140625080942/http://www.bloonsworld.com/">www.bloonsworld.com</a>
|
||||||
|
is strictly prohibited.</p>
|
||||||
|
|
||||||
|
<p>Malicious use. Any malicious use or uploads such as malware, viruses, cheat software, decompilers, spiders,
|
||||||
|
robots or other means of creating fraudulent account or advertising fraud will not be tolerated.
|
||||||
|
<br/>Account Information: You may not share or transfer your Account or your Account password or other
|
||||||
|
access information with any other party, temporarily or permanently. You shall bear sole responsibility for
|
||||||
|
all use of your Account and for the confidentiality of your password. You represent that all information
|
||||||
|
submitted to create your Account is accurate and truthful.
|
||||||
|
<br/>Privacy/Children. On certain areas of this website, you may be given the ability to provide us with
|
||||||
|
personally identifiable information. Children under the age of 13 are not permitted to register, or use
|
||||||
|
other interactive features of our Site.
|
||||||
|
<br/>Third party websites. Bloonsworld™ may link to sites not maintained or related in any way to
|
||||||
|
Bloonsworld™, Ninjakiwi™ or Kaiparasoft Limited. Links are provided as a service to users or advertisers and
|
||||||
|
are not affliated in any other way with Bloonsworld™. We have no responsibility or control over any material
|
||||||
|
on such sites.
|
||||||
|
<br/>Representations and limitations of liability. Bloonsworld makes no representations about the
|
||||||
|
reliability of this websiote or any of it’s features and we disclaim all liability in the event of any
|
||||||
|
failure of service. This website is provided on an as-is basis and no warranties express or implied are made
|
||||||
|
including but not limited to those of fitness of purpose are made with respect to this website or any
|
||||||
|
information or software therein. Under no circumstances including but not limited to negligence, shall
|
||||||
|
Bloonsworld™, Ninjakiwi™ or Kaiparasoft Limited be liable for any direct, indirect, incidental, special,
|
||||||
|
punitive or consequential damages that result from the use or inability to use this website. Nor shall we be
|
||||||
|
made responsible for any damages whatsoever that result from mistakes, omissions interruptions, deletions or
|
||||||
|
failure of performance whether or not caused by events within or out of our control.</p>
|
||||||
|
|
||||||
|
<p>Privacy and advertising notes. We allow third-party companies to serve ads and/or collect certain anonymous
|
||||||
|
information when you visit our web site. These companies may use non-personally identifiable information
|
||||||
|
(e.g., click stream information, browser type, time and date, subject of advertisements clicked or scrolled
|
||||||
|
over) during your visits to this and other Web sites in order to provide advertisements about goods and
|
||||||
|
services likely to be of greater interest to you. These companies typically use a cookie or third party web
|
||||||
|
beacon to collect this information. To learn more about this behavioral advertising practice or to opt-out
|
||||||
|
of this type of advertising, you can visit <a
|
||||||
|
href="http://web.archive.org/web/20140625080942/http://www.networkadvertising.org/">www.networkadvertising.org</a>.
|
||||||
|
<br/>The NAI (Network Advertising Initiative) is a cooperative group of ad serving providers. The NAI has
|
||||||
|
developed a set of privacy principles to which its members adhere. The NAI is committed to provide consumers
|
||||||
|
with clear explanations of Internet advertising practices and how they affect you and the Internet
|
||||||
|
generally. For more information about the NAI, third party ad servers generally, and the opt-out
|
||||||
|
opportunities available through the NAI, visit <a
|
||||||
|
href="http://web.archive.org/web/20140625080942/http://www.networkadvertising.org/index.asp">http://www.networkadvertising.org/index.asp</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Bloonsworld™, Ninjakiwi™ and Kaiparasoft reserve the right to modify any of these terms and conditions at any
|
||||||
|
time and such changes will be taken as read, by you, immediately after publication. </p>
|
||||||
|
|
||||||
|
<p></p></div>
|
||||||
|
|
||||||
|
{% endblock content %}
|
||||||
3
app/game/tests.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
||||||
13
app/game/urls.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
from django.urls import path, include
|
||||||
|
|
||||||
|
from game.views import IndexView, TermsView, GameView, WIPView
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path("", IndexView.as_view(), name="index"),
|
||||||
|
path("game", GameView.as_view(), name="game"),
|
||||||
|
path("game/<int:pk>", GameView.as_view(), name="gameSelect"),
|
||||||
|
path("terms", TermsView.as_view(), name="terms"),
|
||||||
|
path("login", WIPView.as_view(), name="login"),
|
||||||
|
path("register", WIPView.as_view(), name="register"),
|
||||||
|
path("contact", WIPView.as_view(), name="contact"),
|
||||||
|
]
|
||||||
36
app/game/views.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
from django.shortcuts import render
|
||||||
|
from django.views.generic import TemplateView
|
||||||
|
# Create your views here.
|
||||||
|
|
||||||
|
from game.models import Level
|
||||||
|
|
||||||
|
|
||||||
|
class IndexView(TemplateView):
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
return render(request, "game/index.html", context={})
|
||||||
|
|
||||||
|
class TermsView(TemplateView):
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
return render(request, "game/terms.html", context={})
|
||||||
|
|
||||||
|
class GameView(TemplateView):
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
if type(kwargs.get("pk")) is int:
|
||||||
|
level = Level.objects.get(id=kwargs["pk"])
|
||||||
|
if level:
|
||||||
|
return render(request, "game/level.html", context={
|
||||||
|
"flashVars": level.getFlashVars(seperator="&")
|
||||||
|
})
|
||||||
|
|
||||||
|
return render(request, "game/game.html", context={})
|
||||||
|
|
||||||
|
class WIPView(TemplateView):
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
return render(request, "game/error.html", context={})
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
return render(request, "game/error.html", context={})
|
||||||
22
app/manage.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
"""Django's command-line utility for administrative tasks."""
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
"""Run administrative tasks."""
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.settings')
|
||||||
|
try:
|
||||||
|
from django.core.management import execute_from_command_line
|
||||||
|
except ImportError as exc:
|
||||||
|
raise ImportError(
|
||||||
|
"Couldn't import Django. Are you sure it's installed and "
|
||||||
|
"available on your PYTHONPATH environment variable? Did you "
|
||||||
|
"forget to activate a virtual environment?"
|
||||||
|
) from exc
|
||||||
|
execute_from_command_line(sys.argv)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
45
app/manip.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import sqlite3
|
||||||
|
from tqdm import tqdm
|
||||||
|
|
||||||
|
def dataProducer():
|
||||||
|
con = sqlite3.connect("database-dirty.db")
|
||||||
|
cur = con.cursor()
|
||||||
|
for levelNum, title, author, \
|
||||||
|
authorID, numplays, numCompleted, \
|
||||||
|
rating, target, darts, leveldata in cur.execute('SELECT * FROM levels;'):
|
||||||
|
yield (
|
||||||
|
levelNum,
|
||||||
|
title,
|
||||||
|
author.split(", by ")[-1].split(" (view ")[0],
|
||||||
|
authorID,
|
||||||
|
numplays,
|
||||||
|
numCompleted,
|
||||||
|
rating if rating != "?" else None,
|
||||||
|
target,
|
||||||
|
darts,
|
||||||
|
leveldata,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Be sure to close the connection
|
||||||
|
con.close()
|
||||||
|
exit()
|
||||||
|
|
||||||
|
from game.models import Level, Author
|
||||||
|
|
||||||
|
bar = tqdm(desc="Bloons db import", total=151902)
|
||||||
|
|
||||||
|
for d in dataProducer():
|
||||||
|
author = Author(name=d[2],
|
||||||
|
authorId=d[3])
|
||||||
|
author.save()
|
||||||
|
Level(author=author,
|
||||||
|
title=d[1],
|
||||||
|
levelId=d[0],
|
||||||
|
plays=d[4],
|
||||||
|
completions=d[5],
|
||||||
|
rating=d[6],
|
||||||
|
target=d[7],
|
||||||
|
darts=d[8],
|
||||||
|
data=d[9]).save()
|
||||||
|
bar.update(1)
|
||||||
|
|
||||||
1
app/reload.bat
Normal file
@ -0,0 +1 @@
|
|||||||
|
python manage.py makemigrations&&python manage.py migrate&&python manage.py runserver 80
|
||||||
1
app/requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
django
|
||||||
0
app/settings/__init__.py
Normal file
16
app/settings/asgi.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
"""
|
||||||
|
ASGI config for settings project.
|
||||||
|
|
||||||
|
It exposes the ASGI callable as a module-level variable named ``application``.
|
||||||
|
|
||||||
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/3.2/howto/deployment/asgi/
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.asgi import get_asgi_application
|
||||||
|
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.settings')
|
||||||
|
|
||||||
|
application = get_asgi_application()
|
||||||
129
app/settings/settings.py
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
"""
|
||||||
|
Django settings for settings project.
|
||||||
|
|
||||||
|
Generated by 'django-admin startproject' using Django 3.2.6.
|
||||||
|
|
||||||
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/3.2/topics/settings/
|
||||||
|
|
||||||
|
For the full list of settings and their values, see
|
||||||
|
https://docs.djangoproject.com/en/3.2/ref/settings/
|
||||||
|
"""
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||||
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
|
|
||||||
|
|
||||||
|
# Quick-start development settings - unsuitable for production
|
||||||
|
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
|
||||||
|
|
||||||
|
# SECURITY WARNING: keep the secret key used in production secret!
|
||||||
|
SECRET_KEY = 'django-insecure-)e!wy4)=xinnd!d(iuw6*-tf^-)ptiwnttwf+9ql%*jy63wtd8'
|
||||||
|
|
||||||
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
|
DEBUG = True
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = []
|
||||||
|
|
||||||
|
|
||||||
|
# Application definition
|
||||||
|
|
||||||
|
INSTALLED_APPS = [
|
||||||
|
'django.contrib.admin',
|
||||||
|
'django.contrib.auth',
|
||||||
|
'django.contrib.contenttypes',
|
||||||
|
'django.contrib.sessions',
|
||||||
|
'django.contrib.messages',
|
||||||
|
'django.contrib.staticfiles',
|
||||||
|
|
||||||
|
# Walter
|
||||||
|
"game",
|
||||||
|
"api",
|
||||||
|
]
|
||||||
|
|
||||||
|
MIDDLEWARE = [
|
||||||
|
'django.middleware.security.SecurityMiddleware',
|
||||||
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
|
'django.middleware.common.CommonMiddleware',
|
||||||
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
]
|
||||||
|
|
||||||
|
ROOT_URLCONF = 'settings.urls'
|
||||||
|
|
||||||
|
TEMPLATES = [
|
||||||
|
{
|
||||||
|
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||||
|
'DIRS': [],
|
||||||
|
'APP_DIRS': True,
|
||||||
|
'OPTIONS': {
|
||||||
|
'context_processors': [
|
||||||
|
'django.template.context_processors.debug',
|
||||||
|
'django.template.context_processors.request',
|
||||||
|
'django.contrib.auth.context_processors.auth',
|
||||||
|
'django.contrib.messages.context_processors.messages',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
WSGI_APPLICATION = 'settings.wsgi.application'
|
||||||
|
|
||||||
|
|
||||||
|
# Database
|
||||||
|
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': BASE_DIR / 'db.sqlite3',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Password validation
|
||||||
|
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
|
||||||
|
|
||||||
|
AUTH_PASSWORD_VALIDATORS = [
|
||||||
|
{
|
||||||
|
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# Internationalization
|
||||||
|
# https://docs.djangoproject.com/en/3.2/topics/i18n/
|
||||||
|
|
||||||
|
LANGUAGE_CODE = 'en-us'
|
||||||
|
|
||||||
|
TIME_ZONE = 'UTC'
|
||||||
|
|
||||||
|
USE_I18N = True
|
||||||
|
|
||||||
|
USE_L10N = True
|
||||||
|
|
||||||
|
USE_TZ = True
|
||||||
|
|
||||||
|
|
||||||
|
# Static files (CSS, JavaScript, Images)
|
||||||
|
# https://docs.djangoproject.com/en/3.2/howto/static-files/
|
||||||
|
|
||||||
|
STATIC_URL = '/static/'
|
||||||
|
|
||||||
|
# Default primary key field type
|
||||||
|
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
|
||||||
|
|
||||||
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||||
23
app/settings/urls.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
"""settings URL Configuration
|
||||||
|
|
||||||
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||||
|
https://docs.djangoproject.com/en/3.2/topics/http/urls/
|
||||||
|
Examples:
|
||||||
|
Function views
|
||||||
|
1. Add an import: from my_app import views
|
||||||
|
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
||||||
|
Class-based views
|
||||||
|
1. Add an import: from other_app.views import Home
|
||||||
|
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
||||||
|
Including another URLconf
|
||||||
|
1. Import the include() function: from django.urls import include, path
|
||||||
|
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
||||||
|
"""
|
||||||
|
from django.contrib import admin
|
||||||
|
from django.urls import path, include
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path('admin/', admin.site.urls),
|
||||||
|
path("web_service/", include("api.urls")),
|
||||||
|
path("", include("game.urls")),
|
||||||
|
]
|
||||||
16
app/settings/wsgi.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
"""
|
||||||
|
WSGI config for settings project.
|
||||||
|
|
||||||
|
It exposes the WSGI callable as a module-level variable named ``application``.
|
||||||
|
|
||||||
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.wsgi import get_wsgi_application
|
||||||
|
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.settings')
|
||||||
|
|
||||||
|
application = get_wsgi_application()
|
||||||