Понедельник, 06.05.2024, 10:49
Приветствую Вас Гость | RSS

 
 

Анти случайный математический сайт: всё Бесплатно 18+ kenokeno.ucoz.ru

Anti chaotically math site all FREE against losses против проигрышей 18+

 
Карта мира Пирамида Жизни Визуальная математика Всеобуч CoronaVirus

карта статистики посетителей & исследования и конкурсы бесплатные & ВКонтакте & Математический Блог & КеноКено & КЕНО ЮТЮБ KENO mini YOUTUBE

БЕЗ рекламы БЕЗ партнёрских БЕЗ рефералов NO advertising NO partners NO referrals pas de publicite pas de partenaires pas de references

Ссылки внутри страниц открываются в новой вкладке Links inside pages open in a new tab of browser

КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE КЕНО ЮТЮБ KENO mini YOUTUBE

Просвещение России содержит гигантский пробел:
интегралы в любом виде в младшей школе не изучаются

даже словами отличными от слова "интеграл": "сбор"
в то время как интеграл в жизни ежесекундно: и одежда
и продукты и выбор в магазине и транспортная задача

ведь понимая интегральную суть человек сравнивает
без расчётов в уме и делает оптимальный выбор

ключевые 27

свои чужие другие
актив пассив экономия
лидер ведомый жертва
жизнь машина язык
цель время контроль
услуга товар качество
экспорт эксплуатация технология
интеграл логарифм производная
элита антиэлита приоритет

 

keywords 27

ours aliens others
active passive saving
leader slave victim
life machine language
target time control
service goods quality
export exploitation technology
integral logarithm derivative
elite antielite priority

 

 

Россия видит мир из будущего

Russia looks world from future

Rossiya vidit mir iz buduschego

IQ бесплатно Яндекс.Метрика

всегда пишу только про себя и никогда никому ничего не рекомендую

i always write only about myself and anything to anyone never recommend

мен әрқашан тек өзіме жазамын және ешқашан ешкімге ештеңе ұсынбаймын

завжди пишу тільки про себе і ніколи нікому нічого не рекомендую

web.archive.org/web/20230602154543///kenokeno.ucoz.ru/publ/

ich schreibe immer nur über mich selbst und empfehle niemandem etwas

j'écris toujours seulement sur moi-même et je ne recommande

mi ĉiam skribas nur pri mi mem kaj neniam rekomendas ion al iu

siempre escribo solo para mí y nunca recomiendo nada a nadie

web.archive.org/web/20230602152617///kenokeno.ucoz.ru/load/

 

Главная | Регистрация | Вход

 
Главная » 2022 » Октябрь » 14 » Xonix и МЫ
12:16
Xonix и МЫ

Xonix и МЫ

en.wikipedia.org/wiki/Xonix

ru.wikipedia.org/wiki/Xonix

qb64phoenix.com/forum/showthread.php?tid=519

 

Графика и языки и МЫ kenokeno.ucoz.ru/blog/graphic/2022-10-18-91

Универсальная программа и МЫ kenokeno.ucoz.ru/blog/universal/2022-10-25-93

Интегральное просвещение kenokeno.ucoz.ru/publ/intpro/1-1-0-20

Многие программы kenokeno.ucoz.ru/publ/prog/1-1-0-11

 

XONIX c#

Совместив графические разработки Кот и Xonix Ксоникс
programmersforum.ru/showthread.php?p=1856161#post1856161

используя массивы и случайные параметры и координаты
где цвета пока буквами хотя возможен принцип RGB
получается классная визуализация
и думаю столкновения через 2 цикла сделать легко

using System; using System.Drawing; // xonixmult.cs
using System.Windows.Forms; class xonix: Form

{ public static void Main()
  { Application.Run(new xonix());}
    public xonix()

{ Text = "XONIX"; Width = w; Height = h;
BackColor = System.Drawing.Color.Blue;
ForeColor = System.Drawing.Color.Magenta;
}

public int w=550, h=330;
protected override void OnPaint(PaintEventArgs and)

{ Graphics dav = and.Graphics; int n=13, a=w-40, b=h-40;
Random rand = new Random(); int[] f = new int[n];
int[] x = new int[n]; int[] y = new int[n];
int[] dx = new int[n]; int[] dy = new int[n];
int[] c = new int[n];

for (int i=1; i<n; i++)
{ f[i] = (2+rand.Next(3))*5; c[i] = 1+rand.Next(3); 
x[i] = rand.Next(a); y[i] = rand.Next(b);
dx[i] = rand.Next(5)-2; dy[i] = rand.Next(5)-3;
}

for (int k=1; k <300; k++)
for (int i=1; i<n; i++)

{ dav.DrawEllipse(new Pen(Color.Green,12), x[i]-dx[i],y[i]-dy[i],f[i],f[i]);
 
if (1==c[i]) dav.DrawEllipse(new Pen(Color.Magenta, 12),x[i],y[i],f[i],f[i]);
if (2==c[i]) dav.DrawEllipse(new Pen(Color.Yellow, 12),x[i],y[i],f[i],f[i]);
if (3==c[i]) dav.DrawEllipse(new Pen(Color.Red, 12),x[i],y[i],f[i],f[i]);

System.Threading.Thread.Sleep(1);

if ((x[i] + dx[i] < 1) || (x[i] + dx[i] > a)) dx[i] = -dx[i];
if ((y[i] + dy[i] < 1) || (y[i] + dy[i] > b)) dy[i] = -dy[i];
x[i] += dx[i]; y[i] += dy[i];
}}}

// dav.DrawEllipse(new Pen(Color.FromArgb(0,0,255,0),12), x[i]-dx[i],y[i]-dy[i],f[i],f[i]);

 

 

Компилирует c# bat

csc.exe /target:winexe xontime.cs
pause
xontime.exe

Удобно задать в Windows общую переменную
Path
C:\Windows\Microsoft.NET\Framework64\v4.0.30319

 

Xonix C# через таймер не тормозящий

using System; using System.Drawing; // xontime.cs
using System.Windows.Forms;

class xtmclass
   {  Form xtmform; Timer xtmtime;
      Pen pmag = new Pen(Color.Magenta, 9);
      Pen pgre = new Pen(Color.Green, 7); int w=400;
      Pen pblu = new Pen(Color.Blue, 13); int h=200;
      SolidBrush RedBrush = new SolidBrush(Color.Red);
      int d=1,x=100,y=50,f=22, a,b,dx,dy;

static void Main() { var xtm = new xtmclass(); }

public xtmclass()
   { xtmform = new Form()
       { Text = "xtm", Width = w, Height = h,
         BackColor = System.Drawing.Color.Blue,
         ForeColor = System.Drawing.Color.Red
       };

     xtmtime = new Timer() { Interval = 5 };

{ a=w-20; b=h-40; Random rand = new Random();
f = (2+rand.Next(3))*5; y = rand.Next(b);
dx = rand.Next(5)-7; dy = rand.Next(5)-8;
d = rand.Next(4)+1; x = rand.Next(a);

     xtmtime.Tick += delegate(object sender, EventArgs e)

{ Bitmap xtmbmap = new Bitmap(w,h);

     Graphics img = Graphics.FromImage(xtmbmap);
     Graphics han = Graphics.FromHwnd(xtmform.Handle);

    SolidBrush GreenBr = new SolidBrush(Color.Green);
    SolidBrush GoldBr = new SolidBrush(Color.Gold);

img.DrawEllipse(pgre, x-dx,y-dy, f,f);
han.DrawImage(xtmbmap, new Point(0,0));

img.DrawEllipse(pmag, x,y, f,f);
han.DrawImage(xtmbmap, new Point(0,0));

if ((x + dx < 1) || (x + dx > a)) dx = -dx;
if ((y + dy < 1) || (y + dy > b)) dy = -dy;
x += dx; y += dy;

};
     xtmtime.Start();
     Application.Run(xtmform);

}  }
}

 

quickbasic qbasic qb64

Randomize Timer: b = Int(Rnd*15+5): a = Int(Rnd*15+5): ' xonix.bas
y = Int(Rnd*(b-3)+3): x = Int(Rnd*(a-3)+3): d=Int(Rnd*4+1)
'y = 5: x = 5: b = 10: a = 20: d=1 ' xonix.bas

For i = 1 To a: Print "#";: Next: Print ' area
For j = 1 To b-2: Print "#";: For k = 1 To a-2: Print ".";: Next: Print "#": Next
For i = 1 To a: Print "#";: Next

For q = 1 To 1000: _Delay .03: Locate y, x: Print " "

    If d=1 Then If (y-1 = 1) And (x+1 = a) Then d=3
    If d=1 Then If (y-1 > 1) And (x+1 = a) Then d=4
    If d=1 Then If (y-1 = 1) And (x+1 < a) Then d=2
    If d=1 Then y = y-1: x = x+1

    If d=2 Then If (y+1 = b) And (x+1 = a) Then d=4
    If d=2 Then If (y+1 < b) And (x+1 = a) Then d=3
    If d=2 Then If (y+1 = b) And (x+1 < a) Then d=1
    If d=2 Then y = y+1: x = x+1

    If d=3 Then If (y+1 = b) And (x-1 = 1) Then d=1
    If d=3 Then If (y+1 < b) And (x-1 = 1) Then d=2
    If d=3 Then If (y+1 = b) And (x-1 > 1) Then d=4
    If d=3 Then y = y+1: x = x-1

    If d=4 Then If (y-1 = 1) And (x-1 = 1) Then d=2
    If d=4 Then If (y-1 > 1) And (x-1 = 1) Then d=1
    If d=4 Then If (y-1 = 1) And (x-1 > 1) Then d=3
    If d=4 Then y = y-1: x = x-1

    Locate y, x: Print "@"
Next

Единомышленник:

m = 3: n = 2: _Font 17 ' xonB.bas
restart:
_Title Str$(m) + " x" + Str$(n): Cls
x = 1: y = 1: dx = 1: dy = 1: c = 0
move:
Locate y, x: Print ".";
If x + dx < 1 Or x + dx > m Then dx = -dx
x = x + dx
If y + dy < 1 Or y + dy > n Then dy = -dy
y = y + dy
Locate y, x: Print "X";
_Limit 30
c = c + 1
If c > (m * n) Then
    toggle = 1 - toggle
    If toggle Then n = n + 2 Else m = m + 2
    GoTo restart
Else
    GoTo move
End If

 

Летающие цветные квадраты оставляют след qb64


m = 17: n = 11: _Font 17 ' xonixqb.bas
restart:
_Title Str$(m)+" x"+Str$(n): Cls
x = 1+Int(Rnd*m): y = 1+Int(Rnd*n)
dx = 1: dy = 1: c = 0

move:
Locate y+1, x+1: Print Chr$(219);
If x+dx < 1 Or x+dx > m Then dx = -dx
If y+dy < 1 Or y+dy > n Then dy = -dy
x = x+dx: y = y+dy

Color 0, Rnd*15
Locate y+1, x+1: Print "X";
Color Rnd*15, 0
_Limit 30: c = c+1

If c > (m*n)/2 Then
    toggle = 1-toggle
    If toggle Then n = n+2 Else m = m+2
    _Delay 1
    GoTo restart
Else
    GoTo move
End If

 

 

Фигуры сталкиваются qb64


Randomize Timer: b = Int(Rnd * 10 + 15): a = Int(Rnd * 10 + 15): ' xonixHUNTER.bas
N = 5: Dim d(N), y(N), x(N), q$(N), c(N): _Font 17
q$(1) = "@": q$(2) = "#": q$(3) = "%": q$(4) = "$": q$(5) = "*"

For i = 1 To N
    y(i) = Int(Rnd * (b - 3) + 3): x(i) = Int(Rnd * (a - 3) + 3): d = Int(Rnd * 4 + 1)
    d(i) = Int(Rnd * 4) + 1: c(i) = Int(Rnd * 5 + 1)
Next 'y(i)=5: x(i)=5: b=10: a=20: d=1 ' xonix.bas DANILIN

For i = 1 To a: Print "#";: Next: Print ' area
For j = 1 To b - 2: Print "#";: For k = 1 To a - 2: Print ".";: Next: Print "#": Next
For i = 1 To a: Print "#";: Next: p = Int(Rnd * (b - 3) + 3): s = Int(Rnd * (a - 3) + 3)

For q = 1 To 1000: _Delay .16:

    For i = 1 To N: Locate y(i), x(i): Print " "

If d(i) = 1 Then If (y(i) - 1 = 1) And (x(i) + 1 = a) Then d(i) = 3
If d(i) = 1 Then If (y(i) - 1 > 1) And (x(i) + 1 = a) Then d(i) = 4
If d(i) = 1 Then If (y(i) - 1 = 1) And (x(i) + 1 < a) Then d(i) = 2
If d(i) = 1 Then y(i) = y(i) - 1: x(i) = x(i) + 1

If d(i) = 2 Then If (y(i) + 1 = b) And (x(i) + 1 = a) Then d(i) = 4
If d(i) = 2 Then If (y(i) + 1 < b) And (x(i) + 1 = a) Then d(i) = 3
If d(i) = 2 Then If (y(i) + 1 = b) And (x(i) + 1 < a) Then d(i) = 1
If d(i) = 2 Then y(i) = y(i) + 1: x(i) = x(i) + 1

If d(i) = 3 Then If (y(i) + 1 = b) And (x(i) - 1 = 1) Then d(i) = 1
If d(i) = 3 Then If (y(i) + 1 < b) And (x(i) - 1 = 1) Then d(i) = 2
If d(i) = 3 Then If (y(i) + 1 = b) And (x(i) - 1 > 1) Then d(i) = 4
If d(i) = 3 Then y(i) = y(i) + 1: x(i) = x(i) - 1

If d(i) = 4 Then If (y(i) - 1 = 1) And (x(i) - 1 = 1) Then d(i) = 2
If d(i) = 4 Then If (y(i) - 1 > 1) And (x(i) - 1 = 1) Then d(i) = 1
If d(i) = 4 Then If (y(i) - 1 = 1) And (x(i) - 1 > 1) Then d(i) = 3
If d(i) = 4 Then y(i) = y(i) - 1: x(i) = x(i) - 1

For k = 1 To N - 1: For m = k + 1 To N
If y(k) = y(m) And x(k) = x(m) Then c(k) = Int(Rnd*5+1): c(m) = Int(Rnd*5+1)
Next: Next

        Locate p, s: Print " ": For r = 1 To N
            If p < y(r) Then p = p + 1
            If p > y(r) Then p = p - 1
            If s < x(r) Then s = s + 1
            If s > x(r) Then s = s - 1
        Next: Locate p, s: Color 2 + q Mod 3: Print "#":

    Locate y(i), x(i): Color c(i): Print q$(i): Next
Next

 

Противник притягивается qb64

Randomize Timer: b=15: a=45: _Font 17 'b=Int(Rnd*15+10): a=Int(Rnd*25+10)
y=Int(Rnd*(b-2)+3): x=Int(Rnd*(a-2)+3): d=Int(Rnd*4+1) ' xonixPRO.bas
'y=5: x=5: b=10: a=20: d=1 : ' xonixPRO.bas

For i=1 To a: Print "#";: Next: Print ' area
For j=1 To b-2: Print "#";: For k=1 To a-2: Print " ";: Next: Print "#": Next
For i=1 To a: Print "#";: Next: p=5: s=5

For q=0 To 1000: _Delay .1:

    If q Mod 30=0 Then
        Locate p, s: Print " ":
        p=Int(Rnd*(b-3)+3): s=Int(Rnd*(a-3)+3)
    End If

    Locate p, s: Print " ": Locate y, x: Print " ":

    If d=1 Then If (y-1=1) And (x+1=a) Then d=3
    If d=1 Then If (y-1>1) And (x+1=a) Then d=4
    If d=1 Then If (y-1=1) And (x+1<a) Then d=2
    If d=1 Then y=y-1: x=x+1

    If d=2 Then If (y+1=b) And (x+1=a) Then d=4
    If d=2 Then If (y+1<b) And (x+1=a) Then d=3
    If d=2 Then If (y+1=b) And (x+1<a) Then d=1
    If d=2 Then y=y+1: x=x+1

    If d=3 Then If (y+1=b) And (x-1=1) Then d=1
    If d=3 Then If (y+1<b) And (x-1=1) Then d=2
    If d=3 Then If (y+1=b) And (x-1>1) Then d=4
    If d=3 Then y=y+1: x=x-1

    If d=4 Then If (y-1=1) And (x-1=1) Then d=2
    If d=4 Then If (y-1>1) And (x-1=1) Then d=1
    If d=4 Then If (y-1=1) And (x-1>1) Then d=3
    If d=4 Then y=y-1: x=x-1

    If p<y Then p=p+1.2'0.5
    If p>y Then p=p-1.2'0.5
    If s<x Then s=s+1.2'0.5
    If s>x Then s=s-1.2'0.5

    Locate p, s: Color 2+q Mod 3: Print "#":
    Locate y, x: Color 7: Print "@"
Next

 

Бонус: стратегия крестики-нолики

  

 

 

Xonix C# неоптимальный

Среда программирования компилирует как есть
зато быстрее найти каталог
C:\Windows\Microsoft.NET\Framework64\v4.0.30319

и там вместе с xonix.cs создать xonix.bat
csc.exe /target:winexe xonix.cs
pause

Ксоникс меняет всё что случайно

using System; using System.Drawing; // xonix.cs
using System.Windows.Forms; class xonix: Form

{ public static void Main()
  { Application.Run(new xonix());}
    public xonix()

  { Text = "XONIX"; int w=400, h=300;
  BackColor = System.Drawing.Color.Blue;
  ForeColor = System.Drawing.Color.Magenta;
  ResizeRedraw = false; Width = w; Height = h;
  }
protected override void OnPaint(PaintEventArgs and)

{ for (int j=1; j<=3; j++)
{ Graphics dav = and.Graphics; int d,x,y,f, a=380, b=260;
Random rand = new Random(); f = (2+rand.Next(3))*5;
d = rand.Next(4)+1; x = rand.Next(a); y = rand.Next(b);

for (int k = 1; k <=1200; k++)
{ dav.DrawEllipse(new Pen(Color.Magenta, 12),x,y,f,f);
System.Threading.Thread.Sleep(5);
dav.DrawEllipse(new Pen(Color.Blue, 12), x,y, f,f);

    if ((d==1) && (y == 2) && (x+1 == a)) d=3;
    if ((d==1) && (y == 2) && (x+1 < a)) d=2;
    if ((d==1) && (y>0) && (x+1 == a)) d=4;
    if (d==1) { y--; x++; }

    if ((d==2) && (y+1 == b) && (x+1 == a)) d=4;
    if ((d==2) && (y+1 < b) && (x+1 == a)) d=3;
    if ((d==2) && (y+1 == b) && (x+1 < a)) d=1;
    if (d==2) { y++; x++; }

    if ((d==3) && (y+1 == b) && (x == 2)) d=1;
    if ((d==3) && (y+1 < b) && (x == 2)) d=2;
    if ((d==3) && (y+1 == b) && (x>2)) d=4;
    if (d==3) { y++; x--; }

    if ((d==4) && (y == 2) && (x == 2)) d=2;
    if ((d==4) && (y>2) && (x == 0)) d=1;
    if ((d==4) && (y == 2) && (x>0)) d=3;
    if (d==4) { y--; x--; }
}}}}


Главная анимация: рисуется шар
и пауза и рисуется шар под цвет фона

Есть наработки qb64 где летают разные шары
сделано через массив и есть контроль столкновений
особенно если настроить шаг как знакоместо

 

 

Просмотров: 119 | Добавил: DANILIN | Рейтинг: 0.0/0
Всего комментариев: 0

Форма входа

Поиск

Календарь

«  Октябрь 2022  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0
Карта мира

Данный сайт средством массовой информации не является.
Данный сайт: личный дневник, созданный в развлекательных целях.
Данный сайт азартные игры не пропагандирует и не организует.
Данный сайт ставки не принимает и выигрыши не выплачивает.
Данный сайт никакие платные услуги не предоставляет.

Сайт и автор за упущенную выгоду ответственность не несёт.
Сайт и автор за возможные убытки ответственность не несёт.

Файлы имеют цель: приоритет открытий, изобретений, формул и творчества
и тексты выражают субъективные оценочные суждения без упоминания имён.

На сайте никакие иностранные агенты не упоминаются.

Все тексты юридической силы не имеют и служить доказательством в суде не могут.
Все формулы возможно вывести самостоятельно и ответ автора сайта не нужен.
18+ web.archive.org/web/20230602152617///kenokeno.ucoz.ru/load/?page2

This site is not a media outlet.
This site: personal diary created for entertainment purposes.
This site promote does not and gambling not organize.
This site bets does not accept and winnings does not pay out.
This site any paid does services not provide.

Site and author for lost profits are not responsible.
Site and author for possible losses are not responsible.

Files have a target: priority of discoveries, inventions, formulas, and creativity
and texts express subjective value judgments without mentioning any names.

On this site none foreign agents don't mentioned.

All texts have no legal force and as evidence in court cannot serve.
All formulas can be deduced independently & response of site author is not required.
18+ web.archive.org/web/20230602154543///kenokeno.ucoz.ru/publ/?page2

Бесплатный конструктор сайтов - uCozЯндекс.Метрика